Another more suitable name for “microservice” technology



these two daysWatch the sky at nightI’m ready to share. I’ve made some reflections and summaries on the origin and development of servitization, microservice and other technologies. Of course, there have been 100 or 10000 different articles on the Internet to explain and describe what servitization is, what microservice is, and what’s the difference between microservice and servitization. I’ve also seen one or two of them. I never intend to say things that are repetitive, and what I say is not as good as the master. However, microservice is not like the technology of [I don’t want to mention the network hot word] which is basically nothing, that is, cheating laymen, or “everyone understands that thing, and everyone’s understanding is inconsistent”. Calm down and think about it, one possibility is that the name is not good, and it doesn’t directly hit the essence, which leads to some misunderstandings Two days later, I suddenly figured out something. Here I’ll discuss it with you.

Service and micro

First of all, let’s buckle the words, service(service)What is it? The action of helping or doing work for someone. In fact, the meaning is the same. The English meaning 2 is more close to our technical point of view [a system supplying a public need such as transport, communications, or utilities such as electricity and water]. Although the corresponding Chinese is obviously “public utilities”, it is still the core point of “servitization”: 1. Independent system; 2. Public demand.

Then take a look at “micro”(micro-)There is no misunderstanding about the literal meaning of the word, but it is a bit difficult to interpret it in micro services. There are many correct answers, such as:

  • Single responsibility (small, cohesive)
  • Single process, containerization, etc. (lightweight)

As like as two peas, the problem is that these characteristics, directions and guiding principles are exactly the same as those of the megalith structure. If a thing is more advanced than the original one and only changes in quantity, it is not qualified to be discussed separately: high speed railway is also railway, no matter how fast it is, even maglev, which is faster than plane, is still railway, railway station and rail transit system. Airplanes, no matter how slow they fly or how many problems they have, are different from trains because they are qualitative changes.

I don’t quite agree that micro service is just a quantitative change in the original direction of service, so I don’t quite agree with the name of micro service. It’s like calling an airplane an ultra fast train. Fast is the advantage of an airplane over a train, but the essence of an airplane is flying, not fast.

The essence of microservice

Let’s think back and forth about what we usually talk about when we talk about “micro services”? Service governance, service grid In fact, these things are not directly related to “micro”, but the name of micro service has been used by people all the time, and I don’t find anyone dissatisfied with the name (there must be, but I don’t know). Maybe it’s because these technologies solve the problem of further swelling of single service and attempt to further split (micro) after the implementation of service The actual difficulties encountered in the process of construction.

There are two ways to solve the practical difficulties of raising train speed: Inventing faster trains or inventing airplanes. What makes us think that “micro service” is not high-speed rail, but airplanes. Compared with service-oriented trains, it is revolutionary? The answer to this question (flying) can eventually become a better name for microservice Technology (aircraft).

Istio, the apple of microservice technology, has been developing rapidly. A recent news is that istio has reconstructed its control plane, which reconstructs the original “microservice” architecture inside the control plane into a single architecture. Several components of the original control plane, such as pilot, galley and citadel, have been merged into one istiod program. This news has caused some discussions about micro services vs. Jushi, but in any case, no one will think that after istio becomes a single service, istio architecture is not a micro service architecture. This also proves my thinking that the essence of micro services is not micro services. So what are the characteristics that enable istio to present the essence of its micro services?

Meta service

Istio itself was originally a micro service. Even if it becomes a giant stone architecture, it is still a service. There are essential differences between this service and various services in the non micro Service Architecture: the “public demand” of its service is neither the business demand (business service) nor the demand of technology implementation (basic services such as dB and queue), but the “servitization” itself, istio is for service Service oriented service. Writing services to solve the bottlenecks and challenges encountered in the process of servitization is the essence of “microservice architecture” which is different from servitization architecture. This is not shaken by the integration of internal components of istio into giant stone architecture. This is the essence of “microservice” technology, so its name should be meta service. (from here on, I call micro service meta service)

Yuan(meta-)The meaning of this prefix is self reference, X about X: data about data is called metadata, and writing program operation program is called metaprogramming. Then, the service that solves the problem of service should be called meta service. When we discuss meta service, we almost don’t discuss whether a business service is micro or how to make it micro, but discuss the need to implement it in order to split the service well So and so characteristics, so the introduction or development of so and so services to solve this problem.

Why is service architecture in trouble? Because the service-oriented architecture does not use the service-oriented idea when solving its own problems. Meta service is a more comprehensive application of the service-oriented idea, which makes it different from the service-oriented architecture in essence. It becomes an airplane and is discussed, practiced and learned by everyone.


With this thinking, I searched for meta service for the first time, but I didn’t find any similar articles. The meta service related to technology is generally meta service, which is metadata service. There is nothing more about Chinese meta service, so I have this article.

From my blog

Recommended Today

Libp2p RS version 0.3.0 introduction

V0.3.0 released on 4.23, usingAsyncRead & AsyncWriteTo replace ourReadEx & WriteEx & SplitEx; SimplifiedKad/DHTImplementation logic. modify ReadEx & WriteEx & SplitEx: At first we tried to useasync-traitTo define their own IO operationsTraitFor more pure useasync/awaitTo write code. withReadExFor example, it is roughly as follows: #[async_trait] pub trait ReadEx { async fn read(&mut self, buf: &mut […]