当前位置:网站首页>Devops software architecture evolution
Devops software architecture evolution
2022-06-10 16:21:00 【SpriCoder】
Software architecture evolution
- from devops From the perspective of software architecture
- Decision makers : Software architecture is made up of decisions
- Make up a pie : Components + Connections + constraint
1. Monomer architecture
- All functions of a single application are integrated together as a single unit
- The single architecture is more used as the deployment architecture of applications , Not necessarily running in a process .
2. Layered architecture
2.1. " Separation of concerns " From an ideological point of view
- A system in which software is divided into four layers ( The presentation layer + The business layer + Persistence layer + The data layer , Adjacent layer access )
- advantage : Simplified structure , Conducive to organizational development , Easy to test independently 、 maintain
- shortcoming : It is not conducive to continuous release and deployment 、 Performance cost 、 Expandability of
2.2. Service Oriented Architecture (SOA)
- Delay the binding time as much as possible , Runtime binding
- Use a collection of distributed components , these Components Provide services for other components , perhaps consumption Services provided by other components , Without knowing the implementation details of other components .
- Enterprise service bus (ESB): Provide a supporting environment for mutual invocation of services before , Routing messages between services , And the necessary transformation of messages and data .
- Service choreography engine (Orchestration Engine): According to the predefined Script Command between service consumers and service providers

- characteristic :
- Service comes from height , Services are loosely coupled , Minimize interaction in development and maintenance
- Good operability
- Modularization , High reusability
- Service dynamic identification 、 Ancestral book 、 call
- System complexity increases
- Difficult to test and verify
- The evolution of independent services is uncontrollable :BSS Influence
- principle :

2.3. Features of microservice Architecture

2.4. The challenge of microservice Architecture

3. Cloud native applications (Cloud nativa SaaS)

4. Microservice architecture
4.1. What is microservice architecture (MicroServices)
- 2012 Microservice architecture was proposed in
- A way to develop a single application into a set of small services , Each service runs in its own process , Lightweight communication mechanism is adopted for inter service communication , Built around the grid business capability, it can be deployed independently through the automatic deployment mechanism .
- A small, autonomous system , Distributed asynchronous , After that, a series of small services are arranged in the way of arrangement
4.2. Features of microservice Architecture
- Through service componentization :
- A component is a software unit that can be replaced or upgraded independently , The microservice architecture decomposes into services in a componentized way .
- A service is an out of process component , adopt Web Service request or remote invocation (RPC) Mechanism communication .
- The main reason for using services as components is that services can be deployed independently .( Conform to cloud computing )
- More clearly reflect the definition of services .
- Organize around business capabilities
- At the technical level, the division of labor shall be considered ( Cross team communication )-> Carry out wide stack communication around business capabilities .
- It is a product model ( Not the project model ), Pay more attention to users , How to improve users' usage
- Cohesion and decoupling
- The goal of the system based on microservices is to decouple and cohere as much as possible , They have their own domain logic .
- When the system is divided into separate services , available Domain-driven design Idea , Divide a complex domain into multiple Bound context , And map the relationship between them .
- The determination of service and context boundaries helps to clarify and strengthen the separation
- De centralization
- Decentralized governance ( Using different development frameworks 、 Language 、 database ), As long as there are agreed interfaces and deployment specifications
- Data decentralization :
- Decentralization of data storage ( An enterprise shares a database -> Each microservice uses its own database )
- Decentralization of data management ( Business : Guarantee consistency -> No transaction : Pay the cost of maintaining consistency and fixing errors )
- Infrastructure Automation :
- With the automation of infrastructure , Especially Yunhe Web Services It provides implementation possibility for microservice architecture
- Service design
- High availability :( Avoid the problem of call failure ): We set up complete monitoring and logging for each micro service , Help us find out bad behaviors quickly .
- Service change and evolution : The component is already in the service , The particle size decreases , Can be published frequently and independently .
- Frequently changing parts should be abstracted out : If the service is modified more than once , We should abstract it into a single service .

