返回信息流类似的问题还有:
阻塞队列中有消息没有处理完,宕机后,如何避免这部分数据的丢失。。。
我现在的想法:
是要将这些消息落地到磁盘文件吗?类似于 redis aof 的做法。。记录下来,然后再恢复
还是可以将这些消息写入数据库,再读取。。
疑问:
目前已经有成熟的框架来处理这些类似的问题吗。。。
菜鸟求助。。。。[ema1]
这是一条镜像帖。来源:北邮人论坛 / java / #59263同步于 2018/5/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】消息队列处理批量写数据库,如何防止宕机后消息消失
Enzyme
2018/5/23镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我们公司可能业务量不大,所以直接读写mysql
思路就是这样,找个东西来记录消息的生命周期
朋友在,滴滴,业务量大 他们几乎全部东西都是直接读写内存的[ema17]
【 在 buptxiaomiao 的大作中提到: 】
: 我们公司是用的数据库,
: 发送消息队列时,将相关信息写进表里,完成后再回写这张表
: 定时监控,发现长时间没处理完的或者丢失的,重发或者再处理
哦,明白了。
果然是有这样处理的。
其实,这样的确感觉蛮耗性能的啊,来一次消息就要存一次数据库。
定期监控,应该是监控数据库吧,比如某条消息过了多久还是没有被标记已经处理。
再写回的时候会将这条消息记录在数据库删除吗?
【 在 autulin 的大作中提到: 】
: 现在的消息队列中间件不都有持久化存储功能么?楼主不用自己重复造轮子啊
嗯。
今天网上差了下,常用的中间件的确是有这些功能的。
就是比较好奇是怎么实现的哈哈。。。