I. Background & ISSUES
The previous framework was a distributed framework based on SOA thought design. Each application is provided by the service mode, and the communication between services is called by RPC method, and the concrete implementation is based on. NET's WCF communication platform. The framework has the following 2 issues:
1, high concurrency processing capacity is insufficient. When a high concurrent request, there may be multiple services pending processing, resulting in a bottleneck throughout the system.
2, with the mobile side widely used, services can not flexibly support app applications.
3, System continuous integration deployment is too cumbersome, the problem is not good positioning.
Based on the above existing problem upgrade framework, combined with the current mainstream architectural ideas, the system of Service thinking, is the "micro-service architecture."
Second, micro-service architecture
The MicroServices architecture (MicroServices Architecture) is the split system into multiple services, commonly known as application services. Application services enable single, specific business application capabilities, support standalone deployment maintenance, and build multiple application services into a system. Application services are carried out through a lightweight communication framework, and support for application services is implemented with different technologies or platforms. MicroServices architecture is another way of implementing SOA architecture design ideas. The MicroServices architecture has the following features:
1. Micro-Service Architecture Benefits
(1) Scale-out application service to enhance the system concurrency processing ability
(2) Application service independent deployment maintenance, facilitate iterative development and upgrade continuous deployment
(3) Flexible architecture to support multiple technology implementations
(4) Enabling high availability of application services
2, micro-service architecture is insufficient
(1) The system design has certain requirements, especially the Separation Technology Application service Interface
(2) Improve the complexity of system implementation
(3) need to ensure system data consistency mechanism
(4) lead to system maintenance requirements and cost improvement
Whether the system needs to be built with a microservices architecture is determined by the project requirements. Using MicroServices architecture to design and build systems, the ability of team members is higher than traditional requirements, especially the design ability.
Three, the Framework design principles
1, extensible: Support does not modify the system functions, on-demand expansion of server resources.
2, High Availability: support distributed deployment of dual-machine hot standby mechanism to meet the requirements of high availability of the system.
3, High concurrency: Support the rapid expansion of application services processing capacity, improve the system processing capacity to meet concurrent requests.
4, Security: Access security through unified authentication access, information security through encryption and decryption, signature transmission, network security through network isolation and firewalls, data security through scheduled backup and high fault-tolerant ability.
5, consistency: the adoption of the final data consistency strategy.
. NET distributed Future: MicroServices