Java游戏开发6(Rocket+Redis将排行榜功能独立出来)

2021/02/08 12:01
阅读数 108

1)排行榜的需求:
    在未来扩展功能,修改代码,则需要重启服务器。

    事故: 
         到点了, 没有发放奖励。

    修复辅助业务的代码,不影响主业务。

2)架构

                     Redis


   游戏服务器                       排行榜进程

                       RocketMQ


3)游戏服务器是生产者,往MQ中扔;
     排行榜从MQ中取出,然后计算结果,扔到Redis;
     游戏服务器从Redis中取;



4)好处: 修改了业务(根据胜率排名),则直接修改排行榜进程重启即可。

5)Redis命令
    hset、hget   ==》记录输赢信息和次数
    hincrby      ==》 比如赢的次数+1
    zadd         ==》 设置最新的分数
    zrange、zrevrange  ==》查询排名




6)RocketMQ
    NameServer: 集群,发现
    Broker: 暂存消息的地方


    每个Topic下有多个队列。

7)查看命令:
    查看主题列表:
        mqadmin topicList -n <namesrvAddr>

    打印主题消息:
        mqadmin printMsg -n <namesrvAddr> -t <topic>

     删除Topic
         ./mqadmin deleteTopic -c DefaultCluster -n 1227.0.0.1:9876 -t Victor

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部