Closed xiulunlin closed 5 years ago
1、按照demo创建两个进程,一个RpcServer使用12200端口,另一个使用12201端口
'use strict'; const { RpcServer } = require('sofa-rpc-node').server; const { ZookeeperRegistry } = require('sofa-rpc-node').registry; const logger = console; // 1. 创建 zk 注册中心客户端 const registry = new ZookeeperRegistry({ logger, address: '127.0.0.1:2181', // 需要本地启动一个 zkServer }); // 2. 创建 RPC Server 实例 const server = new RpcServer({ logger, registry, // 传入注册中心客户端 port: 12200, // 另一个使用12201 }); // 3. 添加服务 server.addService({ interfaceName: 'com.nodejs.test.TestService', }, { async plus(a, b) { console.log(arguments) return a + b; }, }); // 4. 启动 Server 并发布服务 server.start() .then(() => { server.publish(); });
2、ZK显示/sofa-rpc/com.nodejs.test.TestService/providers有两个节点
/sofa-rpc/com.nodejs.test.TestService/providers
[bolt%3A%2F%2F10.39.190.174%3A12200%3FstartTime%3D1550489950969%26pid%3D41913%26uniqueId%3D%26dynamic%3Dtrue%26appName%3D%26timeout%3D3000%26serialization%3Dhessian2%26weight%3D100%26accepts%3D100000%26language%3Dnodejs%26rpcVer%3D50400%26protocol%3D%26interface%3Dcom.nodejs.test.TestService%26version%3D1.0%26group%3DSOFA, bolt%3A%2F%2F10.39.190.174%3A12201%3FstartTime%3D1550489964826%26pid%3D41915%26uniqueId%3D%26dynamic%3Dtrue%26appName%3D%26timeout%3D3000%26serialization%3Dhessian2%26weight%3D100%26accepts%3D100000%26language%3Dnodejs%26rpcVer%3D50400%26protocol%3D%26interface%3Dcom.nodejs.test.TestService%26version%3D1.0%26group%3DSOFA]
2、关闭其中一个进程 3、过一段时间后,ZK显示/sofa-rpc/com.nodejs.test.TestService/providers下为空
[]
期望另一个进程应该继续提供服务才对
这是个 bug,我来修复
1、按照demo创建两个进程,一个RpcServer使用12200端口,另一个使用12201端口
2、ZK显示
/sofa-rpc/com.nodejs.test.TestService/providers
有两个节点2、关闭其中一个进程 3、过一段时间后,ZK显示
/sofa-rpc/com.nodejs.test.TestService/providers
下为空期望另一个进程应该继续提供服务才对