Skip to content

Commit d7eab46

Browse files
'nacos优化'
1 parent 0c087f8 commit d7eab46

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2434
-623
lines changed

naocs-nodejs/config-service.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @Author: Jason chen
55
* @Date: 2021-08-27 10:05:04
66
* @LastEditors: Jason chen
7-
* @LastEditTime: 2021-08-27 14:03:06
7+
* @LastEditTime: 2021-08-27 17:05:22
88
*/
99
// 注册配置,获取配置
1010
const NacosConfigClient = require('nacos').NacosConfigClient;
@@ -27,14 +27,14 @@ const configClient = new NacosConfigClient({
2727
const content1 = await configClient.getConfig(dataId, group);
2828
console.log('[Nacos] 获取配置: ', content1);
2929

30-
})()
30+
})();
3131

3232
// 监听远程nacos配置变化
3333
configClient.subscribe({
3434
dataId: dataId,
3535
group: group,
3636
}, content => {
37-
console.log('[Nacos] 配置发生改变:', content);
37+
console.log('[Nacos] 监听远程nacos配置:', content);
3838
});
3939

4040
// 发布配置

naocs-nodejs/service-discovery.js

+16-9
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @Author: Jason chen
55
* @Date: 2021-08-27 11:22:32
66
* @LastEditors: Jason chen
7-
* @LastEditTime: 2021-08-27 14:09:32
7+
* @LastEditTime: 2021-08-31 14:05:56
88
*/
99
// 注册服务到Nacos服务器
1010
const {
@@ -32,31 +32,38 @@ const client = new NacosNamingClient({
3232
serverList: nacosServerAddress,
3333
namespace: providerNamespase,
3434
});
35-
console.log('[Nacos] 注册Nacos服务',);
35+
3636
(async () => {
37-
const allinstance = await client.getAllInstances()
38-
console.log('[Nacos]----allinstance----', allinstance)
39-
});
37+
const allInstances = await client.getAllInstances()
38+
console.log('[Nacos]----allInstances----', allInstances)
39+
})();
40+
4041
(async () => {
4142
try {
4243
await client.ready();
4344
// 注册服务和实例
4445
await client.registerInstance(providerServiceName, {
4546
ip: ipAddr,
46-
port
47+
port,
48+
metadata: {
49+
a: 1
50+
}
4751
});
4852
// 这里也可以传入group,不传默认就是 DEFAULT_GROUP
4953
// const groupName = 'nodejs';
5054
// await client.registerInstance(providerServiceName, {
5155
// ip: ipAddr,
5256
// port
5357
// }, groupName);
54-
console.log(`[Nacos] Nacos服务注册成功: ${ipAddr}:${port}`);
58+
console.log(`[Nacos] Nacos服务实例注册成功: ${ipAddr}:${port}`);
5559
} catch (err) {
56-
console.log('[Nacos] Nacos服务注册失败: ' + err.toString());
60+
console.log('[Nacos] Nacos服务实例注册失败: ' + err.toString());
5761
}
5862
})();
59-
63+
// 监听远程nacos配置变化
64+
client.subscribe(providerServiceName, content => {
65+
console.log('[Nacos] 监听远程nacos配置:', content);
66+
});
6067
// (async () => {
6168
// try {
6269
// await client.close();

vue-app1/output/app1.js

+3-254
Large diffs are not rendered by default.

vue-app1/output/bundle.js

+6-254
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vue-app1/output/src_language_index_js.bundle.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2525
\*******************************/
2626
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2727

28-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"i18n\": () => (/* binding */ i18n),\n/* harmony export */ \"zh\": () => (/* reexport safe */ _zh_index__WEBPACK_IMPORTED_MODULE_2__.default),\n/* harmony export */ \"en\": () => (/* reexport safe */ _en_index__WEBPACK_IMPORTED_MODULE_3__.default)\n/* harmony export */ });\n/* harmony import */ var vue_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-i18n */ \"webpack/sharing/consume/default/vue-i18n/vue-i18n\");\n/* harmony import */ var vue_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_i18n__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"webpack/sharing/consume/default/vue/vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _zh_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./zh/index */ \"./src/language/zh/index.js\");\n/* harmony import */ var _en_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./en/index */ \"./src/language/en/index.js\");\n/*\r\n * @Descripttion: \r\n * @version: \r\n * @Author: Jason chen\r\n * @Date: 2021-08-24 09:48:29\r\n * @LastEditors: Jason chen\r\n * @LastEditTime: 2021-08-24 10:22:58\r\n */\r\n\r\n\r\nvue__WEBPACK_IMPORTED_MODULE_1___default().use((vue_i18n__WEBPACK_IMPORTED_MODULE_0___default()))\r\n;\r\n\r\nconst i18n = new (vue_i18n__WEBPACK_IMPORTED_MODULE_0___default())({\r\n locale: 'zh',\r\n messages: {\r\n zh: _zh_index__WEBPACK_IMPORTED_MODULE_2__.default,\r\n en: _en_index__WEBPACK_IMPORTED_MODULE_3__.default\r\n }\r\n})\r\n\n\n//# sourceURL=webpack://vue-app1/./src/language/index.js?");
28+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"i18n\": () => (/* binding */ i18n),\n/* harmony export */ \"zh\": () => (/* reexport safe */ _zh_index__WEBPACK_IMPORTED_MODULE_2__.default),\n/* harmony export */ \"en\": () => (/* reexport safe */ _en_index__WEBPACK_IMPORTED_MODULE_3__.default)\n/* harmony export */ });\n/* harmony import */ var vue_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-i18n */ \"./node_modules/vue-i18n/dist/vue-i18n.esm.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _zh_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./zh/index */ \"./src/language/zh/index.js\");\n/* harmony import */ var _en_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./en/index */ \"./src/language/en/index.js\");\n/*\r\n * @Descripttion: \r\n * @version: \r\n * @Author: Jason chen\r\n * @Date: 2021-08-24 09:48:29\r\n * @LastEditors: Jason chen\r\n * @LastEditTime: 2021-08-24 10:22:58\r\n */\r\n\r\n\r\nvue__WEBPACK_IMPORTED_MODULE_0__.default.use(vue_i18n__WEBPACK_IMPORTED_MODULE_1__.default)\r\n;\r\n\r\nconst i18n = new vue_i18n__WEBPACK_IMPORTED_MODULE_1__.default({\r\n locale: 'zh',\r\n messages: {\r\n zh: _zh_index__WEBPACK_IMPORTED_MODULE_2__.default,\r\n en: _en_index__WEBPACK_IMPORTED_MODULE_3__.default\r\n }\r\n})\r\n\n\n//# sourceURL=webpack://vue-app1/./src/language/index.js?");
2929

