游戏服务器和中间件

2021-11-08 16:04:53 +08:00
 goforwardv2

一直对中间件感兴趣,想把它应用到自己的项目中。本人是做游戏服务器的。但好像场景有点不符合。我的场景大致如下:

接入服务器 AccessSvr(用户通过 tcp 连接)和游戏服务器 GameSvr 之间通过 proxy 进行消息的通信。且消息都是双向的(request/response)。AccessSvr 和 GameSvr 都可以部署多台。AccessSvr 转发用户请求到 Gamesvr 时 proxy 负责负载均衡到某一个 Gamesvr 。Gamesvr 处理完成后要回发 response 到对应的 Accesssvr(哪个 AccessSvr 发出的就回发到哪个 AccessSvr ,因为要找到对应的用户 tcp 连接)。但这样做有一个问题就是 proxy 存在单点故障。所以我尝试把 proxy 替换成了阿里云的 AMQP 中间件。但是这种中间件基本都是单向的。向后发的时候支持负载均衡。但后面处理完成,回发 response 时就找不到对应的服务器了。请问有什么好的办法既解决局了单点故障的问题,又能实现分布式部署

2722 次点击
所在节点    程序员
23 条回复
MrEatChicken
2021-11-09 10:52:04 +08:00
@goforwardv2 自己部署
hellodudu86
2021-11-09 11:12:27 +08:00
@goforwardv2 我用的 gRPC ,想自定义负载均衡算法的话可以参考下官方的文档 https://github.com/grpc/grpc-go/tree/master/examples/features/load_balancing
goforwardv2
2021-11-17 17:19:11 +08:00
@MrEatChicken 有时间帮看下这个问题 https://v2ex.com/t/816091#reply0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/813897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX