我正在建立一个打牌的系统,我决定用SSE的pubsub系统来保持客户端的更新。我面临的一个问题是如何把消息保留下来,以便以后查询。一个用例是一个玩家在游戏中加入了一张桌子。我想从当前牌局中获取所有事件,并为该用户重放。
我目前使用的是redis的pubsub,但这些消息完全是短暂的。我对rabbitMQ进行了一些研究,似乎也是这样。Kafka好像有一些重播功能?不过我不知道它是否像我想要的那样细化。
期待我的pubsub层的持久性是否合理?或者我应该把逻辑分开?我可以让一个消费者运行,只是为了获取事件并存储它们。但这似乎太重了,失败的机会太多。
我还想查询旧事件中玩家的统计数据,以及所打的牌。不过速度不是这些查询的因素。