开发者社区> 问答> 正文

问一个nginx负载均衡的问题? 400 报错

问一个nginx负载均衡的问题? 400 报错

假设有A、B、C三台机器,A机器作为流量入口,域名只有一个,A作为主服务,B和C作为负载的服务

用户甲请求域名,nginx分发到某个服务,此时有乙用户也要请求域名,但是确保要与甲用户同在一个服务

 

nginx能解决这个问题?或者有别的解决方案么?

展开
收起
爱吃鱼的程序员 2020-06-04 16:29:31 1037 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    可以解决,配置域名的二级路由指定端口######有点不懂######

    甲乙要在同一个服务器?那把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自动分配指定的服务######肯定是多个服务器的撒,现在在弄一个小程序游戏,如果甲分享给乙,那么甲和乙要在同一个服务器上,因为考虑做多服务同步缓存难度较大(架构原因),所以以此想提高服务的承载能力
    2020-06-04 17:54:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
双十一技术揭秘负载均衡性能优化演进之路 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载