On the basis of the constraints of the source Nginx server architecture -web

        Software design is a functional design on the one hand, on the one hand is the architecture design. The main function is to meet the design features of the software need to provide support services. For example, Nginx is a Web server, then he must meet a variety of functional constraint Web transport protocols, Web services have various functions. Architecture design is to solve how to improve the service more efficient, how to lower cost of maintenance, how to make the service more stable and strong build these problems. He has a series of rules and constraints, this article is intended to sort out all kinds of constraints and rules in Nginx server architecture design (basically software design) need to meet in order to be able to combine these rules in a follow-up study to better understand the Nginx design architecture color of the Department.
1. Performance
      body Web server performance in three aspects; network performance (throughput), the single request latency (aging response), network efficiency (amount of information). Simple said web server is able to support the desired higher number of requests, the response time is shorter, more information transfer.
2. Scalability
        Scalability refers to the ease of system functions to provide services. Assembly including complexity, the degree of coupling interaction, loading conditions and other constraints. Interface in a conventional manner, modular, dynamic loading, etc. asynchronous processing can be well improved scalability of the system.
3. Simplicity
      Simplicity is the simplicity of the component itself, each component will be more simple and more easy to understand and implement, it is also more likely to be verified. Conventional measures, we are concerned by the principle of separation of (what I call the single responsibility principle, is a component only do one thing, do a good job on the line) to design components. Uniform interface principles in the overall architecture, such as Nginx is modular.
4. modifiability
       modifiability is the ease of system changes under the current framework for the Web server is the most common hot deployment, in the case of downtime, repair update. Modifiability of separate appreciated that may include the evolution of scalability, customization, configurability and reusability.
5. Visibility
       Refers to the visibility of system operation can be monitored. Such as network connections, CPU usage, the case, the use of the cache, the request processing aging, the success rate of the request (reliability), etc.
6. portability
          i.e. system platform compatibility, refers to the software running in the cross-platform without modification ability.
7. Reliability
         Reliability is the ability to provide reliable and uninterrupted service after a fault affecting the system level, the system appears. You can narrow the scope of failure by avoiding a single point of failure, redundant deployment, real-time monitoring mode.

        Nginx in architecture design paid special attention to these seven key points, referring to the seven key points Nginx can be better understood in the framework of ingenuity.

Published 15 original articles · won praise 1 · views 368

Guess you like

Origin blog.csdn.net/mlydaemon/article/details/103968805