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

Application quantification era | the way of service governance of micro-service architecture

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

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

Technology comes with the business, and the business carries the technology.

In recent years, with the development of digital economy, cloud native, DevOps, micro-services and service governance have become new topics in the industry on the road of digital transformation of many enterprises. While people understand and accept these new concepts, they also keep thinking about their possible landing forms. Demand is the driving force behind creation, so a number of representative open source technologies or frameworks emerge: Kubernetes,Spring Cloud,Service Mesh,Serverless. They are hot and brilliant. However, in the specific landing process, it is difficult and stumbling.

This paper attempts to combine the core demands of enterprise business, with the development of application form as the background, to help enterprises sort out the various service governance issues involved in the transformation of cloud-oriented and micro-services, as well as the development trend of service governance.

What is service governance?

Service governance (SOA governance), as defined by Anne Thomas Manes, is the process implemented by an enterprise to ensure the smooth completion of things, including best practices, architectural principles, governance procedures, rules, and other decisive factors. Service governance refers to the process used to manage the adoption and implementation of SOA.

From the definition, the key factors of service governance are: application form, data collection, information analysis, control strategy and protocol specification. Only from these five levels can the user group build a service governance platform in line with enterprise norms and requirements, so as to further create business value for the enterprise.

01 "micro" shaping, serving small and small

The only constant in the world is change itself. -By Spencer. Johnson

Wanli similarly, throughout the development process of application form, from stand-alone to network, from single to service, to micro-service, to Serverless, and then to the future, the form of application has been constantly changing with business-driven and technology evolution. Followed by the complexity and diversification of business requirements, enterprise IT is facing new problems such as large-scale, high concurrency and rapid application innovation. Flexibility and agility have become the urgent needs of enterprise IT.

There are two "immature" theories in the IT industry: first, each additional line of code brings N risks; second, any problem can be solved by adding a layer of abstraction. Therefore, in the face of the complex environment of enterprise IT, "small and sophisticated" has gradually replaced "big and comprehensive" and become the preferred way to build enterprise services, which leads to the protagonist of "high cohesion, low coupling" in software design principles. Therefore, the concept of micro service is very popular.

The micro-service architecture allows business units to be developed and deployed independently, enabling services to have flexible dynamic processing capabilities, while relying on highly abstract component tools and diversified communication mechanisms. the idea of shielding the details of communication between all services to users provides the best landing practice. The emergence of micro-service effectively shortens the service launch cycle and allows enterprises to respond quickly to customer feedback and provide customers with the desired reliable service.

However, with the development and expansion of enterprise business and the deepening of micro-services, the number of services is growing to an uncontrollable scale, and the explosive growth of the number of services has brought great challenges to service management and online governance. Service governance arises at the historic moment and becomes a necessary "good medicine" for the construction of micro-service architecture system.

02 "quantitative" control, service is impossible to hide.

Numbers never lie.

Nowadays, micro-service has become the actual guiding ideology of software architecture, and the extension of container technology represented by Docker and Kubernetes has also effectively solved the problem of scheduling and deployment of multiple service units under micro-service architecture. However, under the micro-service architecture, there are risks that are easy to be ignored: how to effectively control and govern the large-scale service units?

The field of service governance begins to be valued by the industry and users, hoping to obtain effective ways of thinking and technical means to deal with the service governance challenges brought by the increasing number of service units. With regard to service governance, we see more of its functional set: service registration discovery, service configuration, service breaker, gateway, load balancing, service tracking, log collection, monitoring platform and so on. But when we put aside these nouns and re-examine service governance, these nouns do not fully explain our confusion: how to set load balancing strategy? What is the format of the collection log? How does the service configuration work? How can service tracking be accurately located?

Obviously, these functional terms alone can not meet our needs of building a service governance platform, but from these functions, we summarize some laws and methods, and we will analyze and discuss how to build an effective service governance platform from the horizontal aspect of the functional scene and the depth of the technical means.

First of all, from the horizontal aspect of the service governance function scenario, it can be abstracted into four levels: quantification, tracking, control, and specification.

Quantification

Quantification includes three levels: service data collection, data filtering and data aggregation. Data collection is further subdivided into business data and performance data, which mainly includes method response cycle, resource consumption scale within the service, business anomaly detection, method invocation times, service operation log, etc. Performance data includes inter-service response time, overall service resource consumption, and so on.

The service itself needs to rely on different features and build different agent to collect the data generated by the service runtime. Data filtering aims at further processing the collected data in accordance with certain format specifications, such as standardizing the original log data based on kafka and then importing it into the log system.

Data aggregation requires aggregation operations on independent service data, such as service invocation chain rendering.

