采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
其实在看部署的时候一直有这个疑问,keepalived可以实现高可用,lvs本身支持各种调度算法,为什么不把多个实例都代理上而只代理当前实例,如果是这样的话,那谁抢占到master谁就要扛所有入口压力了?
还有一个就是,我登录后,用不同的前端实例地址刷新页面好像不会丢失登录信息,这个是跟jwt有关系么?也就是如果Lvs代理多个realserver需不需要考虑会话保持问题?
感谢老师!!!
同学你好,首先lvs的性能远超nginx和haproxy,但要先明确它是不支持虚拟机安装,只能部署在真实主机上面。另外你提到的所有负载均衡都配置到一个LVS上面,这个其实犯了大忌,因为配置文件内容很多很杂,比如想修改后端的负载均衡,就必须重启lvs,你想想看,是不是前端的负载均衡连带着也瞬间不能用了,所以负载均衡要采用分散的配置,头疼医头,脚疼医脚,这是最好的。最后回答你抢占了虚拟IP的服务器要承载所有的流量能不能行,Nginx最大的负载均衡是每秒8万。比如一个每天500万pv的大中型网站来说,每秒也就是116个请求,你说nginx每秒8万的性能可不可以满足呢?
我可能没有表达清楚。。 1、先不说性能问题,您配置的keepalived用到了lvs,而且用的是NAT模式,您看看是不是,可能是我理解的不对。。您说的不支持指的应该是DR模式吧?既然都用到了LVS代理,比如代理ff1和ff2,为什么后端realserver不把两个ff节点都写上,而只代理一个,我是指单从配置上来说,能够配两个为什么只配一个。 2、keepalived支持reload,修改配置不用重启,也不会中断,而且Keepalived有两个节点,即便down了一个也没问题。而且,keepalived支持include指令,即便配置很多也是可以拆分的。 3、会话问题,我是看到通过不同的前端节点访问都不会丢失会话,想确认一下这个会话是在哪保持的?
同学你好。先说第一个问题,如果按照你说的用LVS去做ff1和ff2的负载均衡,那么单节点的lvs高可用怎么提现?是不是还要去做lvs的双机热备。第二个问题理解错了,我以为你要把前后端所有配置都写到lvs上面。
还有第三个问题,jwt是为了实现后台无状态而设计的认证技术。以前后台是单体项目的时候,用户登录信息可以保存到session里面。后来变成了负载均衡,请求分发到不同的tomcat上,会出现丢失session的问题,所以有人就想出了一个解决办法,把tomcat的session保存到redis里面。过了一阶段发现还有问题,如果后台项目都是用java做的,没问题,但是如果是用nodejs、python做后台,它门用不了java的session对象。最后就演变成jwt,认证信息保存到前端,后台不保存,每次请求都把认证信息发到后台执行校验,即便有负载均衡也不怕,任何后台项目都能校验认证信息。
登录后可查看更多问答,登录/注册
手把手带你学会项目分布式集群部署,让你的系统不再惧怕宕机
1.2k 28
1.6k 26
1.1k 25
1.4k 24
1.3k 21