4.3. The core mode of microservice Architecture
- Service registration and discovery :
- The mechanism for service consumers to obtain service providers , To realize the explanation between the two .




- API gateway ( Lightweight communication framework ) API Gateway
- Provides a single entry point for all clients , Provide different services for different clients API
- The client does not care about the application's microservices Split The way
- Ensure that the client is not affected by Service instance So far
- Provide... For each user The optimal API( The closest )
- Lower request Roundtrip frequency
- Simplify the complexity of the call


- Fuse mode :
- There is inevitably a dependency relationship between micro services , At the same time, they communicate with each other through the network , Once any service or network problem causes the request error , May cause cascading failure , Gradually enlarge the unavailability in the system



4.4. Implementation of microservice architecture
- JenKins: Support nearly 1000 A service
4.4.1. Micro service technology selection ( Lightweight )
- Development services
- Packaging services
- Deployment Services
- Registration service
- Call the service

边栏推荐
- this和对象原型
- Recommend an easy-to-use designer navigation website
- When visual studio 2019 is installed, vs installer cannot download files. The progress bar is 0. It shows the solutions to network problems
- Guanghetong cooperates with China Mobile, HP, MediaTek and Intel to build 5g fully connected PC pan terminal products
- torch. utils. data. Dataloader() details [pytoch getting started manual]
- 运行mapreduce任务缺失setJarByClass()报错找不到类
- Sword finger offer 06 Print linked list from end to end
- [untitled]
- [section 6 functions]
- 2D human posture estimation for posture estimation - numerical coordinate progression with revolutionary neural networks (dsnt)
猜你喜欢

「技术干货」工业触摸屏之驱动开发及异常分析(连载)

Aperçu en direct | déconstruire OLAP! Le nouveau paradigme de l'architecture d'analyse multidimensionnelle est entièrement ouvert! Apache Doris va apporter cinq gros problèmes!

MapReduce之Reduce阶段的join操作案例

2D human posture estimation for posture estimation - associated embedding: end to end learning for joint detection and grouping

Distribution aware coordinate representation for human pose estimation

Detailed installation steps of mysql8

Explore the secrets behind the open source data visualization development platform flyfish!

直播預告 | 解構OLAP!新型多維分析架構範式全公開!Apache Doris 將帶來五個重磅議題!

Implementation of word count case code in MapReduce
![Jerry's ble IO port interrupt and flip [chapter]](/img/e6/bd5bb99ba79ca8daaee844689cd57f.png)
Jerry's ble IO port interrupt and flip [chapter]
随机推荐
this和对象原型
Rk3308 key and LED light
This and object prototypes
软件测试架构师,给后辈的16条忠告,快看看别错过
Code implementation of partition case of MapReduce
Actual combat of software testing e-commerce project (actual combat video station B has been released)
[section 14 STL container II]
MapReduce之Word Count案例代码实现
torch.utils.data.DataLoader()详解【Pytorch入门手册】
The command set has reached strategic cooperation with Yingmin technology, and the domestic original Internet of things operating system has helped to make power detection "intelligent"
Duyuan outdoor sprint to Shenzhen Stock Exchange: the annual revenue is 350million, and the color of Lin Xizhen family is obvious
SQL language
【第七节 函数的作用】
Server operation and maintenance environment security system (Part 2)
Apple mailbox configures QQ mailbox, 163 mailbox, edu mailbox, Gmail mailbox, and obtains Gmail calendar
Sm59 remote connection. If you are prompted that there is no host, add host to the server and restart SAP_ SAP LIUMENG
直播預告 | 解構OLAP!新型多維分析架構範式全公開!Apache Doris 將帶來五個重磅議題!
姿态估计之2D人体姿态估计 - Associative Embedding: End-to-End Learning for Joint Detection and Grouping
Jerry's ble timer clock source cannot choose OSC crystal oscillator [chapter]
直播预告 | 解构OLAP!新型多维分析架构范式全公开!Apache Doris 将带来五个重磅议题!