课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着云技术的不断发展,微服务编程开发也成为了程序员都在争相学习的一项新技术,而今天我们就一起来了解一下,服务网格在微服务技术架构中的作用都有哪些。
1、可观察性
服务网格在微服务之间为东西流量提供了非常好的可观察性,因为所有pod之间的流量对sidecar来说都是可见的。进而可以通过开源或厂商提供的分析工具来分析sidecar的遥测,以获得更好的视角,从而更快地进行故障排查或容量规划。南北流量的可观察性在服务网格架构中也十分出色,与双层Ingress架构相当。
2、持续部署
借助服务网格,南北流量和东西流量均支持用于持续部署的高级流量管理,例如自动金丝雀部署、蓝绿部署和回滚。与kube-proxy不同,sidecar具有高级API,使它们能够与Spinnaker等CI/CD解决方案集成。
3、弹性伸缩和性能
服务网格对于东西流量来说有高度可扩展性,因为它是分布式架构。它还有助于扩展可观察性、安全性以及高级流量管理和控制等功能。
性能取决于sidecar的选择,因为sidecar供应商之间的性能和延迟可能会有所不同。由于东西流量由sidecar代理,因此使用sidecar将为Pod间流量增加两个额外的跃点,这将增加总体延迟。如果使用Istio控制平面,则会向提供策略实施的IstioMixer增加一个跃点,从而增加额外的延迟。每个Pod上运行sidecar都需要内存和CPU,并且可以迅速添加成千上百个pod。
4、开源工具的集成
南北流量的ADC和东西流量的sidecar均能集成比较主流的开源工具如Prometheus、Grafana、Spinnaker、Elasticsearch、Fluentd以及Kibana等。大部分的sidecar还能有扩展的API,可以与更多的工具进行集成。
5、Istio对开源控制平面的支持
南北流量的ADC和东西流量的sidecar均能很好地集成Istio开源控制平面。请注意,Istio为IstioMixer增加了额外一跃点的延迟,从而为东西流量提供了策略实施。
6、所需的技术栈
服务网格极为复杂,而管理成千上百的sidecar也绝对是一个极大的挑战。这种新的分布式代理架构为IT人员带来了陡峭的学习曲线。对于平台团队来说,主要的挑战可能是使用sidecar来管理许多活动组件。因为他们不得不处理延迟和性能的需求,并且必须能够对任何数量的分布式代理以及数据平面和Istio控制平面组件中的问题进行故障排除。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。