上一个章节,我们学习了负载均衡的理论知识,那么是不是把应用部署多套,前面挂一个负载均衡的软件或硬件就可以应对高并发了?其实还有很多问题需要考虑。比如:
1. 当一台服务器挂掉,请求如何转发到其他正常的服务器上?
2. 挂掉的服务器,怎么才能不再访问?
3. 如何保证负载均衡的高可用性?
等等等等...
让我们带着这些问题,实战学习一下 Nginx 的配置和使用。
1. 前置概念
在正式介绍 Nginx 之前,首先让我们先了解一下概念。
1. 中间件
干 IT 太累了,我准备辞职开了个烧烤摊,卖羊肉串;
卖羊肉串首先就得有羊肉,于是我就联系了很多养殖场,我又是一个比较负责任的人,为了保证羊肉的质量,我就去考察了一家又一家养殖场,同时我也是个“小气”的人,所以我考察过程中,和对方谈判、比价,最终选了一个养殖场作为我的羊肉供应商,为我提供羊肉。
经营了一阵子,这个养殖场提供的羊肉质量没有以前好了,那么我就重新考察、谈判、比价,如此反复,我投入了大量的时间和精力。
于是我找到了一个信得过的代理公司,约定要羊肉的质量和数量,谈好价钱,以后我只找代理商拿货,具体代理商找的哪家养殖场我不去过问,甚至代理商可以送货上门。
在这个例子里面,卖烧烤就是业务,我的烧烤摊是业务端,养殖场是底层,而 这个信得过的代理公司,就是中间件。
2. 正向代理和反向代理