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与腾讯云的技术合作进行回访.去年 ...
随机推荐
- 随着日益增多的新技术,Android开发接下来的路该怎么走?
很多小伙伴们经常问我android移动开发者的走向,一部分人都想多快好省,间歇性踌躇满志.持续性混吃等死 ,只想用CV的开发模式们快速完成工作,然后回家王者农药.其实这种现象很普遍,我想告诉你的是 , ...
- silky微服务简介
代理主机 silky微服务定义了三种类型的代理主机,开发者可以根据需要选择合适的silky代理主机托管微服务应用.代理主机定义了一个Startup模块,该模块给出了使用该种类型主机所必须依赖的模块. ...
- 代码中如何优化过多的if..else
针对代码中,过多的 if ... else ..,如何优化减少if else呢?(非常重要的优化技巧) 缺点:过多的if else 导致阅读不方便,逻辑过于复杂,代码多长. 解决方法:可以采用多个方 ...
- scrapy爬虫框架使用
一.scrapy框架 1.什么是scrapy: 爬虫中封装好的一个明星框架.功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式. 2.使用方法: 安装: 下载tiwisted,此处位下 ...
- 3 分钟了解 JSON Schema
大家好,我不是鱼皮. 幸运又不幸,我是一名程序员,他也是一名程序员. 周末,我在开发网站,他在开发游戏,两个人一起写代码,一起写 Bug 头秃,竟也有了一丝别样的浪漫,好不自在! 今天,他遇到了一个后 ...
- 题解 P3191 [HNOI2007]紧急疏散EVACUATE
题解 本篇题解做法为BFS+二分+最大流 二分需要撤离的时间,也就是答案(这算是一个比较套路的了) 重点在于建模(设时间为 \(tim\)): 我们将每个门拆点,拆成 \(tim\) 个,每个点向汇点 ...
- GithubSearch
https://docs.github.com/cn/github/searching-for-information-on-github/searching-on-github/searching- ...
- linux 系统文件记录
proc系列 /proc/diskstats # 记录磁盘相关信息 http://ykrocku.github.io/blog/2014/04/11/diskstats/
- 查看linux系统是物理机还是虚拟机
物理机,返回机器型号 [root@laocalhost ~]# dmidecode -s system-product-name S910-X31E 虚拟机 [root@dev01-188 ~]# d ...
- [ES6深度解析]14:子类 Subclassing
我们描述了ES6中添加的新类系统,用于处理创建对象构造函数的琐碎情况.我们展示了如何使用它来编写如下代码: class Circle { constructor(radius) { this.radi ...