摘要: 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)
摘要: template< typename... Args > std::string string_sprintf(const char* format, Args... args) { int length = std::snprintf(nullptr, 0, format, args...); if (length <= 0) { return ""; } char* buf = new cha 阅读全文
posted @ 2019-10-31 15:42 掉头发的666 阅读(5020) 评论(0) 推荐(0)