我正在探索排队的NATS,目前正在使用redislists。我停留在下面的场景中,在redis中很容易管理:
1)有一个守护进程在队列中推送值,还有一个守护进程在队列中连续读取值。如果我的读取守护进程停止,redis将开始在队列中存储数据。一旦我开始读取daemon,它就会从最后一个值中弹出,然后像fifo一样停止。在这件事上我没有机会丢失我的数据。NATS是否有相同的规定?
2)如果我的redis服务器坏了,我可以检索队列中已经可用的数据(只剩下很少的数据)。如果NATS服务器关闭,我可以检索我的数据吗?

最佳答案

除了核心NATS平台的功能之外,NATS Streaming还提供以下功能:
至少一次传递-NATS流在发布服务器和服务器之间(用于发布操作)以及订阅服务器和服务器之间(用于确认消息传递)提供消息确认。消息由服务器在内存或辅助存储(或其他外部存储)中持久化,并将根据需要重新传递给符合条件的订阅客户端。
消息/事件持久性(Message/Event Persistence)-NATS流在内存或平面文件中提供可配置的消息持久性。存储子系统使用公共接口,允许参与者开发自己的自定义实现。

关于redis - NATS丢弃队列数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48279276/

10-09 18:08