一.分布式锁
这个要保证多个服务器执行一段逻辑时的锁操作,就用这个。如:账号注册,防止同一个账号注册多次。
二.全局共享数据
1.多个Game服情况下,要共享一些数据,比如:登录token信息之类的。
痛点:不仅是多个服,还有多个线程数据共享,比如:玩家是否加入工会, 这个玩家收到了多个工会邀请,最好任意一个线程执行修改操作时,最好用下redis的原子性,再redis中也存储一份在哪个工会了,这样子保证玩家只能加入一个工会。
思考:这个业务通过玩家Actor来搞定也行。
2.跨服只读数据,比如:跨服玩家的数据。
痛点: 支持rpc后,虽然可以设计为支持rpc调用获取,但是必须是对方起服才行。
放到redis中虽然可以解决问题,但是多了一些业务逻辑的书写,而且还担心有些存了,有些没存。
不过对于读操作,到时把压力放到redis了,redis减轻了rpc的压力,不过这点压力真的需要redis分摊吗?
思考:不过我个人还是热衷于:rpc这一个能解决问题就行。
三.简化排行榜
zset + LinkedHashMap实现缓存策略。