Archive | 七月, 2019

Istio灰度发布 –《云原生服务网格Istio》书摘03

本节书摘来自华为云原生技术丛书《云原生服务网格Istio:原理,实践,架构与源码解析》一书原理篇的第3章非侵入的流量治理,第3.1.4小节灰度发布原理。更多内容参照原书,或者关注容器魔方公众号。

3.1.4  灰度发布

在新版本上线时,不管是在技术上考虑产品的稳定性等因素,还是在商业上考虑新版本被用户接受的程度,直接将老版本全部升级是非常有风险的。所以一般的做法是,新老版本同时在线,新版本只切分少量流量出来,在确认新版本没有问题后,再逐步加大流量比例。这正是灰度发布要解决的问题。其核心是能配置一定的流量策略,将用户在同一个访问入口的流量导到不同的版本上。有如下几种典型场景。

1.蓝绿发布

蓝绿发布的主要思路如图3-13所示,让新版本部署在另一套独立的资源上,在新版本可用后将所有流量都从老版本切到新版本上来。当新版本工作正常时,删除老版本;当新版本工作有问题时,快速切回到老版本,因此[......]

阅读全文

Tags: ,

Comments { 0 }

Pilot的设计亮点–《云原生服务网格Istio》书摘02

本节书摘来自华为云原生技术丛书《云原生服务网格Istio:原理,实践,架构与源码解析》一书架构篇的第14章司令官Pilot,第4节Pilot的设计亮点。更多内容参照原书,或者关注容器魔方公众号。作者:中虎

作为Istio数据面的司令官,Pilot控制中枢系统,它的性能好坏直接影响服务网格的大规模可扩展、配置时延等。如果Pilot的性能低,配置生成效率也低,那么它将难以管理大规模服务网格。比如,服务网格拥有成千上万服务及数十万服务实例,配置生成的效率很低,难以满足服务及Config更新带来的配置更新需要,将会造成Pilot负载很高,用户体验很差。Istio社区网络工作组很早就已经意识到这个问题,并在近期的版本中相继做了很多优化工作,本节选取具有代表性的4个优化点进行讲解。

14.4.1  三级缓存优化

缓存模型是软件系统中最常用的一种性能优化机制,通过缓存一定的资源,减少CPU利用[......]

阅读全文

Tags: ,

Comments { 0 }

Istio服务熔断 –《云原生服务网格Istio》书摘01

本节书摘来自华为云原生技术丛书《云原生服务网格Istio:原理,实践,架构与源码解析》一书中的第3章非侵入的流量治理,第3节Istio流量治理的原理3.1.2小节服务熔断。更多内容参照原书,或者关注容器魔方公众号。

熔断器在生活中一般指可以自动操作的电气开关,用来保护电路不会因为电流过载或者短路而受损,典型的动作是在检测到故障后马上中断电流。“熔断器”这个概念延伸到计算机世界中指的是故障检测和处理逻辑,防止临时故障或意外导致系统整体不可用,最典型的应用场景是防止网络和服务调用故障级联发生,限制故障的影响范围,防止故障蔓延导致系统整体性能下降或雪崩。

如图3-6所示为级联故障示例,可以看出在4个服务间有调用关系,如果后端服务recommendation由于各种原因导致不可用,则前端服务forecast和frontend都会受影响。在这个过程中,若单个服务的故障蔓延到其他服务,就会[......]

阅读全文

Tags: ,

Comments { 0 }