为什么我们需要Service Mesh?
极客时间编辑部
讲述:丁婵大小:1.37M时长:03:00
Service Mesh(服务网格)是一个基础设施层,让服务之间的通信更安全、快速和可靠。如果你在构建云原生应用,那么就需要 Service Mesh。
在过去的一年中,Service Mesh 已经成为云原生技术栈里的一个关键组件。很多拥有高负载业务流量的公司都在他们的生产应用里加入了 Service Mesh,如 PayPal、Lyft、Ticketmaster 等。
今年一月份,Service Mesh 组件 Linkerd 成为 CNCF(Cloud Native Computing Foundation)的官方项目。那么,Service Mesh 到底是什么?为什么突然间变得如此重要?
Service Mesh 实际上就是处于 TCP/IP 之上的一个抽象层,从某种程度上说,也有点类似 TCP/IP。TCP 对网络端点间传输字节的机制进行了抽象,而 Service Mesh 则是对服务节点间请求的路由机制进行了抽象。Service Mesh 不关心消息体是什么,也不关心它们是如何编码的。应用程序的目标是“将某些东西从 A 传送到 B”,而 Service Mesh 所要做的就是实现这个目标,并处理传送过程中可能出现的任何故障。
与 TCP 不同的是,Service Mesh 有着更高的目标:为应用运行时提供统一的、应用层面的可见性和可控性。Service Mesh 将服务间通信从底层的基础设施中分离出来,让它成为整个生态系统的一等公民,它因此可以被监控、托管和控制。
那么 Service Mesh 到底可以做什么呢?在云原生应用中传输服务请求是一项非常复杂的任务。以 Linkerd 为例,它使用了一系列强大的技术来管理这种复杂性,包括回路断路器、负载均衡、延迟感知、最终一致性服务发现、重试和超时等。这些技术需要组合在一起,并互相协调,它们与环境之间的交互也非常微妙。
而大规模分布式系统都有一个共性,当局部故障累积到一定程度的时候,就会造成系统层面的灾难。Service Mesh 的作用就是在底层系统的负载达到上限之前,通过分散流量和快速失效来防止这些故障破坏到整个系统。
Service Mesh 并非新出现的功能。一直以来,Web 应用程序需要自己管理复杂的服务间通信,从过去十多年间应用程序的演化就可以看到 Service Mesh 的影子。
尽管 Service Mesh 在云原生系统方面的应用已经有了快速的增长,但仍然存在巨大的提升空间。无服务器 (Serverless) 计算正好需要 Service Mesh 的命名和链接模型,这让 Service Mesh 在云原生生态系统中的角色得到了彰显。服务识别和访问策略在云原生环境中仍显初级,而 Service Mesh 毫无疑问将成为这方面不可或缺的基础。就像 TCP/IP 一样,Service Mesh 将在底层基础设施这条道上更进一步。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论