有没有同学了解过Service Mesh。 

什么是Service Mesh? 

简单来说,它可以直接翻译成服务网格。它是一个基础设施层,用于处理服务之间的通信,并且负责请求的可靠传输。什么意思呢? 

serviceMesh演进 

在第一代网络计算机系统时代,那个时候的程序员需要完成服务的网络通信,需要自己写代码来处理网络通信的细节,比如数据包的顺序、流量控制。导致网络处理逻辑和业务逻辑混合在一起,同时对于开发人员来说要求较高。为了解决这个问题,把网络层的处理逻辑进行抽象,实现了TCP/IP技术。对于用户而言,并不需要关心底层的网络通信环节。 

到了微服务时代,我们也面临了类似的问题。业务人员在做微服务开发时需要处理一些列比较基础的事情,比如服务注册、服务发现、负载均衡、服务熔断和重试等。 

这些功能对于每一个业务程序员而言,都必须要了解和掌握,而实际上这些和业务功能并没有太大的关系,它理应是一个基础组件。 

所以,有些公司就开始开发基础组件,典型的Netflix OSS套件(eureka/hystrix/feign/ribbon/zuul)。有了这些组件,开发人员就可以使用很少的代码来实现这些服务治理的功能。而恰恰因为这个原因,使得Spring Cloud的普及非常快,几乎成了微服务的代名词 

service mesh 服务治理能力 service mesh用来解决什么_微服务

但是到这一步之后,就完美了吗?其实不是, 虽然spring cloud这个生态中的各种组件能够解决微服务开发中的各种问题,但是对于一个业务开发而言,需要掌握这么多的技术组件,门槛比较高。同时在落地的过程中任何一个组件出现问题,都需要较长的时间来解决。要完全吃透Spring Cloud和Netflix OSS的各种套件是很困难的