课程升级
- Nginx反向代理
- 高可用集群
-
单体架构的优点
小团队成型即可完成开发-测试-上线
- 迭代周期短,速度快
-
单体架构面临的挑战
单节点宕机造成所有服务不可用
- 集群
- 耦合度太高(迭代、测试、部署)
- 分布式或者微服务
-
集群概念
计算机“群体”构成整个系统
- 这个“群体”构成一个整体,不能独立存在
-
集群
使用集群的优势
提高系统性能
- 提高系统可用性
-
使用集群的注意点
用户会话
- 定时任务
-
什么是Nginx
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务
- 主要功能反向代理
- 通过配置文件可以实现集群和负载均衡
- 静态资源虚拟化
常见的服务器
- MS ⅡS
- asp.net
- Weblogic、Jboss
- 传统行业 ERP/物流/电信/金融
- Tomcat、Jetty
- J2EE
- Apache、Nginx
- Apache在超过百万的并发以后,性能会逐渐的下降
- Nginx成本更低
- 静态服务、反向代理
Netty
用户请求目标服务器,由代理服务器决定访问哪个IP
什么是正向代理
- 客户端请求目标服务器之间的一个代理服务器
- 请求会先经过代理服务器,然后再转发请求到目标服务器,获得内容后最后响应给客户端
反向代理之路由
Nginx的进程模型
- master进程:主进程
- worker进程:工作进程
Worker抢占机制
传统服务器事件处理
Nginx事件处理
同步异步、阻塞非阻塞
- 同步阻塞
- BIO
- 客户端发送请求给服务器,这个时候服务器处理任务的时间比较久。对客户端来说,被服务端给阻塞了,所以客户端会一直等待服务端的响应,此时,客户端不能够去处理其他的任何事情,服务端也不会接收其他客户端的请求。
- 同步非阻塞
- NIO
- 客户端发送请求给服务端,服务端处理任务的时间会很久,虽然客户端会一直等待响应,但是服务端它是可以处理其他的请求,过一会再回来处理原先的。
- 异步阻塞
- 异步非阻塞