随笔分类 -  tars

1
摘要:具体细节后续再补 阅读全文
posted @ 2020-01-15 19:52 掉头发的666 阅读(359) 评论(0) 推荐(0) 编辑
摘要:对于业务服务而言。 业务服务在框架中是被管理角色,它必须满足两点,才能框架被框架认为运行中的服务: 1、可被框架找到,所以要在NodeServer的ServerFactory中必须有正确的ServerObject相关信息,可以通过application+serverName找到对应信息,并且该信息被 阅读全文
posted @ 2020-01-15 19:38 掉头发的666 阅读(263) 评论(0) 推荐(0) 编辑
摘要:后续再补细节 阅读全文
posted @ 2020-01-15 19:37 掉头发的666 阅读(131) 评论(0) 推荐(0) 编辑
摘要:后续有空再补细节 阅读全文
posted @ 2020-01-15 19:36 掉头发的666 阅读(159) 评论(0) 推荐(0) 编辑
摘要:LogServer 日志服务 这个好像没啥可看的。 值得介绍的就是 日志文件会在哪生成。 指定业务服务的日志文件会在 /tars/log<logpath> 配置处。。官方给的模板配置文件中是 /usr/local/app/tars/remote_app_log。。这个路径。 这个目录下的: sLog 阅读全文
posted @ 2020-01-15 19:35 掉头发的666 阅读(231) 评论(0) 推荐(0) 编辑
摘要:这两服务都类似。功能写法都类似。看名字就知道是跟PropertyServer,StatServer搭配使用的 这两服务不是tars协议服务。所以要看非tars协议应该怎么写,可参考此服务。 看代码。实现的是 JsonProtocol 协议服务。通过RequestDecoder 解包 详细,有空再补吧 阅读全文
posted @ 2020-01-15 19:32 掉头发的666 阅读(168) 评论(0) 推荐(0) 编辑
摘要:这两服务都是上报统计服务。。写法功能,代码逻辑都是类似。 下面是PropertyServer的介绍 此服务,应该性能瓶颈在db。所以采取的策略是,把上报的数据,放在内存缓存中。后面再异步批量写入db而且是分多个db。 为了尽量挖掘性能,在内存中,有着一组 继承于TarsHashMap的 hashMa 阅读全文
posted @ 2020-01-15 19:31 掉头发的666 阅读(319) 评论(0) 推荐(0) 编辑
摘要:_maxPageSize /tars/hash<max_page_size> 配置中默认是29 _maxPageNum /tars/hash<max_page_num> 配置中默认是30 过滤条件。配在 /tars/filter中 NotifyF.tars 接口实现 reportServer 框架上 阅读全文
posted @ 2020-01-15 19:28 掉头发的666 阅读(342) 评论(0) 推荐(0) 编辑
摘要:NodeServer的Node.tar部分功能流程 isValid(sIP) 判断指定的sIP是否有效 一个很重要的函数,1分钟内新增一次有效ip列表(为啥设计成新增而不是更新模式?)。这里可认为是有效的ip有3种: NodeServer当前节点的ip; 配置在/tars/node<cmd_whit 阅读全文
posted @ 2020-01-15 19:27 掉头发的666 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:1、分控的主配置如下: 服务状态更新频率 是在<reap>段 的配置内。 <reap> #加载object间隔时间(s) loadObjectsInterval = 30 #轮询server状态的间隔时间(s) queryInterval = 150 #第一阶段加载时间间隔,单位是秒 loadObj 阅读全文
posted @ 2020-01-15 19:25 掉头发的666 阅读(707) 评论(0) 推荐(0) 编辑
摘要:1、服务状态更新频率 是在<reap>段 的配置内。 <reap> #服务心跳更新时间(s) 此值在代码里有最小保护为5s 配置小于5s时 自动设置成5s updateHeartInterval=15 #主控心跳超时检测时间,单位是秒..代码最小值保护为5s registryTimeout=150 阅读全文
posted @ 2020-01-15 19:24 掉头发的666 阅读(555) 评论(0) 推荐(0) 编辑
摘要:本部分 前接《服务端各种关键类简洁》。 初始化流程: 在Application::main中 给_epollServer绑定完Adapter和setHandle之后,会执行,start全部Handle线程;给每个网络线程单独 createEpoll().. 在createEpoll中会: 1、创建 阅读全文
posted @ 2020-01-15 19:21 掉头发的666 阅读(738) 评论(0) 推荐(0) 编辑
摘要:Servant类。 翻译成中文就是 仆人的意思。顾名思义,是真正干活的类 在我们实际上写tars代码时候,一般先定义好一个tars文件。比如tars源码的cpp/examples/CoroutineDemo/BServer.这个工程来说.有个BServant.tars文件。内容如下 module T 阅读全文
posted @ 2020-01-15 19:14 掉头发的666 阅读(903) 评论(0) 推荐(0) 编辑
摘要:ServantProxy类 很有意思的是,服务端的实现叫Servant,对应客户端连接器的名就叫ServantProxy,顾名思义,是客户端连接的代理. selectNetThreadInfo的实现: 1获取ServantProxyThreadData pSptd; 2如果pSptd还没初始化过,先 阅读全文
posted @ 2020-01-15 18:21 掉头发的666 阅读(486) 评论(0) 推荐(0) 编辑
摘要:这块内容是个关键性流程。 tars调用在调用层,一般只会简单的 PatchPrx proxy = Application::getCommunicator()->stringToProxy<PatchPrx>(_patchRequest.patchobj); proxy->timeout(60000 阅读全文
posted @ 2020-01-15 18:19 掉头发的666 阅读(696) 评论(0) 推荐(0) 编辑
摘要:一般tars客户端使用方式: 我们用客户端进行tars rpc调用时候,一般如下面这样写: 这里只是列举了几种,还有更多的写法。其实都是分成两步: 1由Application::getCommunicator()->stringToProxy(strObjName)得到一个proxyPtr。 2再用 阅读全文
posted @ 2020-01-15 18:14 掉头发的666 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:客户端,服务端概念 每个服务进程,都是有且只有一个Application核心类。这里类继承于BaseNotify。作用可以理解成把所有初始化,消息通知,内部对象管理汇总类 在tars的概念中,有两套网络及实现管理部分。 一部分称之为服务端,实现了 提供功能给别的服务或者pc,web,h5等等各种客户 阅读全文
posted @ 2020-01-15 17:50 掉头发的666 阅读(785) 评论(0) 推荐(0) 编辑
摘要:tarsframework 的源码大体分3部分 1、framework 框架的实现,里面内容是框架各个基础服务具体做的事; 2、servant 实现的内容是 单个服务基础lib的封装,包括网络IO,协程,逻辑管理等封装; 3、Util里一些高性能 数据结构的实现。 framework 和 serva 阅读全文
posted @ 2019-09-25 15:02 掉头发的666 阅读(1262) 评论(0) 推荐(0) 编辑
摘要:tars的c++版本已经用的比较熟了。go版本没去看过。近期有空了解下。 首先此版本是没有framework礼貌的内容的。看起来只是提供util和包装servant那套东东。。看代码 比C++版本的看起来要少不少。有点意思 阅读全文
posted @ 2019-07-04 15:02 掉头发的666 阅读(424) 评论(0) 推荐(0) 编辑
摘要:1、切记 java需要安装jdk。不是jre。。这个对java不是很熟的比较容易踩坑.. 2、 在java语言开发环境安装时候 需要更改maven的镜像。改成国内的. 修改maven根目录下的conf文件夹中的setting.xml文件,内容如下: <mirrors> <mirror> <id>al 阅读全文
posted @ 2017-06-13 15:32 掉头发的666 阅读(418) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示