Windows环境下的Nginx高并发实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Software Development •
软件开发
Electronic Technology & Software Engineering 电子技术与软件工程• 47
【关键词】Windows 服务器 Nginx 反向代理 高并发
1 引言
Nginx 是高性能的Http 和反向代理服务器,在Linux 环境下,其可以采用epoll 作为网络I/O 模型。在高并发连接的情况下,其是Apache 服务器不错的替代品。Nginx 具有高并
Windows 环境下的Nginx 高并发实现
文/岳晋 温宇 黄旻亮
发连接、内存占用低、成本低等特点。
Nginx 运行时,会存在一个主进程和多个工作进程。工作进程的数目可以在配置文件中进行指定,通常设置为CPU 的核数。主进程用于管理工作进程的运行,并处置工作进程的异常情况。借助于主进程和工作进程的模式,Nginx 可以实现平滑升级、配置即时生效等功能。而工作进程的任务相对单一,主要用于处理业务请求,它们彼此独立,互不影响。此外,借助于异步非阻塞的工作机制,Nginx 可以处理上万的并发请求。
反向代理是Nginx 的主要应用场景之一。
反向代理是相对于正向代理来说,一般情况下,内网的客户机通过代理服务器访问公网上服务的这种模式是正向代理。与此相反,当代理服务器的作用是将后台服务器隐藏起来,并根据客户机的请求,分发给后台服务器的这种方式是反向代理。Nginx 反向代理的原理如图1所示。
图1中,Nginx 代理服务器接收到来自客户端的请求,根据自己的配置,决定将该请求转发给哪个业务服务器。当业务服务器处理完
该请求后,将响应结果交给Nginx 代理服务器,Nginx 代理服务器再将响应内容返回给客户机。
反向代理可以保护后端服务器,此外,还可以用作负载均衡,来平衡后端服务器的性能压力。Nginx 通过proxy_pass 命令和upstream 模块,就可以实现反向代理。如果后台服务和Nginx 在同一机器上,但运行在不同的端口上,Nginx 可以将请求转发到后台服务运行的端口上。通常情况下,后台服务和Nginx 不在一台服务器上,这时候Nginx 可以将请求发送给upstream 模块,再通过upstream 模块转发给后台服务器。而且在upstream 模块中,也可以进行负载均衡相关的配置。
Nginx 的另一主要应用场景是负载均衡。负载均衡是在各服务器之间均衡业务压力,Nginx 的负载均衡策略包括轮询、指定权重、fair 、ip_hash 和url_hash 等。
2 Nginx性能调优相关配置
2.1 stub_status监控模块
得以提高。随着大量产品的借用,构件会趋于成熟,软件BOM 表也随之趋于成熟。这有利于同领域的其他产品借用或者部分借用。
对生产率的影响:一般来说,大约80%~90%的复用可使软件生产率提高25%~40%。
对成本的影响:软件复用率越高时,新研构件越少,耗费的人力成本和时间成本都会大大降低。
对管理的影响:在PDS 等系统中归档了的软件BOM 表,记录了关于该产品所用的所有软件构件的数据信息,如构件的名称、版本、基本内容、复用/新研等信息,以及构件与构件之间的嵌套关系。它对于质量管理中从最终产品追溯零件、组件起到关键作用。软件BOM 表以信息共享为基础,是综合管理、资源调度的重要依据。另外,软件BOM 表中复用/新研的数据也可作为安排软件开发计划的依据。
6 结束语
本文针对基于软件BOM 的构件化开发过
<<上接46页
程,阐述了软件BOM 的设计流程、设计形式及其应用价值。可以看出在构件化软件开发过程中,软件BOM 设计是不可缺少的重要环节。软件BOM 在“工厂”式的软件加工过程中起着连接设计与制造的纽带作用,对提高软件生产率和软件质量、降低软件开发成本都起着至关重要的作用。因此,做好软件需求分析、软件BOM 设计、构件设计、构件测试等,且每个环节都进行专家审核和评审,才能有效地提高软件开发的质量,推动软件工程的发展。
参考文献
[1]史济民.软件工程原理、方法与应用[M].
北京:高等教育出版社,1990.
[2]李航.基于通用试验体系结构支撑
平台的组件框架设计模式[J].软件,2013,34(5):85-87.
[3]刘凤.基于软件构件技术的阮建华雷达
[J].现代雷达,2016(2).
[4]STEPHEN M, WELBY P. Modular open
s y s t e m s a r c h i t e c t u r e i n D o D acquisition[R]. Washington: DOPSR,
2014.
[5]NELSON J A. Radar open system
a r c h i t e c t u r e p r o v i d e s n e t centricity[J]. IEEE Aerospace and Electronic Systems Magazine, 2010, 25(10):17-20.
[6]Wang Yongliang, Ding Qianjun,
L i R o n g f e n g. A d a p t i v e A r r a y Processing[M]. Bejing: Tsinghua University Press, 2009.
[7]Karl Wiegers, Joy Beatty.软件需求[M]
北京:清华大学出版社,2016,8-12.[8]莱芬韦尔,威德里格.软件需求管理:
统一化方法[M].北京:高等教育出版社,2002:18-21.
作者简介
王艳丽(1981-),女,硕士研究生。工程师。研究方向为雷达信号处理。
作者单位
南京电子技术研究所 江苏省南京市 210039