66 | 基于Istio的服务网格架构
周志明
你好,我是周志明。
当软件架构演进到基于 Kubernetes 实现的微服务时,已经能够相当充分地享受到虚拟化技术发展的红利,比如应用能够灵活地扩容缩容、不再畏惧单个服务的崩溃消亡、立足应用系统更高层来管理和编排各服务之间的版本、交互。
可是,单纯的 Kubernetes 仍然不能解决我们面临的所有分布式技术问题。
在上一讲针对基于 Kubernetes 架构中的“技术组件”的介绍里,我已经说过,光靠着 Kubernetes 本身的虚拟化基础设施,很难做到精细化的服务治理,比如熔断、流控、观测,等等;而即使是那些它可以提供支持的分布式能力,比如通过 DNS 服务来实现的服务发现与负载均衡,也只能说是初步解决了分布式中如何调用服务的问题而已,只靠 DNS 其实很难满足根据不同的配置规则、协议层次、均衡算法等,去调节负载均衡的执行过程这类高级的配置需求。
Kubernetes 提供的虚拟化基础设施,是我们尝试从应用中剥离分布式技术代码踏出的第一步,但只从微服务的灵活与可控这一点来说,基于 Kubernetes 实现的版本其实比上一个 Spring Cloud 版本里用代码实现的效果(功能强大、灵活程度)有所倒退,这也是当时我们没有放弃 Hystrix、Spring Security OAuth 2.0 等组件的原因。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了基于Istio的服务网格架构的演进和应用。作者指出,尽管Kubernetes提供了强大的虚拟化基础设施,但仍然无法解决所有分布式技术问题。因此,基于Kubernetes之上构建的服务网格成为最先进的架构风格,通过中间人流量劫持的方式,以边车代理(Sidecar)实现了业务代码专注、分布式问题可配置、安全和可观测的目标。文章还介绍了Fenix's Bookstore的需求场景和技术架构的演进目标,包括实现可管理、可观测的系统和裁剪技术栈深度,回归单体架构中基于Spring Boot的开发模式。最后,文章提供了在Kubernetes无Sidecar状态下运行和在Istio服务网格环境上运行程序的操作指南。通过本文,读者可以了解到基于Istio的服务网格架构的优势和应用场景,以及在实际环境中的运行方式。
该试读文章来自《周志明的软件架构课》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论