Redis教程

redis事务分享总结之:从新理解全球同服架构

本文主要是介绍redis事务分享总结之:从新理解全球同服架构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1)今天技术Leader说了下对COK全球同服的理解,第一句话说:全球同服其实是一个伪命题。

全球同服的本质,应该是从玩家的角度理解,数据互通+玩家关系互通+战斗互通这3方面去理解,

虽然我们目前采用的分区分服的架构,一个进程负责玩家与系统的交互和玩家工会,GS1玩家工会搜不到GS2玩家工会。

但是我们却能通过redis给每个聊天频道建立一个channel,实现不同服直接的玩家数据能互通,而且,可以通过mysql记录跨服的玩家好友关系,从而使用redis实现私聊等,给玩家全球同服的感受,战斗也是一样,数据不在一块,但是却记录的有关系,通过redis、mq等消息总线,让他们能一起打游戏,这就达到了全球同服的感受。

2)redis的事务是一种弱的事务,并没有完全保证acid,而是多个操作,可以保证被当做 一个操作执行,假如其中某个操作除了问题,是无法回滚的,因此需要写好java方法,里面调用redis命令。

这种可以解决加入工会等操作,被当做原子性执行,而无需加锁。

3)redis分片机制

加入我有20个gs,他们一起要加入工会等操作,这时,redis的分片机制,可以保证加入到不同的工会,操作到不同的节点处理,因此是相当于多个线程处理业务逻辑。

这篇关于redis事务分享总结之:从新理解全球同服架构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!