Nginx负载均衡之ip

Nginx负载均衡之ip

码农世界 2024-05-22 后端 62 次浏览 0个评论

什么是ip_hash?

  • ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;
  • 使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的;
  • 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

    hash算法原理

    第一步,根据客户端IP计算得到一个数值。

    hash1 = (hash0 * 113 + addr[0]) % 6271;

    hash2 = (hash1 * 113 +addr[1]) % 6271;

    hash3 = (hash2 * 113 + addr[2]) % 6271;

    hash3就是计算所得的数值,它只和初始数值hash0以及客户端的IP有关。

    第二步,根据计算所得数值,找到对应的后端。

    w = hash3 % total_weight; 
    while (w >= peer->weight) { 
    w -= peer->weight; 
    peer = peer->next;
     p++;
      }
    

    total_weight为所有后端权重之和。遍历后端链表时,依次减去每个后端的权重,直到w小于某个后端的权重。选定的后端在链表中的序号为p。因为total_weight和每个后端的weight都是固定的,所以如果hash3值相同,则找到的后端相同。

    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

    深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

    因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

    Nginx负载均衡之ip

    Nginx负载均衡之ip

    Nginx负载均衡之ip

    Nginx负载均衡之ip

    Nginx负载均衡之ip

    既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

    由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

    如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)

    Nginx负载均衡之ip

    为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

    这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

    Nginx负载均衡之ip

    本份面试集锦涵盖了

    • 174 道运维工程师面试题
    • 128道k8s面试题
    • 108道shell脚本面试题
    • 200道Linux面试题
    • 51道docker面试题
    • 35道Jenkis面试题
    • 78道MongoDB面试题
    • 17道ansible面试题
    • 60道dubbo面试题
    • 53道kafka面试
    • 18道mysql面试题
    • 40道nginx面试题
    • 77道redis面试题
    • 28道zookeeper

      总计 1000+ 道面试题, 内容 又全含金量又高

      • 174道运维工程师面试题

        1、什么是运维?

        2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

        3、现在给你三百台服务器,你怎么对他们进行管理?

        4、简述raid0 raid1raid5二种工作模式的工作原理及特点

        5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

        6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

        7、Tomcat和Resin有什么区别,工作中你怎么选择?

        8、什么是中间件?什么是jdk?

        9、讲述一下Tomcat8005、8009、8080三个端口的含义?

        10、什么叫CDN?

        11、什么叫网站灰度发布?

        12、简述DNS进行域名解析的过程?

        13、RabbitMQ是什么东西?

        14、讲一下Keepalived的工作原理?

        15、讲述一下LVS三种模式的工作过程?

        16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

        17、如何重置mysql root密码?

        一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

        Nginx负载均衡之ip

        走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

        [外链图片转存中…(img-cE8BBWBG-1712973133935)]

转载请注明来自码农世界,本文标题:《Nginx负载均衡之ip》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,62人围观)参与讨论

还没有评论,来说两句吧...

Top