关于一个发布订阅模式下的问题
订阅发布模式下,消息的发布者很多,保底5000个,每个客户端生成频率为每30秒发布一条消息,中间也会有特殊情况,因此可以等价成每12秒发布一条消息。
而这些消息都需要记录到数据库,因此我用通配订阅的方式来订阅所有的客户端的主题,这个订阅的客户端?将消息放进消息队列,队列后面用业务线程解析消息,并且存进数据库。
这样子做有没有什么问题? 发布者会日渐增多,消息量也会越来越大,订阅的客户端会不会出现丢失消息的可能?QOS=2?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为这是可行的。假设你有10000个消息发布者,12秒发布一条消息,那么差不多一秒就是10000条消息,这对像
RabbitMQ
,Kafka
等消息中间件来说是完全可以承受的。即使以后消息越来越多,消息中间件都是分布式的,扩展也是非常方便的。至于消息丢失的问题,MQ都提供了一些机制来尽量保证消息的不丢失,一般情况下消息都是不会丢的,但是也不是完全保证不丢失的。