Through service quantification, all the data generated by the service runtime can be clearly recorded, which provides strong data support for service tracking presentation and service control strategy formulation.

Tracking

Tracking can effectively quantify what happens on the service invocation link, specifically, it can be divided into: link tracking between services and method invocation link tracking within services. The essence of tracking is not only to present service links and service routing information, but also to present inter-service requests, as well as response delays and abnormal feedback of internal requests within services. can quickly locate the service and the problems existing in the internal code of the service.

Management and control

Control depends on the aggregate data collected by quantification. Management and control allows operators to focus on the runtime status of a service unit and set certain control strategies for the service, so as to ensure the stable and reliable operation of the service. For example, circuit breaker policy, load policy, flow control, access control and so on.

Standard

Specification is more for service communication, such as communication protocol specification, no matter which kind of protocol, such as http,tcp,rpc, can provide the corresponding detection means. At the same time, the specification can also clearly define the service name and control strategy, so that the service migration between different environments is still stable and reliable.

To sum up, under the premise that the service unit follows certain norms and standards, and based on the quantification of service unit data, service call tracking and service policy control, a service governance platform that meets the requirements can be constructed.

Next, we consider the technical and theoretical basis involved in the process of building a service governance platform from an in-depth point of view. The reason why service governance is difficult is that the technology stack used in the construction of business systems exists in a diversified way. In terms of the technology currently used in the industry, it can be divided into three schools: code integration, agent probe and traffic hijacking.

Code integration

Code integration often needs the support of business developers to embed data collection code in the business system to collect various business indicators and performance indicators generated by the service when the service is running, and to transfer the data to the cloud governance platform. According to the data information, the platform distributes dynamically through configuration, which affects the dynamics of business response and completes the service governance function.

Advantages: deep governance, end-to-end monitoring

Disadvantages: tedious maintenance, numerous language versions, affecting business performance

Agent probe

The Agent probe is a further refinement of code integration. The Agent probe highly extracts, abstracts and encapsulates the monitoring code that needs to be integrated into a SDK that can be integrated independently, and integrates with the code in a "weak bypass" way, so as to complete the data acquisition work. Cloud governance platform, also based on the collected data and information as the basis for governance strategy formulation, issues a variety of governance strategies, so as to achieve the service governance function.

Advantages: deep governance, end-to-end monitoring

Disadvantages: there are many language versions, which affect business performance

Traffic hijacking

Compared with the former two, traffic hijacking is different from code integration. It takes the network communication as the cut-in point, in the way of proxy, it proxies all the IN/OUT traffic of the business unit, and the proxy can carry on certain policy control to the request data. In order to complete the governance function of service communication.

Advantages: irrelevant to language differences and easy to maintain

Disadvantages: slightly shallow governance, affecting business performance

To sum up, the current service governance technology stack more or less has some defects, in the construction of service governance platform often need to use a combination of ways, in order to make the best use of resources.

03 "A hundred schools of thought contend" to achieve the future

Competition makes the future.

Judging from the current development of the industry, micro-service has laid the foundation for service construction, container engine and choreography technology have solved the confusion of service orchestration, and the next scenario of "military struggle" will be in service governance. At present, what projects in the industry focus on the field of service governance?

SpringCloud

As one of the important layouts of the Spring community, SpringCloud has gradually become synonymous with the micro-service framework under the Java system. SpringCloud uses the Netfilx family bucket as the initialization basis to provide developers with a service support framework for business units. At the same time, it also develops a series of service governance SDK for developers to choose. In the context of the development of micro-services, SpringCloud is in its heyday.

Dubbo

Dubbo was originally Alibaba's open source rpc remote invocation framework, which was originally designed to solve the problem of remote service invocation based on rpc protocol. As Alibaba restarted Dubbo, it also began to make efforts in the field of service governance and became the first choice for many communication basic system platforms based on rpc protocol. Roughly speaking, Dubbo and SpringCloud have become the "double guns" of service governance under the Java system.

GRPC

GRPC, like Dubbo, was originally a remote service invocation framework open source by Google. GRPC with HTTP/2 and RrotoBuf service definition and multi-language support features, coupled with its easy customization and development, developers can quickly expand and flexible play, so it has become one of the choices of many users.

Service Mesh

The emergence of Service Mesh does not lie in how many functions it has achieved, but that it completely separates the business unit from the business support system, and completely implements the idea of "specializing in the technical industry". It allows business people to focus on business implementation and no longer care about the content related to service governance. By combining with container technology, sinking to the infrastructure, and completely taking over the business communication interaction process from the perspective of communication protocols, it can be called a rising star in the field of micro-service governance.

In a word, the essence of service governance is to generate value convergence and feedback for business and application. Only continuous feedback and review can we build a stable and efficient application form.

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