gpt4 book ai didi

java - 游戏服务器网关设计

转载 作者:行者123 更新时间:2023-12-02 05:52:03 25 4
gpt4 key购买 nike

我正在尝试为始终连接的客户端构建通用服务器。

该架构由 4 个主要组件组成

  • 有状态应用服务器
  • 无状态网关服务器
  • 客户
  • 排队系统和代理

工艺流程

  1. 客户端连接到网关
  2. 网关接受并将 session ID 发送回客户端
  3. 客户端向网关发送消息
  4. 网关将请求写入消息/任务队列
  5. 守护进程读取队列上的消息并将它们转发到应用服务器的监听套接字
  6. 应用服务器通过其业务逻辑运行消息
  7. 应用服务器稍后会将相关消息发送到客户端并放入网关队列
  8. 网关上的线程读取其入站队列中的消息,然后将消息发送回消息中标识的客户端。
  9. 网关维护客户端 session ID 到客户端套接字对象的映射,以将传入消息转发到客户端套接字

我正在使用 Java Netty 作为网关。应用程序服务器也是用 Java 编写的。

我很想说这个设计就像 Mongrel2,但我并不完全确定。我想说这更符合 Urban Airship 的 Helium 边缘服务器设计 (http://urbanairship.com/blog/2010/08/24/c500k-in-action-at-urban-airship/)

我的问题是:- 使用线程从入站队列读取消息然后将它们转发给客户端是一个好主意吗?有没有更好的方法来处理这个问题?

最佳答案

您可能知道这种类型的应用程序在云服务方面已经存在,因此您不必重新发明轮子。搜索 hp.com 网站。

关于java - 游戏服务器网关设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com