ServiceMesh实战
杨章显
前言
为什么要写这本书
2016年年初,位于旧金山的一家初创公司Buoyant开源了一款产品——Linkerd。对IT界来说,每天都会发生很多类似的事情,各种新技术、新产品日新月异、层出不穷,开源一款产品几乎是微不足道的事情。但就是Buoyant的Linkerd,开启了一个新的时代——Service Mesh(服务网格)时代,成为微服务和云原生应用的引爆点,为微服务和云原生应用在企业的推广、应用和普及提供了更好的支撑点。
事实上,微服务架构已经被不少公司采纳,而云原生应用是在容器化技术和公有云平台的广泛发展下衍生出来的技术架构。但是,无论是微服务还是云原生应用架构,都面临一些不可避免的问题:如何提高应用系统的稳定性和可靠性;如何保证系统的可扩展性、容错及健壮性;如何增强系统的可见性、可管理性及安全性等。说到底,为什么Linkerd的出现会成为引爆点?主要是因为Linkerd引入的Service Mesh概念使得我们可以使用更加通用、灵活的方法解决上述问题。这也是随后多种Service Mesh产品的出现以及多家云服务提供商也支持Service Mesh的原因。Linkerd作为Service Mesh的开山鼻祖,据其官网介绍,目前已经被全球多家公司采纳,运行在产线环境为客户提供各种服务。因此,很有必要学习和了解Linkerd的工作原理,以此解决工作环境中遇到的问题,以及借鉴其设计精华开发自己的Service Mesh产品。
幸运的是,在2016年年底,我所在的公司正好要将一些服务进行微服务化,尝试新的技术架构带来的好处和优势,因此在进行技术方案选型的时候Linkerd就成为我们的主要目标,并最终选择Linkerd作为我们微服务平台中非常重要的组件。使用Linkerd之后,实实在在地给我们带来不少好处和优势。
首先,使得我们的应用开发工程师可以专注于业务逻辑的实现,避免将精…