Tars源码学习

前言

Tars是腾讯开源的高性能,多语言RPC开发框架,同时配套了一体化的服务治理平台。看源码是学习和了解Tars的方式之一,Tars的源码主要分成三部分:

  1. RPC:各个语言版本的rpc实现,包括TarsCpp,TarsJava,TarsGo等
  2. Framework:基于TarsCpp实现的服务治理平台,包括各个框架节点的实现:tarsnode,tarsregistry,tarsconfig等
  3. web:web管理平台的实现

接下来的系列文章主要分析和整理tarscpp和Framework的实现。欢迎对tars有兴趣的同学一起交流学习。


一.tarscpp

这里分析的是tarscpp的v1.2.0版本。另外,如果没有特别标注,文章中举的例子和代码路径都是TCP,tars协议,且都没有启用协程。

1.服务端

  • tars服务端(一):server的启动流程
  • tars服务端(二):网络io模型和线程模型
  • tars服务端(三):收发包管理
  • tars服务端(四):链接管理
  • tars服务端(五):过载保护
  • web命令的实现(待写)

2.客户端

  • tars客户端(一):一次rpc的调用过程
  • tars客户端(二):请求包从主调线程到网络线程的过程
  • tars客户端(三):收发包管理(待写)
  • tars客户端(四):寻址与负载均衡,容灾(待写)

3.公共部分

  • 日志(待写)
  • 协程(待写)
  • tars协议分析(待写)
  • 消息染色,调用链跟踪,ssl等(待写)

二.Framework

你可能感兴趣的:(Tars)