游戏后端分布式事务特点
网络上能搜到的各种分布式事务方案,要么效率太低,要么实现过于复杂,基本上不适合用于游戏后端。
游戏后端中涉及的分布式事务特点:
- 要足够快
- 写逻辑简单,即对于码农无感知
- 事务级别上略低,比如写磁盘最后1秒丢失,这种可以接受
如果游戏架构上能解决分布式事务问题,可以显著减低公司的运营成本
本文给出一个分布式事务的解决方案,基本上能解决上述痛点
被忽视的主角:内存事务
先看下面一段伪代码:
func foo() {
defer func() {
if r := recover()