Distributed Learning System: distributed systems technology stacks 03

To construct a distributed system: to increase system capacity; improve system availability. That is the big deal with the flow of business-critical protection.

  • Large traffic processing through clustering technology to large-scale concurrent requests to spread the load on different machines

  • Business-critical protection to increase the availability of back-office services, fault isolation up to prevent a domino effect (avalanche effect).

Need to do is: First, to improve the throughput of the overall architecture, and serve more concurrent flow, and second, to improve the stability of the system, so that higher system availability. Improve performance architecture

Improve performance architecture

A common technique to improve system performance

Geeks time images from the left ear to hear the wind column

  • Caching system. Added caching system can effectively improve the ability to access the system. In a distributed cache in a cluster is required, this cluster need to do a Proxy cache fragmentation and routing.
  • Load balancing system. Horizontal expansion of key technologies, allows multiple machines to share the part of the flow request
  • Asynchronous calls. Induction system mainly done through the message queue to process the request queue, "flattened" peak distal request, the request is processed by the rear end of their speed can be processed. Increase throughput, but real-time poor. At the same time, introduce message loss problem, but the message did persistence will result in "stateful" node
  • Data partitioning and data mirroring . ** ** data partition is divided into a plurality of data regions in a certain way (such as by location), different data areas to share the traffic of different zones. This requires a data routing middleware. Resulting in cross-database operation becomes complicated. Data mirroring is a database mirroring the same data into a plurality of parts, so that no route data of the middleware, but the introduction of a data coherency problem.

Improve the stability of architecture

Common technique to improve system stability

Geeks time images from the left ear to hear the wind column

  • Split service. Split service has two main purposes: first, to isolate the fault, the second is to reuse the service module. This introduces dependencies between service calls (a call to the original problem-solving service, you need to call multiple related services)
  • Service redundancy. Service redundancy to remove single points of failure and may elastically stretchable support services, and failover. Stateful service, resulting in the redundancy of these services lead to higher complexity. When elastically stretchable, consider copying or re-sliced data migration when data migration but also to other machines.
  • Limiting downgrade. When the system it could not carry the pressure, by way of limiting or functionality to be downgraded to turning off part of the service, or reject part of the user to ensure that the entire structure will not hang up.
  • High-availability architecture. Generally speaking from the perspective of a redundant architecture to protect the availability, for no single point of failure. . For example, multi-tenant isolation, disaster recovery live
  • High availability operation and maintenance. High availability operation and maintenance refers DevOps in the CI / CD (continuous integration / continuous deployment).

The key technology of distributed systems

The introduction of distributed systems, will introduce a bunch of technical issues need to be addressed from the following aspects.

  • Service governance. Split service, service calls, service discovery, service depends on the service key is defined ...... attributed to service governance. Service Governance biggest significance is that 1, sort out the dependencies between services, service invocation chains, and critical services. 2, these services performance and availability management aspects.
  • Infrastructure management software. Overall service architecture formed by the need for version management, the need for overall infrastructure lifecycle management, and orchestration of services, aggregation, transaction processing and other services scheduling functions.
  • DevOps. Including the build environment, continuous integration, continuous deployment.
  • Automated operation and maintenance. The service automatically scalable, fault migration, configuration management, state management and a series of automated operation and maintenance
  • Resource Scheduling Management. Automated application layer operation and maintenance needs to be scheduled to support the base layer, that is, resource scheduling computing IaaS layer, storage, network isolation and management.
  • Monitor the overall architecture. With good monitoring, automation can be a good operation and maintenance scheduling and resource management. Three-tier system of monitoring needs (application layer, middleware layer, the base layer) to be monitored.
  • flow control. Flow control, load balancing, routing, fuse, demotion, current limiting and traffic-related scheduling

Distributed Systems "Gang"

There are five key technology of distributed systems, which are:

  • Full-stack system monitoring;
  • Services / resource scheduling;
  • Traffic scheduling;
  • Status / data scheduling;
  • Development and automation of operation and maintenance.

Development and operation and maintenance of automation, the former requires four have done it as a precondition. This is the most critical four technologies that overall application monitoring, resource and service scheduling, status and data traffic scheduling and dispatching, they are building a distributed system the most core of things.

Geeks time images from the left ear to hear the wind column

References:

Left ear listening to the wind (geeks time) link:
http://gk.link/a/10f5D


GitHub link:
https://github.com/lichangke/LeetCode
know almost personal home page:
https://www.zhihu.com/people/lichangke/
CSDN Home:
https://me.csdn.net/leacock1991
Welcome to We can talk about

Published 171 original articles · won praise 16 · views 5207

Guess you like

Origin blog.csdn.net/leacock1991/article/details/104079858