message-queue - Kafka、Amazon SQS 等队列服务是否使用一些数据存储来存储消息?
问题描述
你知道任何队列服务在幕后是如何工作的吗?他们是否将消息存储在某个数据存储中?例如。Amazon SQS 将消息保留在其队列中,直到任何工作人员从 SQS 中提取这些消息。
它在幕后存储在哪里?我认为在一些数据存储中,如 Dynamodb 或 RDS。这样说对吗?是否有任何资源可以让我更深入地了解一般队列服务的设计如何?
解决方案
我设计了 SQS 复制数据存储。这是为消息传递用例量身定制的完全自定义实现。关系数据库不适合高吞吐量队列。
不幸的是,我无法分享数据存储或复制算法的详细信息,因为它从未被亚马逊公开。
Kafka 是开源的,因此您可以获得有关其商店设计的信息。
推荐阅读
- android - google api java客户端在使用proguard-android-optimize.txt时未传递值为0的参数
- c# - 是否有任何工具可以为 wpf (xaml) 中的复杂控件创建实时样式
- html - 未正确对齐下拉内容
- android - 在 Android Oreo 及更高版本上通过 FCM 通知唤醒我的应用
- c# - 在 Winforms 中使用 printdocument 打印时更新控件
- reactjs - 如何使用 React 制作垂直标签
- google-oauth - 如何在没有来自渐进式 Web 应用程序的持续明确用户同意的情况下使用 Google API?
- openbugs - 使用 inprod() 总结线性预测器的问题
- javascript - 如何制作根据浏览器语言或 IP 地址动态重定向到另一个文件的 index.html
- python - 如何使用 boto3 仅检索 S3 中的 last_modified 键