The difference between microservices and distributed

 The difference between microservices and distributed

 The difference between microservices and distributed



Distributed architecture:  is the application and tool of distributed computing technology. The current mature technologies include J2EE, CORBA and .NET (DCOM). These technologies involve a wide range of content, and there are many related books, and they do not involve the details of these technologies. , Just to discuss their main similarities and differences from the background of various distributed system platforms and their applications in software development.

Microservice architecture: is a new technology for deploying applications and services in the cloud. Most of the debate around microservices is focused on whether containers or other technologies can implement microservices well, and Red Hat says that APIs should be the focus. (Recommended study: Java video tutorial)

Microservices can run in "own programs" and communicate with HTTP-type APIs through "lightweight devices". The key is that the service can run in its own program. Through this we can distinguish service exposure from microservice architecture (an API distributed in an existing system). In service disclosure, many services can be restricted by internal independent processes. If any of these services need to add a certain function, then the scope of the process must be reduced. In the microservice architecture, only the required functions need to be added to a specific service without affecting the overall process architecture.

From a conceptual understanding, the distributed service architecture emphasizes service and service decentralization, while microservices emphasizes service specialization and fine division of labor; from a practical point of view, the microservice architecture is usually a distributed service architecture, and vice versa It may not be true. Therefore, choosing microservices usually means solving various problems of distributed architecture.

The way to distinguish distributed is based on different machines and different businesses.

Divide a large system into multiple business modules, which are deployed on different machines, and each business module exchanges data through interfaces. The way to distinguish distributed is based on different machines and different businesses.

Microservices emphasize single responsibility, lightweight communication (HTTP), independence, and process isolation.

The subtle difference between microservices and distributed is that the application of microservices is not necessarily scattered on multiple servers, it can also be the same server.


Is distributed microservices?

Not necessarily. If a large application is split into three applications, it is still very large. Although it is distributed, it is not a microservice. The core element of microservices is tiny. .

Microservice architecture is a subset of distributed service architecture.

The microservice architecture makes the iterative speed and parallelism of the entire system higher through finer-grained service segmentation, but the complexity and performance of operation and maintenance will increase with the finer granularity of the service.

Microservices focus on decoupling, making each module independent. Distribution focuses on resource sharing and speeding up computer calculations.

Distributed: Distribute pressure. Microservices: decentralized capabilities.

  

Course Introduction:


The technical system and community of the microservice architecture have become more and more mature. In the initial establishment of the system architecture, or when the existing architecture has reached a bottleneck and needs to be evolved, many architects and operation and maintenance engineers will consider whether to build a microservice architecture system. Although many articles say that the microservice architecture is complex and will bring about many distributed problems, as long as we understand these problems and find a solution, there will be a feeling of breaking the cloud.

The microservice architecture is not perfect either. There is no perfect architecture in the world, and the microservice architecture is constantly evolving as the business and team grow. At the beginning, there may be a few or a dozen microservices. Each service is sub-database, and service data is merged and forwarded in parallel through API Gateway. As the business expands, search engines, caching technologies, distributed message queues, data replication, partitioning, and table splitting at the data storage layer are constantly being added.

This course will solve the problems of distributed scenarios under the microservice architecture one by one, and through the introduction of some distributed technology principles, models and algorithms, help engineers who want to implement the microservice architecture know what they are. So yes.


Course content:

Evolution of microservice architecture

Microservices are a distributed architecture system that is loosely coupled between services, highly autonomous between each service, and uses lightweight protocols for communication. This sentence contains the characteristics of microservices. What is the difference between microservice architecture and other architectures? The following compares some common architectures.


Monolithic architecture:

Monolithic architecture is the simplest software architecture, often used in traditional application software development and traditional Web applications. Traditional web applications generally package all functional modules (jar, war) in a web container (JBoss, Tomcate) to deploy and run. With the increase in business complexity and the expansion of the technical team, maintaining code in a single application will reduce development efficiency. Even if it is to deal with a small demand, it is necessary to deploy all the applications on all machines, increasing the operation and maintenance the complexity.

No comments