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