nginx服务器实现负载均衡 - 大可乐的博客

利用前面的nginx反向代理服务器实现负载均衡

修改前面的niginx.conf

在server上面添加 里面的ip会进行轮询 每次对nginx服务器对到其他几个域名


    
    
1
2
3
4
5
6
7
8
9
10
11
upstream webs {
        # ip_hash;
        server 192.168.31.211:80;
        server 192.168.31.212:80;
}


在localtion里面修改一下
proxy_pass http://webs;


转发虽然成功了 但是伴随着一些问题 我们也是需要去解决的

负载均衡带来的问题如何处理

会话维持

  1. 通过工具或者配置(运维手法,可控性比较弱) 在upstream webs 里面 添加一个
    ip_hash; 一个用户访问到一台服务器 每次都会hash到用户第一次访问到的那台服务器, 这样虽然解决了会话丢失的问题,但是同时也带来了其他的问题 对性能有所损耗 如果有些用户访问比较频繁 但是有些用户访问不频繁,这 大专栏  nginx服务器实现负载均衡 - 大可乐的博客样资源没有平均分配到,利用轮询的话可以保障的是每台服务资源分配均匀 总结: ​ 优势:使用运维的手段解决问题无需修改源代码

    
          
          
    1
    
     劣势:通过运维手段会带来额外的开销,并且不够灵活,无法保证访问的均匀
    
  2. 通过软件架构(编码修改)

    1. 解决方式可以是将session存到数据库或者redis
    2. 干掉默认session 打造自己会话系统(例如给用户设置token 单点登录)

静态资源

  • 静态资源丢失
    1. 通过工具或者配置(运维手法) 在多台负载服务器上搭建nfs

    2. 通过软件架构(编码修改) 动静分离(使用一台服务器存储静态资源 推荐使用)



猜你喜欢

转载自www.cnblogs.com/sanxiandoupi/p/11713015.html
今日推荐