3030
/***/ }),
3131

vue-app1/output/src_untils_cloneDeep_js.bundle.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
\*********************************/
1616
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1717

18-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"webpack/sharing/consume/default/lodash/lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: Jason chen\r\n * @Date: 2021-08-25 14:45:13\r\n * @LastEditors: Jason chen\r\n * @LastEditTime: 2021-08-25 14:50:54\r\n */\r\n\r\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a) {\r\n return lodash__WEBPACK_IMPORTED_MODULE_0___default().cloneDeep(a)\r\n}\n\n//# sourceURL=webpack://vue-app1/./src/untils/cloneDeep.js?");
18+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: Jason chen\r\n * @Date: 2021-08-25 14:45:13\r\n * @LastEditors: Jason chen\r\n * @LastEditTime: 2021-08-25 14:50:54\r\n */\r\n\r\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a) {\r\n return lodash__WEBPACK_IMPORTED_MODULE_0___default().cloneDeep(a)\r\n}\n\n//# sourceURL=webpack://vue-app1/./src/untils/cloneDeep.js?");
1919

2020
/***/ })
2121

vue-app1/output/vendors-node_modules_lodash_lodash_js.bundle.js

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vue-app1/output/vendors-node_modules_vue-i18n_dist_vue-i18n_esm_js-node_modules_vue_dist_vue_runtime_esm_js.bundle.js

+32
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vue-app1/web-serve/app.js

+56-1
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,29 @@
44
* @Author: Jason chen
55
* @Date: 2021-08-20 15:31:00
66
* @LastEditors: Jason chen
7-
* @LastEditTime: 2021-08-25 10:17:18
7+
* @LastEditTime: 2021-08-31 16:02:03
88
*/
99
const express = require('express');
1010
const proxy = require('http-proxy-middleware');
1111
// webpack打包好gzip文件
1212
const expressStaticGzip = require('express-static-gzip');
1313
const app = express();
1414

15+
// nacos相关
16+
const { NacosNamingClient, } = require('nacos');
17+
const { address } = require('ip');
18+
// 动态获取本机 IP 地址
19+
const ipAddr = address();
20+
// 我们当前app1应用的端口号
21+
const port = 9900
22+
const logger = console
23+
// 服务名称,后面消费方调用的时候通过这个服务名进行服务查询。
24+
const providerServiceName = 'edsp-component-app1';
25+
// nacos服务地址
26+
const nacosServerAddress = '10.22.5.14:32572';
27+
// namespace: 命名空间必须在服务器上存在
28+
const providerNamespase = 'edsp-domain';
29+
1530
app.use(
1631
expressStaticGzip('../', {
1732
maxAge: '3d',
@@ -34,3 +49,43 @@ app.listen(9900, (req, res) => {
3449
console.log('启动成功:', 'localhost:9900');
3550
});
3651

52+
// 注册服务到Nacos服务器
53+
const client = new NacosNamingClient({
54+
logger,
55+
serverList: nacosServerAddress,
56+
namespace: providerNamespase,
57+
});
58+
59+
60+
(async () => {
61+
try {
62+
await client.ready();
63+
// 注册服务和实例
64+
await client.registerInstance(providerServiceName, {
65+
ip: ipAddr,
66+
port,
67+
metadata: {
68+
componentName: 'vue-app1',
69+
address: `${ipAddr}:${port}/app1.js`
70+
}
71+
});
72+
// 这里也可以传入group,不传默认就是 DEFAULT_GROUP
73+
// const groupName = 'nodejs';
74+
// await client.registerInstance(providerServiceName, {
75+
// ip: ipAddr,
76+
// port
77+
// }, groupName);
78+
console.log(`[Nacos] Nacos服务实例注册成功: ${ipAddr}:${port}`);
79+
} catch (err) {
80+
console.log('[Nacos] Nacos服务实例注册失败: ' + err.toString());
81+
}
82+
})();
83+
(async () => {
84+
const allinstance = await client.getAllInstances()
85+
console.log('[Nacos]----所有实例----', allinstance)
86+
});
87+
88+
// 监听远程nacos配置变化
89+
client.subscribe({ serviceName: providerServiceName }, content => {
90+
console.log('[Nacos] 监听远程nacos配置:', content);
91+
});

vue-app1/web-serve/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"compression": "^1.7.4",
1313
"express": "^4.17.1",
1414
"express-static-gzip": "^2.1.1",
15-
"http-proxy-middleware": "^2.0.1"
15+
"http-proxy-middleware": "^2.0.1",
16+
"nacos": "^2.1.1"
1617
}
1718
}

0 commit comments

Comments
 (0)