一 概述

服务网格(Service Mesh): 用于描述构成应用程序的微服务网络以及它们之间的交互。服务网格包括服务发现、负载均衡、故障恢复、指标收集和监控以及运维需求,例如A/B测试()、金丝雀发布、限流、访问控制和端到端认证等。

  (补充:
A
/B测试:AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用; 金丝雀发布(灰度发布):灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式
蓝绿部署:不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本 Rolling update(滚动发布):一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用。周而复始,直到集群中所有的实例都更新成新版本)

 istio: 是一个完整的解决方案,在服务网络中统一提供许多关键功能:

  • 流量管理:控制服务之间流量和API调用的流向。
  • 可观察性:了解服务之间的依赖关系。
  • 策略执行:执行策略,资源良好分配。
  • 服务身份和安全

  这些功能极大的减少了应用程序代码,底层平台和策略之间的耦合。

 架构:

  istio服务网格逻辑上分为数据面板控制面板

  数据面板:由一组智能代理(Envoy)组成,代理部署为边车,调解和控制微服务之间所有的网络通信

  控制面板:负责管理和配置代理来路由流量,以及在运行时执行策略。

 Envoy: istio使用Envoy代理的扩展版本,用C++开发的高性能代理,调解服务网格中所有服务所有入站和出站流量。Envoy的许多内置功能被istio发扬光大,例如动态服务发现,负载均衡,TLS终止,HTTP/2&个RPC代理,熔断器,健康检查,流量拆分...

Envoy被部署为边车,和对应服务在同一个Kubernetes pod中。这允许Istio将大量关于流量行为的信号作为属性提取出来,而这些属性又可以在Mixer中用于执行策略决策,并发送给监控系统,以提供整个网格行为的信息。

边车代理模型还可以将istio的功能添加到现有部署中而无需重写代码(因为边车和业务是隔离的?)

Mixer: 负责在服务网格上执行访问控制和使用策略,并从Envoy代理和其他服务收集遥测数据。代理提取请求级属性,发送到Mixer进行评估。

Pilot: 负责收集和验证配置并将其传播到各种istio组件。它从Mixer和Envoy中抽取环境特定的实现细节,为他们提供用户服务的抽象表示,独立于底层平台。流量管理规则(即通用4层规则和7层HTTP/gRPC路由规则)可以在运行时通过Pilot进行编程

Istio-Auth: 提供强大的服务间认证和终端用户认证,使用交互TLS,内置身份和证书管理。

 

 

 

 

转载于:https://www.cnblogs.com/liufei1983/p/9201244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值