0

我正在探索NATS进行排队,目前我正在使用 redis lists。我陷入了以下场景,这在 redis 中很容易管理:

1)有一个守护进程推送队列中的值,一个守护进程不断从队列中读取。如果我的阅读守护程序停止,redis 开始将数据存储在 queue 中。一旦我开始读取守护程序,它就会从最后一个值弹出,它像 FIFO 一样停止。在这种情况下,没有机会丢失我的数据。NATS是否提供相同的规定?

2)如果我的 redis 服务器出现故障,我可以检索队列中已经可用的数据(留下少量数据)。如果 NATS 服务器出现故障,我可以检索我的数据吗?

4

1 回答 1

0

除了核心 NATS 平台的功能外,NATS Streaming还提供以下功能:

  1. 至少一次传递- NATS 流式处理在发布者和服务器之间(用于发布操作)以及订阅者和服务器之间(以确认消息传递)提供消息确认。消息由服务器保存在内存或辅助存储(或其他外部存储)中,并将根据需要重新传递给符合条件的订阅客户端。
  2. 消息/事件持久性- NATS 流提供可配置的消息持久性,无论是在内存中还是通过平面文件。存储子系统使用一个公共接口,允许贡献者开发他们自己的自定义实现。
于 2018-02-20T19:31:38.277 回答