Category: Tars

Tars网络包处理过程分析

很早就想写一篇关于Tars网络包处理的文章,但是又不知道从何写起,因为心里想着无非就是基于Linux Epoll的那一套东西,加上一些线程间的数据交互。

直到遇见了BUG!

这不是Tars框架本身的BUG,只是使用者在没有吃透Tars包处理运作机制情况下发生的BUG。

本文会围绕这个BUG从头到尾来谈谈Tars对网络包处理。

(文章不会贴出整段代码,会以代码片段+说明的形式展开,源码:https://github.com/Tencent/Tars,版本:5237058b91c5350be881205249f196970c503614,Date: Tue Jun 19 20:56:02 2018 +0800)

Read More →

Tars服务监控与特性监控

Tars框架自带服务监控(stat)与特性监控(property)的功能,入口在如下图:

(直接点会是空白,你得先点开你的一个Server才会出现曲线图)

依靠监控功能,你可以快速的定位问题,观察接口的使用状态,进程运行状态,甚至自定义观察数据直观的在Tars管理页面上显示出来。

你可以自行做二次开发,利用入库数据做成自己的短信告警机制。总之就是数据在,想怎么围绕展开都行。

Read More →

Tars框架Future/Promise使用

在采用tars2cpp工具自动生成c++文件时,相应的file.tars会自动生成file.h文件。在.h文件里会生成你自定义接口的RPC方法,一共有四种:

  • 同步(sync)方法;
  • 异步(async)方法;
  • Future/Promise方法;
  • 协程(coco)方法;

sync/async方法在官方文档里都有使用的样例,对于不满足sync/async,然后想在Tars下使用Future/Promise的同学看看此文或许会有帮助。

文章内容、样例都是基于Tars框架下提供的Future/Promise进行分析,与boostC++11、以及其他语言提供的Future/Promise不完全相同。

Read More →

Tars框架进阶

总结Tars中一些重要的原理与使用方式,内容可能会有部分内容与官方docs重合,但绝对不会是官方docs的搬运。

本文适合已经可以自行安装好Tars,并且使用过一段时间Tars,对其有一些基本感知的人阅读。当然,同时也欢迎Tars新鸟、老鸟来交流。

Tars中一些重要的概念

Tars核心点有四个:

  • 一套服务器框架(特点:高稳定性、高可用性、高性能);
  • 十分方便的内建RPC机制(特点:开发使用简单方便);
  • 丰富的公用库(特点:封装了大部分常用方法,易于使用);
  • 服务治理平台(功能:服务部署、发布、配置、监控、调度管理、容灾);

Read More →

腾讯开源服务器框架Tars安装使用

2017年4月10日,腾讯后台逻辑层的统一应用框架TAF(Total Application Framework)开源了,取名为tars。

GitHub:https://github.com/Tencent/Tars

作为一个使用过2年TAF(后文都称tars)平台的用户,对其还是有不少感情的。所以在Debian系统上,迫不及待的自己搭建了一套tars,期间踩了不少坑故在此记录一下。

(这不是一篇教程,建议是官方教程与这篇文章里的东西结合起来看,您有疑问或者建议也可以留言与我直接交流讨论。)

tars_man

Read More →