define
As defined by Linkerd CEO William Morgan, Service Mesh is an infrastructure layer that handles communication between services, and is used to achieve reliable request delivery in the complex Service topology of cloud native applications. In practice, a Service Mesh is usually a set of lightweight network agents that are deployed with the application but are transparent to the application.
Architecture problem
The microservice architecture adopted by our company is based on Thrift communication. In order to provide a universal communication protocol, the operations related to protocol and routing are encapsulated in the internal base library. The early adopters of SOA/ microservices, such as Netflix and Twitter, deal with these problems by establishing internal libraries. It then provides the same for all services to use. The problem with this approach is that the library extensions to the hundreds of thousands of micro Service difficulty is extremely high, and the library is relatively “fragile”, fundamental internal library, every time I need to upgrade for many micro Service, although there is a container support, is also a small disaster ~ ~ and Service Mesh provides a solution to solve the difficulties and unity. \