1.背景
我司最近自研的devops平台开始上线并内测,使用的过程中出现很多大大小小的问题,其中最让我受不了的是无法'多节点并行开发',举个例子, A项目工程同时要在月底上线两个需求,而这两个需求是B小组和C小组同时并行在开发,若这两个小组同时启动了A工程两个节点A1 A2,那么上游调用默认策略就是这样
2.这里会产生两个问题
a.测试验收起来会非常影响效率,比如第一次请求路由到了A1节点,第二次请求又路由去了A2节点
b.有经验的开发同学应该会说很容易,给调用链路打标签就行了,以dubbo为例,version、group、tag等标签都可以实现,但要考虑到,应用属于应用开发小组,devops小组属于运维小组,如何能做到不侵染使用者的代码而做到以上的效果呢?
3.解决思路
这里我只提一个思路:
可以使用javaAgent代理,以字节码增强形式打标,让开发者无感体验,关于javaAgent 可以参考