Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

A preliminary study of Service Grid Framework: Istio, Linkerd and SOFAmesh

2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

Boyun Technology Community (ID:bocloudresearch), operated by Boyun Research Institute, focuses on IT evolution research, explores the deep integration of cloud technology and industry applications, and brings perfect solutions for the digital transformation of the industry.

Guide reading

In 2018, Service Mesh is very popular in China, and many companies have launched their own Service Mesh products and programs. This article combines several open source schemes with high attention in the field of Service Mesh, and makes a preliminary interpretation from the architecture level.

What is Service Grid (ServiceMesh)?

The definition of Service Mesh given by Willian Morgan--Bouyant CEO:

The service grid is an infrastructure layer for handling inter-service communication, which is responsible for delivering reliable network requests for building complex cloud native applications. In practice, a service grid usually implements a set of lightweight network proxies deployed with the application, but is transparent to the application.

Specifically, Service Mesh is the implementation of the pre-proxy layer of the service, using the sidecar design pattern to manage inbound and outbound traffic, and for the intercepted traffic and specific configuration, to achieve route forwarding, policy control, authentication and authorization, data monitoring and other functions. The peripheral support components closely integrated with business services are separated from the service components to form an independent infrastructure layer, and then let the services return to the business itself, no longer consider the external support, and achieve real service-independent and non-intrusive governance.

As the current community implementation of Service Mesh is based on containers, this paper focuses on the Kubernetes-based Service Mesh scheme, and compares the advantages and disadvantages. At present, there are mainly three active Service Mesh implementations in the community: Linkerd2, Istio, and SOFAMesh.

Service grid comparison

Linkerd2

Linkerd is a service grid based on Kubernetes and other frameworks. It makes running services easier and more secure without making any changes to the code by providing you with run-time debugging, observability, reliability, and security.

Istio

Istio helps reduce the complexity of these deployments and reduce the pressure on the development team. It is a completely open source service grid that can be transparently layered into existing distributed applications. It is also a platform, including API that allows it to be integrated into any logging platform, telemetry, or policy system. Istio's diverse feature set enables you to run the distributed microservice architecture successfully and efficiently and provides a unified way to protect, connect, and monitor microservices.

SOFAMesh

SOFAMesh is a large-scale landing practice scheme of Service Mesh based on the improvement and expansion of Istio.

Architecture

Linkerd2

On the whole, Linkerd2 is divided into two parts: data plane and control plane. In order to better fit the Kubernetes container environment, all the functional components of Linkerd are rewritten based on Rust and Golang, including controller, management console, data collector and data display platform.

Controller (Controller)

The controller part consists of multiple containers (public-api,tap,destination,proxy-api) that provide most of the functions of the control plane.

Administrative console (Web)

The Dashboard presented by Linkerd2 is provided to facilitate operators to view the running status of the service in real time in a visual way.

Data collector (Prometheus)

The difference between the Prometheus component in Linkerd2 and the open source Prometheus component is that Prometheus in Linkerd2 has a special implementation for Linkerd2. All the monitoring indicators exposed in Linkerd2 are operated through Prometheus, and the persistent storage of data is completed.

Data display platform (Grafana)

Grafana is integrated with Prometheus as a visual display platform for performance monitoring data collected by Linkerd2.

Istio

As can be seen from the SOFAMesh architecture diagram, SOFAMesh originates from Istio. The difference is that SOFAMesh has made the following enhancements based on Ali's practical experience on the basis of inheriting the powerful functions and rich features of Istio:

MOSN (Modular Observable Smart Net-stub) written in Golang replaces Enovy while ensuring full compatibility with Envoy API

Merge the check policy function of the Mixer component in Istio into the data plane, effectively solve the "Cartesian product problem" caused by the policy check at the Mixer level in the case of large-scale service deployment, while retaining the telemetry data reporting function in Mixer.

According to the actual use of customers, enhance the service discovery capability of Pilot, on the basis of retaining the original capabilities, increase the support for Dubbo,SOFA Registry, and further increase the support for Zookeeper.

Add data synchronization module to realize data synchronization of multiple service registries

Add Open ServiceRegistry API to provide standardized service registration function

Support more protocol processing (SOFA RPC, DUBBO RPC, etc.).

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report