是否存在用于生产就绪的低延迟分布式日志的软件?这个想法是在将输入消息发送到服务之前将其存储到服务中。服务启动时,它将获取其状态的最新快照并重播输入消息。如果服务是确定性的,则可以一次运行该服务的多个实例。这样既可以实现高可用性,又可以实现零停机时间部署。
可用的日志很多,但是有些日志的延迟很高,有些日志不是很分布式/集群的,有些还没有准备好投入生产。
可用的分布式日志软件
卡夫卡
NATS流
坦克
DistributedLog
脉冲星
RocketMQ
吊桥
Jocko
LogDevice
要求
消息/事件持久性(在内存中还是在磁盘上)
主题/分区内的消息排序
至少一次传递:发布者与服务器之间(用于发布操作)以及订阅者与服务器之间(用于确认消息传递)的消息确认
按主题重放历史消息:新订阅可能会在为订阅主题频道存储的消息流中指定一个开始位置。
高可用性:应该具有多个群集节点,并且在它们之间进行复制
低延迟:如果我们要等到两个节点在接收到该消息后再继续发送,那么它必须是低延迟。理想情况下只有几毫秒,但不超过数十毫秒。这就是为什么Kafka似乎不合适的主要原因。
我有错过的任何选择吗?