Nginx高并发网站技术的实战篇

一:扩容

Nignx构建的站点,随着业务的发展流量的增大。逐渐会遇到瓶颈。影响客户体验,一开始需要进行垂直扩容。来支持更高并发。

目标:通过扩容提升整体量

单机扩容

不改变架构、仅升级单台 Nginx 服务器的硬件 / 配置,快速提升并发承载能力,是流量初期增长的最优解,成本低、实施快,优先落地这一套即可解决大部分初期瓶颈。

堆积硬件达到瓶颈之后,不能无限增加硬件。这个时候需要考虑水平扩容

水平扩容

用集群化的方式向外释放服务能力,成本相对低一点。

## 细粒度拆分:分布式

1:数据分区

不同的数据拆分到不同的Nginx

2:上游服务SOA化

原生支持水平/垂直扩容,服务完成SOA之后,Nginx基于应用模块划分进行定向代理,这样更能提搞整体性能。

3:入口细分

1:浏览器

2:移动端原生App(物联网设备)

3:H5内嵌应用

基于入口细分之后,基于不同的入口,接入不同的Nignx。

数据异构化

数据拆分成多分存在在不同的系统当中。

1:多级缓存

客户端缓存:缓存在客户浏览器

CDN缓存

异地多活:缓存放到不同的机房和地区

Nginx缓存:Nginx也可以缓存数据,可以前置到Nginx(这个多少有点扯了,我们知道Nginx就可以了)

服务异步化

1:拆分请求(拆分多步骤,让客户分阶段去做。)

2:消息中间件(快速给响应,后台异步化处理。)

扩容原则

1:无状态原则

2:弹性原则

1:单机垂直扩容

计算上的瓶颈?网络上的瓶颈?磁盘io瓶颈?

云服务资源增加。

整机:IBM、浪潮、DELL、HP等

CPU/主板:更新到主流

网卡:10G/40G网卡(有些网卡内置芯片,数据包处理硬件层面进行处理,无序依赖操作系统)

磁盘:SAS(SCSI) 、HDD(机械)、HHD(混合)、SATA SSD、PCI-e SSD MVMe SSD

SSD应用场景

多副本机制冗余存储

系统盘+热点数据+数据库存储

HDD应用场景

冷数据存储(资源下载站中的电影片。)

2:水平拓展

1:会话管理

3:细粒度拆分:分布式

二:Nginx内存缓存

相关推荐
NendoZen10 分钟前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌1 小时前
进程控制管理
linux·运维·服务器
fengkai45453 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
戴西软件3 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa
javaDocker4 小时前
1800 亿科技投入砸下去,多数机构平的只是服务器,不是能力
运维·服务器·人工智能·科技·研发效能·金融科技
骇客野人4 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
eleven_4u5 小时前
RocketMQ相关问题
java·运维·中间件
0+1115 小时前
Linux --DNS与ICMP
linux·运维·服务器
钛生智能5 小时前
OA 流程定制全参数详解(三):环节信息——流程中最核心、参数最多的部分
运维·办公自动化·oa·协同办公·oa办公系统