腾讯犀牛鸟开源人才培养计划Tars实战笔记目录
前言
在2021年夏,笔者参加了腾讯首届开源人才培养计划的Tars项目,负责Subset流量管理规则的Java语言JDK实现。其中写作几篇开源实战笔记,将其总结在以下文章中。
大标题可以跳转至对应博文。
第1篇 Win10下Docker部署TarsJava(SpringBoot)全过程及踩坑记录
- 相关环境版本
坑点一:VMware与Win10 Docker冲突
坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 - Docker安装
坑点三:Docker的镜像默认安装在C盘 - Tars部署
坑点四:Tars框架MySQL密码错误 - 代码处理
坑点五:发布包与服务名不匹配
坑点六:[alarm] down, server is inactive - 接口调试
第2篇 TarsJava SpingBoot启动与负载均衡源码初探
- Tars客户端启动
- Communicator通信器
- 本客户端的负载均衡调用器LoadBalance
第3篇 Tars中期汇报测试文档(Java语言实现Subset路由规则)
- 任务介绍
- 测试模拟方案
- 按比例路由规则 - 单次测试
- 按比例路由规则 - 多次测试
- 按参数路由规则测试
- 按无路由规则测试
第4篇 Subset路由规则业务分析与源码探索
- Subset不是负载均衡
- 从头开始源码分析
- Subset应该添加在哪
- 总结
第5篇 基于TarsGo Subset路由规则的Java JDK实现方式(上)
- 修改.tars协议文件
- 【核心】增添Subset核心功能
- 添加常量与获取染色key的方法
- 【核心】修改获取服务IP规则
- 实现透传染色Key功能(客户端)
- 实现透传染色Key功能(服务端)
- 给节点信息增添Subset字段
- *新增工具类
第6篇 基于TarsGo Subset路由规则的Java JDK实现方式(下)
- 修改.tars协议文件
- 【核心】增添Subset核心功能
- 添加常量与获取染色key的方法
- 【核心】修改获取服务IP规则
- 实现透传染色Key功能(客户端)
- 实现透传染色Key功能(服务端)
- 给节点信息增添Subset字段
- *正则算法的实现
- *添加测试代码
第7篇 TarsJava Subset最终代码的测试方案设计
- SubsetConf配置项的结构
- 测试方案设计
- 按比例路由规则 - 单次测试
- 按比例路由规则 - 多次测试
- 按参数路由规则 - 精确匹配测试
- 按参数路由规则 - 正则匹配测试
- 无路由规则测试
第8篇 TarsJava Subset最终代码的执行流程与原理分析
- SubsetConf配置项的结构
- 过滤节点的方法入口
- subsetEndpointFilter()方法解析
- getSubset()方法解析
- getSubsetConfig()方法解析
- 按比例路由的findSubet()方法解析
- 按参数路由的findSubet()方法解析
- 总结:Subset业务执行流程结构图