zoukankan      html  css  js  c++  java
  • Nginx系列p4:进程结构

    Nginx 有两种进程结构:单进程结构,多进程结构。本篇文章我们主要说多进程结构。

    :那为什么 Nginx 采用多进程结构,而不是多线程结构呢?

    :这是因为 Nginx 最核心的目的就是要保证高可用性和高可靠性,当 Nginx 采用了多线程结构的时候,因为多个线程是共享同一个地址空间的,所以当一个第三方模块引发了一个地址空间导致的段错误时,在导致地址越界时,会导致整个 Nginx 进程挂掉。

    单进程结构:不适用于生产环境,只用于调试。因为在生产环境中,nginx 要求要足够的健壮,而且要利用 CPU 多核的一个特性。

    多进程结构:

    1:master 进程:第三方模块一般不会在 master 进程中加入自己的功能代码的。目的是管理 worker 进程,比如:监控每个 worker 进程是不是在正确的工作,需不需要做重新载入文件,需不需要做热部署,等等。

    2,worker 进程:主要用来处理请求,一般设置为当前计算机的核数,是每一个 worker 进程绑定到一个 cpu 核上,这样可以更好的使用 cpu 核上的 cpu 缓存,来减少 cpu 缓存失效的命中率。

    3,Cache Manager:做缓存的管理。

    4,Cache Loader: 做缓存的载入。

    注:上述进程间的通信都是通过共享内存来实现的。

  • 相关阅读:
    地图相关
    爬虫机器人检测网站
    Git 工作区、暂存区和版本库概念
    linux镜像下载地址
    selenium基本使用
    socket 编程
    视频观看时间统计
    油猴脚本
    (II)第十三节:使用注解创建Dao、Service、Controller Bean 组件
    (II)第十一节:SpEL 表达式
  • 原文地址:https://www.cnblogs.com/zpcoding/p/11731977.html
Copyright © 2011-2022 走看看