0%

跨服逻辑相关

游戏服务器开发的过程中,会遇到很多需要执行跨服逻辑的情况,这里做点记录,免得每次都要重新思考。。。这里仅适用于游戏服务器开发,其它情境的例子也是仅供参考,并非最佳解决方案。

结论

先把结论写这,后续慢慢修改。

  • 多数情况不用特别处理。
    鉴于内网的稳定性,多数情况下并不需要对逻辑中断进行处理,只需要在中断发生时写好日志,预留修复接口或者干脆停服更新时统一修复。
    这种做法会极大减轻业务的复杂程度。
    可以参考玩家加入公会:先在公会中登记玩家,再在玩家数据上登记公会。在玩家和公会上都留下动态修复接口或者停服更新时进行对比修复。

  • 缓存和数据库一致性需要做落地确认
    缓存需要加脏标记和数据版本,方便落地时的确认。

  • 关键数据可以用分布式锁等方式来保证结果
    比如判断库存和减库存的操作。