進程并行 高并發(fā)nginx服務器是多進程還是多線程?
高并發(fā)nginx服務器是多進程還是多線程?Nginx將根據需要同時運行多個進程:一個主進程和幾個工作進程。配置緩存時,將有緩存加載程序進程和緩存管理器進程。Nginx主要通過“共享內存”機制實現(xiàn)進程間
高并發(fā)nginx服務器是多進程還是多線程?
Nginx將根據需要同時運行多個進程:一個主進程和幾個工作進程。配置緩存時,將有緩存加載程序進程和緩存管理器進程。Nginx主要通過“共享內存”機制實現(xiàn)進程間通信。主進程應作為根進程運行,而工作進程、緩存加載程序和緩存管理器應作為非特權用戶運行。就工作模式而言,nginx可分為單工作流程模式和多工作流程模式。在單工作進程模式下,除了主進程之外還有一個工作進程,工作進程是單線程的;在多工作進程模式下,每個工作進程包含多個線程。Nginx默認為單工作進程模式。
如何在分布式環(huán)境中實現(xiàn)多服務器多進程間數據同步?
環(huán)境:
:多個應用程序服務器進程,
:每個進程都有自己相對較大的緩存(可能有100-300萬個用戶數據)
:這些進程可能開始在同一臺機器上運行,并且將來將分布到多臺機器上,
:所有緩存在初始化期間都從RDBMS中讀取。
:現(xiàn)在的問題是RDBMS中的數據是否更改,或者多個進程中某個進程中的用戶數是否更改
:如何同步所有這些進程中的數據?]:如果多個進程在同一臺服務器上,我將考慮共享內存信號量,