mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
服务发现配置的使用说明
This commit is contained in:
46
README.md
46
README.md
@@ -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服务用于中心Service,DiscoveryClient用于向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路由处理。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user