TOC
针对这个问题,我总结过一篇详细的介绍过。简单的讲就是在微服务的时代背景下,微服务的维护,管理,通信等需求变得异常复杂。
这些需求通常包括:服务发现、负载平衡、故障恢复、度量和监视, A/B 测试、探测器展示、速率限制、访问控制和端到端身份验证等等。
而服务网格就将这些需求和业务剥离出来并下沉成基础设施层,用于处理服务间通讯;以保证请求在这些拓扑之间安全,快速,可靠的穿梭;其实现通常有一系列的轻量级的网络代理组成,它们与应用程序部署在一起,但是应用程序不需要知道它们的存在。
3.1 HTTP、 gRPC、 WebSocket 和 TCP 流量的自动负载平衡。
3.2 使用丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。
3.3 一个可插拔的策略层和配置 API,支持访问控制、速率限制和配额。
3.4 集群内所有通信的自动度量、日志和跟踪,包括集群的进入和出口。
3.5 集群中具有强基于身份的身份验证和授权的安全服务对服务通信。
这个是istio的主要功能。是其特性所在,也是服务网格必备功能。在官网的入口也能一目了然。
这一部分每个子条目内容比较多,后面各个单独分析。
个人的一点思考:生活中我们住过酒店宾馆,我们每个个体都是一个独立的业务,我们只关注自己的思考和行为,管理好自己的行李箱,付费后拎包入住即可。不需要关心房子的水电气床等基础设施,因为酒店管理员已经帮你做好所有基础的东西包括安保。(不要杠关心酒店环境好坏哈,如果要杠的话环境好坏就好比机器配置)
服务网格就是让服务中的流量,日志,追踪,遥测等成为类似房子水电气安保一样的基础设施,微服务只需拎包入住,只关心自己的业务开发即可。如此,框架和业务各自聚焦。这是一方面,另外一个层次,还体现服务治理,运维和开发的剥离。
参考资料:官文istio的介绍
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。