Istio:实现应用与基础设施解耦的强大工具
1. 快速发展面临的挑战
在当今的技术环境中,云基础设施的可靠性是一个显著问题。云环境的复杂性和动态性使得服务交互充满了不确定性,我们无法保证数据包、消息或请求在网络中的顺利传输,也难以预测其传输时间。这就要求我们让服务交互具备弹性,以应对可能出现的各种故障。同时,我们还需要实时了解系统中正在发生的情况,以便及时发现和解决问题。
传统上,我们尝试使用应用程序库来解决这些挑战。例如,一些大型云公司如 Netflix、Twitter 和 Google 开发了自己的开发者工具和基础设施。然而,这种方法存在明显的缺点。以 NetflixOSS 栈为例,它主要是为 Java 开发者编写的,对于 NodeJS、Golang 和 Python 等其他语言的团队来说,要么需要自己构建库,要么将从互联网上找到的各种功能拼凑在一起。这不仅增加了代码的复杂性和依赖关系,还使得代码的维护和升级变得困难。
2. 服务代理与服务网格的出现
为了应对上述挑战,我们可以将这些网络相关的问题推给基础设施来解决。这就引入了应用感知的服务代理,其中 Envoy 代理是一个典型代表。Envoy 代理具有许多核心功能,如高性能、可扩展性和丰富的过滤器链等。
那么,什么是服务网格呢?服务网格是一种专门处理服务间通信的基础设施层,它通过在每个服务实例旁边部署代理(通常称为边车代理)来实现对服务间通信的控制和管理。服务网格可以提供诸如流量控制、安全、可观察性等功能,而无需修改应用程序代码。
3. Istio 服务网格简介
Istio 是一个成熟且强大的服务网格实现。它的出现是实现应用与基础设施解
超级会员免费看
订阅专栏 解锁全文
1458

被折叠的 条评论
为什么被折叠?



