Tars | 第0篇 腾讯犀牛鸟开源人才培养计划Tars实战笔记目录
腾讯犀牛鸟开源人才培养计划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业务执行流程结构图
最后
新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!

Tars | 第0篇 腾讯犀牛鸟开源人才培养计划Tars实战笔记目录的更多相关文章
- ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录
放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...
- 2020腾讯犀牛鸟网络安全T-Star高校挑战赛writeup
签到 浏览器禁用js,在www目录下有 key 命令执行基础 使用 | 可以执行其他命令,在 ../目录下有 key.php cat 一下读出来 你能爆破吗 一开始随便输了个账号的时候不是这个页面,抓 ...
- Tars | 第6篇 基于TarsGo Subset路由规则的Java JDK实现方式(下)
目录 前言 1. 修改.tars协议文件 1.1 Java源码位置及逻辑分析 1.2 Java语言实现方式 1.3 通过协议文件自动生成代码 1.4 变更代码的路径 2. [核心]增添Subset核心 ...
- 使用多种客户端消费WCF RestFul服务(二)——.net4.0篇
.net 4.0篇 在.net 4.0下面微软并没有提供类似Net.Http的Rest访问组件,而是在codeplex上面提供的WCF REST Starter Kit Preview 2 里面可以找 ...
- 【Unity3D技术文档翻译】第1.0篇 AssetBundles
前言 "Unity圣典"是目前对官方文档翻译比较详细的,然而文档的最新更新日期是2013年,已经远远落后最新版本,参考意义有限.官方文档.脚本手册是学习Unity3D最直接有效的途 ...
- Python 全栈开发【第0篇】:目录
Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...
- 腾讯两大开源项目Tars、TSeer
6月25日,在LC3(LinuxCon + ContainerCon + CloudOpen)中国2018大会上,腾讯宣布其两大开源项目——RPC开发框架Tars.轻量化名字服务方案TSeer,加入L ...
- RHEL7.0 Docker离线安装以及实战笔记
1.概述 最近在琢磨一个事--在RHEL 7.0系统上离线安装使用Docker.然后配置JAVAEE环境,发布Web服务.在网上查了资料,大多数是在线安装的,其他的要么是环境不同,要么资料包找不到了. ...
- MySQL之父造访腾讯云 为腾讯云数据库开源点赞
近日,技术大牛 MariaDB 公司创始人兼CTO Michael Widenius(又名Monty).MariaDB 基金会主席 Kaj 来到中国,针对MariaDB与腾讯云的技术合作进行回访.去年 ...
随机推荐
- 20分钟掌握Android Gradle
目前国内对Android领域的探索已经越来越深,不少技术领域如插件化.热修复.构建系统等都对Gradle有迫切的需求,不懂Gradle将无法完成上述事情.所以Gradle必须要学习. Gradle 里 ...
- 面试常见SQL中where和having的区别你确定你知道吗!
"Where" 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数. "Having" 是 ...
- Python脚本文件中使用中文
Python做图形用户界面(GUI)开发时经常要在界面上显示中文,需要做如下处理(详见[1]和[2]2.3节): 在py文件的首行写上:# -- coding:utf-8 -- 保存py文件时要存为u ...
- MySQL数据库优化(2)
MySQL优化 大批量插入数据优化 1.将数据按照id有序排列 2.使用load关键字(100万条:有序20s,无序1分50秒) 3.插入之前,关闭唯一性校验(SET UNIQUE_CHECKS=0) ...
- sqli-labs lesson 11-15
从这一关开始我们开始进入到post注入的世界了,什么是post呢?就是数据从客户端提交到服务器端,例如我们在登录过程中,输入用户名和密码,用户名和密码以表单的形式提交,提交到服务器后服务器再进行验证. ...
- 如何快速方便的生成好看的接口文档(apipost生成文档)
一键生成文档 我们在"2分钟玩转APIPOST"一讲中,简单介绍了如何生成并分享接口文档: 点击分享文档 复制并打开文档地址就可以看到了完整的接口文档. 本节课主要是讲解一些需要注 ...
- 手机摄像头作为视频画面捕捉设备与OBS连接(有线)
手机有线连接OBS(以无他伴侣作为测试案例) 1.硬件设备 安卓手机1台.安卓手机对应的数据线.电脑2台(windows系统,1台做OBS与手机连接.1台做直播后台:配置等如果能达到要求也可以只使用一 ...
- NOIP 模拟 $15\; \rm \text{玫瑰花精}$
题解 \(by\;zj\varphi\) 一道线段树题目 这道题可以通过维护一棵线段树,线段树上的每个节点维护 \(\rm l,r,len,p\) 分别表示这段区间最左边的花精,最右边的花精,被两只花 ...
- JavaScript(Node.js)+ Selenium 实现淘宝抢单
JavaScript(Node.js)+ Selenium 淘宝抢单 为了买买买我也是拼了,看了一点selenium的资料,随便写的. 程序写的比较烂,但是够我自己用了,望各路大牛指教. 使用说明: ...
- 深入浅出Mybatis系列(四)---配置详解之properties与environments
我先简单的给大家示例一下properties的使用方法. <configuration> <!-- 方法一: 从外部指定properties配置文件, 除了使用resource属性指 ...