Traditional Culture Encyclopedia - Traditional festivals - What is microservices architecture? Can it be implemented in China now?
What is microservices architecture? Can it be implemented in China now?
Microservices
Wikipedia defines microservices as a software development technology - a variant of the Service-Oriented Architecture (SOA) architectural style, which promotes the idea that a single application can be divided into a set of small services, which are coordinated with each other and work together to provide end-value to the user. Each service runs in its own independent process, and services communicate with each other using lightweight communication mechanisms (usually HTTP-based RESTful APIs). Each service is built around a specific business and can be independently deployed to production environments, production-like environments, and so on. In addition, a unified, centralized service management mechanism should be avoided as much as possible. For a specific service, the appropriate language and tools should be chosen to build it according to the context.
The origin of the concept of microservices is how to refer to the English version of Wikipedia, a simple comb after the emergence of microservices in the history:
By the way, these people are famous, the name may be unfamiliar, but put out their work, I believe that more or less is some understanding. Martin Flower is the author of Refactoring and UML Essentials; Robert Martin, known as Uncle Bob, is an Agile expert and the author of The Tao of Tidy Code and The Tao of Tidy Architecture. Since microservices are a variant of SOA architecture, SOA is a topic that can't be crossed over when talking about microservices.
SOA
SOA is known as Service Oriented Architecture. The concept of SOA was first introduced by Gartner in 1996. Its birth has its own historical background.
At the same time, based on this background, Gartner put forward the concept of SOA, and also gave a prediction, which predicted that in 2008, SOA would become one of the most popular, and overwhelmingly dominant approach to software engineering practices.
SOA ArchitectureOften, we think that SOA has disappeared from the scene, but in fact, it has not, and many traditional industries, such as logistics and warehousing, have built their systems using SOA architecture.
For SOA, as you can see from the figure, each of its business functions is a service that requires the ability to provide services externally to complete the business functions required by the enterprise, which means that it has the ability to provide openness externally, and these capabilities can be achieved without customization. Yes, it is the foundation service needed for microservices.
Microservices ArchitectureIn a nutshell, the microservices architectural style is a way of developing a single application as a set of small services, each of which runs in its own process and communicates with a lightweight mechanism, typically the HTTP Resource API. /Each service runs in its own process and communicates with a lightweight mechanism (typically an HTTP resource API). These services are built around business capabilities and can be deployed independently through a fully automated deployment mechanism. These services are minimally centralized and can be written in different programming languages and use different data storage technologies.
The above paragraph is a core snippet from Martin Fowler's paper on microservices architectures, and from the above snippet we distill three things at the heart of microservices architectures:
One is "small services", which breaks down an application into a set of small services;
the second is " running in its own process and communicating with a lightweight mechanism (usually the HTTP Resource API) ", where microservices are made up of independent processes and the processes communicate with each other through a lightweight mechanism;
the third is that " can be deployed independently through a fully automated deployment mechanism", meaning that each microservice can be deployed quickly and independently.
In fact, this is a very precise and accurate description of the basic characteristics of microservices. It can be completely used as three reference bases and test standards for landing in microservice architecture practice.
Microservices vs. SOAComparison dimensions
Microservices
SOA
Examples
Technology essence
Smart endpoints and dumb pipes
Smart pipes and dumb endpoints
Application Scenarios
Internet industry
Traditional industry or intra-enterprise
SOA, enterprise OA; microservices, e-commerce platforms
Service Granularity
Fine
Coarser
Service communication
Standardized, lightweight
Service communication
Standardized, lightweight <
Heavyweight
SOA, ESB; microservices, HTTP, RCP
Service Delivery
Fast
Slower
Microservices, easy to upgrade with small services; SOA centralized functionality, more difficult to upgrade
Evolution of the Application ArchitectureThe initial
With the development of software architecture, the emergence of SOA architecture, SOA will be the monolithic architecture to do the split, split into coarse-grained services, at the same time part of the public **** function independently of the formation of the ESB, the advantages of
However, due to the need for a SOA architecture, a unified communication interaction (ESB), resulting in an increase in the amount of work to interface development.
Further development, microservices architecture appeared, the service further split, split into more granular services; further providing a diversity of architectural choices, the main advantages of microservices architecture is
It is because of the microservices will be split into smaller services, it also brings some challenges, such as the difficulty of multi-service operation and maintenance increased, service communication costs become higher, more difficult to maintain data consistency, increased requirements for performance monitoring.
So when choosing an architecture for your business, you should consider multiple aspects to choose a more appropriate architecture.
By the way, the architecture evolution here refers to the entire history of the development of the architecture, and does not mean that your service must go through this evolutionary process, just more architectural patterns to provide more choices. When we do architectural evolution, it's more about evolving monolithic applications to SOA architectures or evolving to microservice architectures.
Micro-service products for SMEs provide comprehensive operation and management standardized services such as automatic response menu, micro-site generation and management, micro-credit CRM system services, micro-credit public platform customer service, and other multi-functional micro-credit operation and management platforms.
WeChat Manager is to help enterprises provide WeChat users with more complete service information, user interactive experience, marketing effect and other enterprise application solutions through the technical platform access, operation and management of enterprise WeChat public accounts.
For enterprise customers to provide WeChat platform based on customer service, product promotion, interactive marketing, market research, product orders and other operations and system functions
Hello, I am very happy to receive the invitation to answer your question.
In addition to the three popular technologies of cloud computing, big data, and artificial intelligence, Java is known as the "soul of programming and development", and microservice architecture, as a Java-based higher-order skills, can also not be ignored.
According to the traditional software development model, when developing a project, we usually create the project as a behemoth, which consists of a series of small modules, such as the "user module, order module, commodity module, payment module", once a module falls off the chain, the entire project will be Game!
In order to solve this problem, we will be a large project is split into a number of independent small projects, each independent small project is called a service. The services access each other through interfaces. Even if some services hang, it does not affect the operation of other services. This project architecture is called microservice architecture.
The microservices architecture is the core of the framework of the entire Internet, controlling the backbone of the entire Internet, a good architecture can build a perfect Internet platform. Therefore, architects with expertise in microservices are highly valued.
In the first half of this year, Hunting Hire released the "Hunting Hire 2019 first half of the employment status of high-end talent big data report", in the sub-field of hot recruiting data statistics, architects on average reached a staggering 428,000 yuan, becoming the most popular field position salary.
Microservice architecture system flexibility, robustness, scalability is good, especially suitable for the scene of rapid changes in demand. However, the system complexity is high, deployment, management is difficult. In addition to the development of microservices framework, there is a need for a series of runtime middleware support, such as API gateway, service registration center, unified configuration center. At present, the more mature domestic bar, Neusoft has a team doing, their website is /
Domestic commercial RestCloud microservices architecture1, as the enterprise API calls the unified export and permission authentication center, 2, as a lightweight enterprise-class service bus to replace the enterprise's original ESB system, 3, the realization of all APIs, interfaces, standardization, visualization, and management. Interface standardization, visualization, unified control 4, as the core API gateway to the microservice architecture, integrated into the enterprise microservice architecture 5, as the enterprise and the supply chain and partners of the ability to export the interface to build the OpenAPI portal 6, as the enterprise to call the third-party API (Jingdong, Taobao), such as a unified API access platform 7, to open up the enterprise's internal business system and the external business system 8, to achieve the enterprise has RestAPI, WebService, Dubbo, Kafka, MQTT and other interfaces of the registration and protocol conversion p>
- Previous article:Honor your parents.
- Next article:What are the differences between Chinese and western traditional cultures? Two or three hundred words.
- Related articles
- How to guide students to write dialogue composition teaching plans well
- What are the rules about wearing new clothes or wearing a birthday suit after the death of an old person?
- Send king boat Minnan taboo send king boat custom introduction
- What are the main literary achievements in the Spring and Autumn Period and the Warring States Period?
- Watercolor Character Illustration Couple - How to paint a good watercolor illustration?
- Chinese Painting Painting Rod
- How does vivo mobile phone survive in Jedi?
- The old objects of the past are fading away, what are the old objects that impress you the most?
- How to change the password of the harem?
- Maintenance skills of construction machinery parts?