摘要:
NodeServer的Node.tar部分功能流程 isValid(sIP) 判断指定的sIP是否有效 一个很重要的函数,1分钟内新增一次有效ip列表(为啥设计成新增而不是更新模式?)。这里可认为是有效的ip有3种: NodeServer当前节点的ip; 配置在/tars/node<cmd_whit 阅读全文
posted @ 2020-01-15 19:27
掉头发的666
阅读(1294)
评论(0)
推荐(0)
摘要:
1、分控的主配置如下: 服务状态更新频率 是在<reap>段 的配置内。 <reap> #加载object间隔时间(s) loadObjectsInterval = 30 #轮询server状态的间隔时间(s) queryInterval = 150 #第一阶段加载时间间隔,单位是秒 loadObj 阅读全文
posted @ 2020-01-15 19:25
掉头发的666
阅读(806)
评论(0)
推荐(0)
摘要:
1、服务状态更新频率 是在<reap>段 的配置内。 <reap> #服务心跳更新时间(s) 此值在代码里有最小保护为5s 配置小于5s时 自动设置成5s updateHeartInterval=15 #主控心跳超时检测时间,单位是秒..代码最小值保护为5s registryTimeout=150 阅读全文
posted @ 2020-01-15 19:24
掉头发的666
阅读(613)
评论(0)
推荐(0)
摘要:
本部分 前接《服务端各种关键类简洁》。 初始化流程: 在Application::main中 给_epollServer绑定完Adapter和setHandle之后,会执行,start全部Handle线程;给每个网络线程单独 createEpoll().. 在createEpoll中会: 1、创建 阅读全文
posted @ 2020-01-15 19:21
掉头发的666
阅读(799)
评论(0)
推荐(0)
摘要:
Servant类。 翻译成中文就是 仆人的意思。顾名思义,是真正干活的类 在我们实际上写tars代码时候,一般先定义好一个tars文件。比如tars源码的cpp/examples/CoroutineDemo/BServer.这个工程来说.有个BServant.tars文件。内容如下 module T 阅读全文
posted @ 2020-01-15 19:14
掉头发的666
阅读(990)
评论(0)
推荐(0)
摘要:
ServantProxy类 很有意思的是,服务端的实现叫Servant,对应客户端连接器的名就叫ServantProxy,顾名思义,是客户端连接的代理. selectNetThreadInfo的实现: 1获取ServantProxyThreadData pSptd; 2如果pSptd还没初始化过,先 阅读全文
posted @ 2020-01-15 18:21
掉头发的666
阅读(520)
评论(0)
推荐(0)
摘要:
这块内容是个关键性流程。 tars调用在调用层,一般只会简单的 PatchPrx proxy = Application::getCommunicator()->stringToProxy<PatchPrx>(_patchRequest.patchobj); proxy->timeout(60000 阅读全文
posted @ 2020-01-15 18:19
掉头发的666
阅读(735)
评论(0)
推荐(0)
摘要:
一般tars客户端使用方式: 我们用客户端进行tars rpc调用时候,一般如下面这样写: 这里只是列举了几种,还有更多的写法。其实都是分成两步: 1由Application::getCommunicator()->stringToProxy(strObjName)得到一个proxyPtr。 2再用 阅读全文
posted @ 2020-01-15 18:14
掉头发的666
阅读(1390)
评论(0)
推荐(0)
摘要:
客户端,服务端概念 每个服务进程,都是有且只有一个Application核心类。这里类继承于BaseNotify。作用可以理解成把所有初始化,消息通知,内部对象管理汇总类 在tars的概念中,有两套网络及实现管理部分。 一部分称之为服务端,实现了 提供功能给别的服务或者pc,web,h5等等各种客户 阅读全文
posted @ 2020-01-15 17:50
掉头发的666
阅读(804)
评论(0)
推荐(0)

浙公网安备 33010602011771号