34 | Istio:Service Mesh的代表产品
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
Istio是Service Mesh的代表产品,相比Linkerd,Istio引入了Control Plane的理念,通过Control Plane能带来强大的服务治理能力,可以称得上是Linkerd的进化,算是第二代的Service Mesh产品。Istio默认的SideCar采用了Envoy,它是用C++语言实现的,在性能和资源消耗上要比采用Scala语言实现的Linkerd小,这一点对于延迟敏感型和资源敏感型的服务来说,尤其重要。此外,有Google和IBM的背书,尤其是在微服务容器化的大趋势下,云原生应用越来越受欢迎,而Google开源的Kubernetes可以说已经成为云原生应用默认采用的容器平台,基于此Google可以将Kubernetes与Istio很自然的整合,打造成云原生应用默认的服务治理方案。Istio的架构由Proxy和Control Plane组成,Proxy采用Envoy,具有低性能损耗、高可扩展性和动态可配置等特点。Control Plane包括Pilot、Mixer以及Citadel,Pilot实现流量控制,包括服务发现和负载均衡、请求路由、超时重试和故障注入等功能。通过对Istio架构的详细分解,可以更好地理解其各部分的实现原理,为读者提供了深入了解Istio的机会。 Mixer的作用是实现策略控制和监控日志收集等功能,实现方式是每一次Proxy转发的请求都要调用Mixer。Mixer的实现是可扩展的,通过适配层来适配不同的后端平台,这样的话Istio的其他部分就不需要关心各个基础设施比如日志系统、监控系统的实现细节。 Mixer实现了两级的缓存结构,以减少对Mixer的调用以尽量降低服务调用的延迟。 Mixer的监控、日志收集功能也是通过配置监控yaml文件来实现的,Proxy发起的每一次服务调用都会先调用Mixer,把监控信息发给Mixer,Mixer再根据配置的yaml文件来决定监控信息该发到哪。 Citadel的作用是保证服务之间访问的安全,它的工作原理需要Proxy、Pilot以及Mixer的配合。Citadel里存储了密钥和证书,通过Pilot把授权策略和安全命名信息分发给Proxy,Proxy与Proxy之间的调用使用双向TLS认证来保证服务调用的安全,最后由Mixer来管理授权和审计。 总的来说,Istio采用模块化设计,各个模块之间高度解耦,使得Istio的
《从 0 开始学微服务》,新⼈⾸单¥59
全部留言(9)
- 最新
- 精选
- mgxian日志使用批量加队列加异步处理
作者回复: 对
2018-11-0825 - 文敦复批量+异步!
作者回复: 对,异步合并
2018-11-123 - 风轨日志不是业务关键数据,丢一部分也问题不大,异步处理能减少正常业务时间等待。
作者回复: 对,可以批量加uibh
2018-11-093 - 拉欧可以配置日志上传的百分比,减少上传的数量
作者回复: 如果需要全量日志呢
2018-11-081 - 极极老师,我有几个关于长连的疑问 ,希望您能解答,谢谢! 1. 上边提到 “理论上每一次的服务调用 Proxy 都需要调用 Mixer" ,但是对于长连,或者 grpc 的长连来说,也需要每次都调用mixer吗? 2. 长连的负载策略如何实现?istio 是不是做了其他优化或兼容? 3. 还有长连的可靠性如何确保?发版时 pod 更换如何确保新旧长连接的交替?2020-07-213
- 松花皮蛋me异步上传日记,不需要ack2018-11-082
- 锋尘Kafka 顺序写硬盘据说效率堪比内存,未验证过!2019-09-061
- 技术修行者如果对日志收集的实时性要求不高,可以尝试用异步的方式来解决。2019-09-22
- MJ异步处理2018-12-29