文章首或尾句需求带关键词“本文正在参与「金石计划」

前言


1、洗完澡,我打开某王者准备happy一下,忽然想起最近想写的一篇文章,仍是忍住了放下文章,好好写手机,哈哈~ 之前搞过全链路灰度,没想到能够啃成本用来建造开发环境多泳道,有意思。

2、在个人生长中,我觉得自己不是一个天赋选手,可是是一个生长很快的人,未来应该是一个大器晚成的家伙哈哈哈,我以为里边领悟仍是起到很大的效果,举一反三,里边的坚持也是不可或缺。

3、最近跟朋友聊技能,当我介绍了一个相对比较大型的技能项目的时分,我说整个项目都是我一个人完结,那一瞬间他很惊讶,是啊干有意义的事能够带来成就感。我的理念是从一个功用点,然后去拓宽成体系,再依据实践场景进行细化调整。

多泳道建造


之前是有写过类似的文章: 听过多泳道吗?赶忙进来看看它怎样建造的~ ,可是实践运用起来有许多许多细节。就像王阳明的知行合一,即便你了解许多,可是在实践的时分会发现许多细节需求调整,又或者实践运用场景不同导致细节不一样。

我大约讲下之前的内容,目的便是建造多个泳道,其间包含根底环境,主要是多个项目并行测验、联调,一些公共服务则放在根底环节,这样能够节省服务资源。里边涉及的技能点:流量染色、流量规矩、流量负载、变量透传、服务管理。

流量染色:这个能够完成许多功用,比如说灰度流量,还有流量录制回放的那种测验流量染色,还有压测流量染色,ab test流量染色,这项技能运用很广泛,难点其实是规矩管理,便是这么多场景他们染色规矩怎样的。

流量规矩:这儿需求参阅阿里的openSergo标准,便是3块,what+how+rollback,举个灰度的例子:什么是灰度流量(能够是某些用户、某个安排、某些渠道),灰度流量怎样走(南北流量从网关到a服务那个版别,再到b服务哪个版别),假如没有对应的服务节点或者说没有配置流量走向,默许走回根底环境。

流量负载:这个比较重要的是算法,比如随机、轮训、权重、依据服务节点功用负载、还有dubbo依据启动时刻去负载,(服务起来的时分由于边履行边编译,所以起来那会没有响应那么快,所以给的流量也会少一些)。这儿也涉及到服务注册中心,比如说zk、nacos,从里边拿到对应的服务列表(serviceid、IP:port、metadata)对这些进行挑选负载。

变量透传:这玩意是apm的东西,所以思维是能被搬迁的,可是技能或许会被颠覆,举一反三蛮重要的。

服务管理:当多泳道的时分,服务就会有多个版别,对应的接口也会多个版别,前端运用也能够切换不同的调试版别,那么这个版别号是怎样规划的,服务怎样分组的,这些都是重点。

业界计划


我之前搞全链路灰度的时分,看了许多许多文章,其间许多公司都是根据阿里MSE微服务引擎来搞,我谈下我的了解,MSE是流量网关+服务管理,它集成cicd,便是咱们上面讲的服务管理那块,在构建的时分会把节点打上对应的标签,其次在网关层现已把流量染色、流量规矩做得挺完善的了,然后变量透传,再到本地服务改造经过agent挂载来改动字节码进行流量负载。

有钱当然仍是买买买,实践比较香的,成熟的产品谁不喜爱呢,哈哈哈

开发环境多泳道建造


前面介绍了大部分的多泳道建造,接下来讲讲我搞的开发环境多泳道吧。

背景是这样的,便是咱们在联调阶段,一般是前端本地跟后端云节点联调,一旦出现问题,后端需求频繁改代码联调,那么我的想法是直接把流量导入到你本地进行调试,这样功率最高的。

咱们做法:参照上面的完成,首先服务管理方面,咱们本地节点会有特定标识,这儿能够是对应研制同学英文简称,假如是v1、v2那这样会导致冲突情况,流量负载方面,咱们是在网关层根据nacos去做流量染色、流量负载,这是前后端联调场景。假如是后端跟后端联调,咱们选用简单的方式,便是直接经过环境变量来配置ip:port来联调。当然我也想过经过sdk来集成到服务,其时有个同学提示我说:假如计划太麻烦或者比较复杂,就会越少同学去运用,所以咱们前期主打简单方便好用,哈哈哈

缺乏:咱们计划没有集成cicd,也便是说本地关机了,那这个调试版别的服务就没了,当然在咱们现在的调试场景能够承受的,比如说建造测验环境的多泳道,运用场景就不同,技能计划也会不一样。第二个缺乏是简化后端的联调,咱们场景是点对点的联调,但实践上链路上会有许多点,这时就需求把染色进行rpc上透传,这个在咱们计划现在没有做,主要考虑简化方便效果。

啃老本-开发环境多泳道建设

最后总结


洋洋洒洒又是输出了快2k字,哈哈,业界的计划根本根据k8s节点打标,还有ingress、istro来流量负载、灰度,可是呢里边细的功用,比如说流量规矩,灰度流量详细怎样走,仍是需求在运用层去完成,所以MSE比较好的结合两者,它的通用性比较强的。

那么咱们自研的计划对详细场景做了细化,考虑到用户体验,当然咱们也从中学习到许多技能,满满的成就感,最后读万卷书,不如行千里路,撸起袖子干吧少年~