使用Nginx+IIS的部署方案实现负载均衡

    这段时间一直在研究负载均衡问题,用家用电脑搭建了个Nginx+IIS的负载均衡部署,算是个入门级别的说明吧,因为是测试简化版本的部署方案搭建,所以使用的是测试业务。在文章初期我先明确一下问题:

1、负载均衡是什么?

2、为什么使用负载均衡?

3、处理负载均衡还可以有别的优化方案吗?

4、什么时候必须用负载均衡?

下面我依次回答这些问题:

问题1负载均衡是什么?

百度百科给负载均衡的定义是,负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。示意图如下:我换句简单理解的话说就是,当一台服务器完成一个业务出现性能问题时让两台服务器同时完成这个功能就好了。使用Nginx+IIS的部署方案实现负载均衡_第1张图片

问题2为什么使用负载均衡?

负载均衡主要是为优化服务器而使用的,一台服务器的性能始终是有限的,就像一个人再有劲也不可能和100个人同时拔河一样。

问题3处理负载均衡还可以有别的优化方案吗?

负载均衡可以理解为一个业务节点的水平扩展,读者看待水平就想到垂直了吧,对。其实我在对服务器集群进行性能优化的方案上也是秉承一个优化原则。在有服务器的大前提下,(当然单位要是不给机器那什么都白搭),可以根据业务进行垂直切割。和朋友聊天室很多人都问题怎么进行优化,我会一直会反问,你的业务是什么不同业务的垂直分割方案是不同的,垂直分割没有一刀切似的优化方案,只有针对业务服务分割方案。

问题4什么时候必须用负载均衡?

在针对单个业务服务节点时,当不能在优化服务业务时,就必须要水平扩展了,也就是必须要使用负载均衡的时候了。

 

好,说了这么多铺垫负载均衡的文字,下面不罗嗦了,说点主题。

我们按照一下4个步骤后进行说明:

1、获取Nginx,并试运行。

2、发布两个IIS服务节点,服务节点A和服务节点B

3、使用Nginx充当反向代理服务器,设置服务器集群。

4、测试服务节点A,测试服务节点B,测试反向代理服务器。

 

步骤1、获取Nginx并试运行。

Nginx官网http://nginx.org/en/download.html,下载Nginxwindows版本,我下载的是1.11.10版本,如图所示。

wKioL1i3qyDBrdyJAAARmoWKq8I140.png-wh_50

解压nginx-1.11.10.zip文件,打开命令行进入到Nginx目录下:

使用Nginx+IIS的部署方案实现负载均衡_第2张图片

使用start nginx命令打开:

使用Nginx+IIS的部署方案实现负载均衡_第3张图片

进程中多了两个Nginx进程如图:

使用Nginx+IIS的部署方案实现负载均衡_第4张图片

Nginx配置中的默认端口是80,我们可以在\conf\nginx.conf配置文件修改为5000

使用Nginx+IIS的部署方案实现负载均衡_第5张图片

下面重启Nginx

使用Nginx+IIS的部署方案实现负载均衡_第6张图片

查看Nginx开始界面:

使用Nginx+IIS的部署方案实现负载均衡_第7张图片

 

步骤2、发布两个IIS服务节点,服务节点A和服务节点B

使用IIS创建两个服务站点,

为了方便区分,第一台服务器我们设置为服务器A,端口为50001,如图。

使用Nginx+IIS的部署方案实现负载均衡_第8张图片

第二台服务器我们设置为服务器B,端口为50002,如图。

使用Nginx+IIS的部署方案实现负载均衡_第9张图片

 

步骤3、使用Nginx充当反向代理服务器,设置服务器集群。

我们打开\conf\nginx.conf配置文件,添加一个服务器集群的配置,使用upstream节点设置一个服务器集群Jiqun_one,端口50000,跳转的权重分别为1

使用Nginx+IIS的部署方案实现负载均衡_第10张图片

然后在Locaition节点中设置集群名称,设置主机头和客户端真实地址。

使用Nginx+IIS的部署方案实现负载均衡_第11张图片

 

步骤4、测试服务节点A,测试服务节点B,测试反向代理服务器的跳转。

设置好开始测试啦。进入集群的地址,先看到服务器A,端口50001

使用Nginx+IIS的部署方案实现负载均衡_第12张图片

刷新几下后,见证奇迹的时候到了,突然,yes,服务器B,端口50002出现啦。

使用Nginx+IIS的部署方案实现负载均衡_第13张图片