基于MongoDB REST API 以及XMPP的游戏数据同步架构

导言

在开发轻量游戏的前提下,传统数据显得较为笨重又不够灵活,所以NoSQL一般作为首选,而在开放了REST API之后,可以直接解放后端人员的数据交换的请求,该公开的数据都已经在数据库里保存,自己去获取即可,剩下就是一个简单的消息丢该订阅系统了。XMPP的pubsub协议,正好确保了这个问题。修改者,去修改数据,发起pub消息。订阅者获得订阅消息,再根据自我需求决定,是否重新去获取数据,这就完成了一整个数据流程。

需求组件

1.MongoDB,灵活的文档结构,以及更新方式,肯定是首选。
2.restheart ,提供 REST API 支持,并提供权限配置。
3.openfire,开源的xmpp服务器
4.strophejs,客户端xmpp库(H5版本)
5.MatriX,客户端xmpp库(C#版本)

架构图

基于MongoDB REST API 以及XMPP的游戏数据同步架构_第1张图片

优点

  1. 数据承载能力优秀,可以轻松进行横向切分
  2. 推送承载能力依然优秀,扩展方便
  3. 可用性高
  4. 交互性良好,xmpp延迟低,所以效果好。
  5. 切割完整,分离性小,基本无特殊依赖。

你可能感兴趣的:(OpWeb,设计之美,作品百科)