服务发现配置的使用说明

This commit is contained in:
boyce
2021-04-29 18:10:36 +08:00
parent 6757eedc48
commit ea4f17f22c
4 changed files with 53 additions and 9 deletions

View File

@@ -383,6 +383,23 @@ too slow process:Timer_orginserver/simple_service.(*TestService1).Loop-fm is tak
直接帮助找到TestService1服务中的Loop函数
结点连接和断开事件监听:
---------------
在有些业务中需要关注某结点是否断开连接,可以注册回调如下:
```
func (ts *TestService) OnInit() error{
ts.RegRpcListener(ts)
return nil
}
func (ts *TestService) OnNodeConnected(nodeId int){
}
func (ts *TestService) OnNodeDisconnect(nodeId int){
}
```
第三章Module使用:
---------------
@@ -686,8 +703,35 @@ func (slf *TestService7) GoTest(){
```
您可以把TestService6配置到其他的Node中比如NodeId为2中。只要在一个子网origin引擎可以无差别调用。开发者只需要关注Service关系。同样它也是您服务器架构设计的核心需要思考的部分。
第六章:配置服务发现
---------------
origin引擎默认使用读取所有结点配置的进行确认结点有哪些Service。引擎也支持动态服务发现的方式使用了内置的DiscoveryMaster服务用于中心ServiceDiscoveryClient用于向DiscoveryMaster获取整个origin网络中所有的结点以及服务信息。具体实现细节请查看这两部分的服务实现。具体使用方式在以下cluster配置中加入以下内容
```
{
"DiscoveryNode": [{
"NodeId": 1,
"ListenAddr": "127.0.0.1:8803"
}],
"NodeList": [{
"NodeId": 1,
"ListenAddr": "127.0.0.1:8801",
"NodeName": "Node_Test1",
"Private": false,
"remark": "//以_打头的表示只在本机进程不对整个子网开发",
"ServiceList": ["_TestService1", "TestService9", "TestService10"],
"DiscoveryService": ["TestService8"]
}]
}
```
新上有两新不同的字段分别为DiscoveryNode与DiscoveryService。其中:
第六章HttpService使用
DiscoveryNode中配置了结点Id为1的为服务发现Master他的监听地址ListenAddr为127.0.0.1:8803
DiscoveryService表示将筛选origin网络中的TestService8服务注意如果DiscoveryService不配置则筛选功能不生效。
第七章HttpService使用
---------------
HttpService是origin引擎中系统实现的http服务http接口中常用的GET,POST以及url路由处理。