诸如Kafka,Amazon SQS之类的队列服务是否使用某些数据存储来存储消息?

问题描述

您知道任何队列服务在后台如何工作吗?他们是否将消息存储在某个数据存储中?例如。 Amazon SQS将消息保留在队列中,直到任何工作人员从SQS中提取这些消息为止。

它在后台存储在哪里?我认为在诸如Dynamodb或RDS的某些数据存储中。说的正确吗?是否有任何资源可以使我对常规Queue服务的设计外观有更多了解?

解决方法

我设计了SQS复制数据存储。这是为消息使用案例量身定制的完全定制的实现。关系数据库不太适合高吞吐量队列。

不幸的是,我无法共享数据存储或复制算法的详细信息,因为亚马逊从未公开过它。

Kafka是开源的,因此您可以获得有关其store design的信息。