编程开发

Nginx集群粗糙的理解

2019-08-14  本文已影响0人  cyhai

个人理解可能不是很透彻,简单的理解,粗略的说法就是,把处理数据分发给多个服务器处理,减少单个服务器的压力,因为处理数据环节是对服务器压力最大的,一旦访问量大,极有可能让服务器宕机,但是开启了集群就可以大可能避免这种情况,就算出现单个服务器宕机情况也不影响其他服务器的正常运作,同时也极大的提高了处理效率问题,Nginx是作为接收数据请求和分发、返回的中间传递。那么这里就意味着,处理数据的服务器存在两个或以上,才有所谓的意义。
一个简单的集群操作,首先开启两个服务器,比如使用docker,部署两个SpringBoot项目,映射的端口分别是8082,8083。请求接口为


image.png image.png

返回数信息分别是

集群服务器001
集群服务器002

找到Nginx的nginx.conf,我使用的是mac电脑,路径为/usr/local/etc/nginx/nginx.conf。
使用vim 打开,并修改


image.png
#修改这里做转发
upstream  springboot{
  server 127.0.0.1:8082;
  server 127.0.0.1:8083;
}

    server {
        listen       8181;
        server_name  localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           # root   html;
           #index  index.html index.htm;
#引入代理转发
           proxy_pass http://springboot/;
           proxy_redirect default;
        }

wq保存退出,重启nginx,

nginx -s reload

然后再浏览器键入


image.png

注意,我这里修改了Nginx的默认端口为8181
然后反复刷新页面,你会发现下面两个信息

交替出现
image.png image.png

这就是服务器交替是处理数据,如果设置了weight(负载的权重),就会出现某个服务器处理的次数会变多

server 127.0.0.1:8082 weight=1;
server 127.0.0.1:8083 weight=2;

这样就会出现端口为8083的服务器处理数据是8082的两倍,也就意味着8083的服务性能应该要更高。

上一篇 下一篇

猜你喜欢

热点阅读