nginx配置2台服务器吗?企业网站高并发与稳定运行方案怎么选
本文未附完整的测试环境、工具版本与原始结果,内容作为故障排查或选型资料参考,不标记为实测报告。
当公司的网站访问量大时就会变慢,后端系统的页面也经常打不开,但是老板又不愿意一开始就采用价格昂贵的集群方案。有很多人会问到:nginx 配置了两个服务器吗?“买两台服务器就可以解决稳定性的的问题了吗?”实际上人们所关心的是:业务是否可以更加稳定、预算能否被控制住、以后是否能够扩展。
结论是:Nginx可以配置两台服务器,并且这在企业中是常见的入门级高可用或者负载均衡方案。例如一台服务器上安装了Nginx作为反向代理以及流量分配器,后面连接着两台业务服务器;也可以使用两台服务器一个为主一个为备用的方式,并通过Keepalived等手段实现故障转移。具体的配置方式并不是看“能不能”,而要根据你自己的业务规模、系统的结构以及预算来决定。
如果为企业的官方网站、小程序接口、ERP/OA系统、业务后台、电商平台页面等,则使用两台服务器可以解决以下问题:
第一、分担访问的压力。
一台服务器同时运行着Web服务、数据库和缓存,并且要承受大量的访问量,很容易出现CPU、内存以及磁盘I/O都比较紧张的情况。用Nginx将请求分发给两台应用服务器可以使得业务处理更加均匀,在访问高峰期也能保持稳定。
第二、减小单一故障点的风险。
很多中小企业的最大恐惧就是“服务器一旦出问题,整个公司都要瘫痪”。使用两台服务器进行负载均衡或者主备模式,在其中一台出现问题的时候可以把受影响的范围减小到最小。但是要说明的是,并不是买了两台就一定是高可用了,还要有网络、系统、服务监控、数据同步等等的设计。
第三、后期扩容比较容易。
现在有两台业务服务器,明年的访问量会增长,可以再增加到三台或者四台。在开始的时候就把Nginx、内网网段、交换机、防火墙和域名解析都做好了,之后扩展的时候就不会重新做一遍了。
第四、预算可以控制得住。
并不是所有的公司都必须一开始就建立大规模集群。当预算比较紧张的时候,可以采用“一台Nginx作为入口+两台应用服务器+独立数据库或备份”的保守方案;如果业务规模较小的话,也可以先使用两台服务器做主备,之后再把数据库、缓存以及文件存储分开来。
选择服务器的时候不要只看价格,主要从以下几个方面来考虑:
1.CPU核心数:如果网站、接口或者业务系统的并发量比较大,那么应该选择有多个核的CPU来保证Nginx以及应用程序有足够的处理能力。
2. 内存大小:Java、数据库、缓存等系统的内存需求比较大,一般的企业应用建议起始内存为32G或者64G,并且要按照软件以及用户的数量来调节。
3、硬盘种类:系统盘最好使用SSD或者企业级固态;数据库以及日志盘要注意到读写速度和耐久度的问题上。
4.RAID 方案:对于重要的业务可以采用RAID 1、RAID 5或者RAID 10来保证性能与数据安全。
5、电源冗余:对于机架式的服务器来说,最好是选择双电源,并且要接在不同的PDU或者UPS上,以减少供电的风险。
6. 远程管理:iDRAC、iLO、IPMI 等远程管理功能非常实用,在服务器宕机或者系统卡死的时候可以由 IT 远程进行故障排查。
7. 网络带宽:内网同步、文件上传、数据库访问等都需要考虑千兆或者万兆网络,不能只看公网带宽。
售后服务:上门安装、系统部署、RAID设置、Nginx调试、监控报警以及后续扩容等服务要比只低价更重要一些。
避坑提示:Nginx 配置了两台服务器,并不代表数据库就一定安全了。如果数据库还只有一台机器的话,那么当数据库服务器出问题的时候,业务还是会受到影响的。涉及到订单、会员、财务、生产等数据的企业应该考虑到数据库备份、异地备份、快照策略以及恢复演练。
这样的方案适用于正由“一台服务器硬撑”过渡到更加稳定的结构的企业。可以选品牌服务器,也可以依据预算以及合规性来选择国产化的服务器、国产CPU、国产的操作系统与数据库兼容的情况。要按照配置、品牌、硬盘、内存、服务年限、上门安装等因素来计算价格,并不是简单的以“几台服务器”为单位进行判断。
如果要给两台服务器做Nginx配置的话,可以把业务系统的种类、访问量大小、现有的服务器配置、数据库状况以及预算范围发过来,我能够为你整理出一份配置清单、报价方案以及后续扩展的想法。