根据规模的提升在不同的阶段需要使用不同的技术和架构,具体的需求需要具体分析,如果是中小型的 Web 应用 。
日活跃小于 1000 万,使用 nginx 就可以完全满足了;大型网站或重要的服务,并且服务比较多时,就可以考虑使用 LVS 。Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。
Nginx 特点是占有内存少,并发能力强,nginx 的并发能力在同类型的网页服务器中表现较好 。
Nginx 的简单架构:
Nginx 的架构设计 Nginx 的架构设计采用的是模块化的,基于事件驱动、异步、单线程且非阻塞(epoll 模型)
Nginx 使用多路复用和事件通知,Nginx 启动后,在后台以 daemon 的方式在系统中运行,其中会包括一个主(master)进程,n(n≥1)个工作(worker)进程 。
所有的进程都是单线程(即只有一个主线程)的,进程间通信主要使用共享内存的方式 。
其中,master 进程用于接收外部的请求,发送信号给 worker 进程,同时监控 worker 进程的工作状态 。
worker 进程用来处理外部请求信息,请求只能在一个 worker 进程中被处理,一个 worker 进程只有一个主线程,同时只能处理一个请求 。
Nginx 负载均衡 Nginx 负载均衡是对七层网络通信模型中的应用层(HTTP,HTTPS)进行的 。
Nginx 是以反向代理的方式进行负载均衡
反向代理:是以代理服务器来接收用户的请求,然后将请求发给内部网络上的服务器,并将服务器上的结果返回给请求的客户端,此时代理服务器就是一个服务器 。负载均衡:就是将这些客户端的请求按照某种策略分摊到后台多台服务器上面,进行处理 。Nginx 的 upstream 目前支持 6 种算法分配方式:
轮询
最基本的配置方法,它是 upstream 模块默认的负载均衡默认策略 。每个请求会按时间顺序逐一分配到不同的后端服务器 。
有如下参数:
在 30 秒内错误次数超过 2 次,就认为服务器已经不能访问了,下次就不会访问该机器
server 10.168.226.1:8080 max_fails=2 fail_timeout=30s;
server 10.168.226.2:8080 max_fails=2 fail_timeout=30s;
weight
权重方式,在轮询策略的基础上指定轮询的几率
server 10.168.226.1:8080 weight=1 ;
server 10.168.226.2:8080 weight=2;
注意:
权重越高分配到需要处理的请求越多 。此策略比较适合服务器的硬件配置差别比较大的情况 。ip_hash
指定负载均衡器按照基于客户端 IP 的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证 session 会话 。
这样每个访客都固定访问一个后端服务器,可以解决 session 不能跨服务器的问题 。
猜你喜欢
- 卤货的做法和配方 正宗卤货的做法和配方
- 二级建造师考试时间2019 考试时间和报名时间是什么时候
- 牛油果和酸奶一起吃有什么好处 牛油果和酸奶一起吃的好处
- 自动启停和hold功能怎么用
- 如何和4S店沟通差价补偿
- 鹿胎粉的功效与作用及食用方法 鹿胎粉怎么食用方法和功效
- 少年派中钱三一最后和谁在一起了
- 加企业微信有什么害处? 企业微信和微信的区别
- 徐明浩天天向上是哪一期
- 田七根和田七有什么区别
