问一个nginx负载均衡的问题? 400 报错
假设有A、B、C三台机器,A机器作为流量入口,域名只有一个,A作为主服务,B和C作为负载的服务
用户甲请求域名,nginx分发到某个服务,此时有乙用户也要请求域名,但是确保要与甲用户同在一个服务
nginx能解决这个问题?或者有别的解决方案么?
可以解决,配置域名的二级路由指定端口######有点不懂######
甲乙要在同一个服务器?那把B和C都关了不就好了,为什么还要负载均衡呢?
######回复 @我亦暖心丶 : 你这个如果用nginx做会很麻烦,首先你要用nginx-lua做脚本,其次用户每次访问都要在HTTP包里包含自己的ID信息,再者要用数据库记录这些用户ID和对应的服务器访问时用lua调取出来再下发到对应服务器。最后在甲分享的链接中预先包含指定的服务器信息,在乙用户房屋时,自动在用户ID和服务器对应的表中写入记录。######回复 @gammey : 没有区别,也不用区分。 现在在弄一个小程序游戏,如果甲分享给乙,那么甲和乙要在同一个服务器上,因为考虑做多服务同步缓存难度较大(架构原因),所以以此想提高服务的承载能力######回复 @我亦暖心丶 : 那丙用户和乙用户有什么区别,你怎么区分呢?######可能还有丙丁用户呢,B和C不是要分担一下?######怎么去定义甲乙呢?全在一个服务器,还有必要做均衡吗?
你是否是想按用户的某个标记进行分发?
######回复 @我亦暖心丶 : 分享的url上带上甲所在的机器码,例如serverid=A,访问的时候nginx根据这个进行分发到A。 location / { if ($arg_serverid = A){ proxy_pass http://serverA; } } 只是这样的做法可能存在大量用户堆积在同一服务器上,因为你没法控制分享的用户是均衡分配在3个服务上。######我现在想通过某个参数实现,nginx自动分配指定的服务######肯定是多个服务器的撒,现在在弄一个小程序游戏,如果甲分享给乙,那么甲和乙要在同一个服务器上,因为考虑做多服务同步缓存难度较大(架构原因),所以以此想提高服务的承载能力版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。