apache-kafka - SQS 和 Kafka 是一样的吗?
问题描述
Kafka 和 SQS 是一样的吗?我看到两者都是消息队列系统并且是基于事件的。它们是否具有相同的目的,如果不是,它们有何不同?
解决方案
是的,它们是两个消息传递系统,但有很大的不同:
- 卡夫卡
Kafka 是一个非常可扩展的系统,当您想要批量发送消息(以获得良好的消息吞吐量)时,它适合高工作负载。
Kafka 主题由一些分区组成,这些分区可以被一个消费者组中的不同消费者完全并行读取,这给了我们非常好的性能。
例如,如果你需要构建一个高负载的流系统,Kafka 真的很适合它。
- SQS
SQS 是 Amazon 托管服务(因此您不必自己支持基础设施)。
当您需要捕获某个客户端的某些消息(事件)时,SQS 更适合事件,然后该消息将自动从队列中弹出。
至于我的经验,SQS 没有 Kafka 快,也不适合高工作量,它更适合每秒事件数不多的事件。
例如,如果您想对一些 S3 文件上传做出反应(开始对该文件进行一些处理),SQS 非常好。
推荐阅读
- schema.org - Schema.org 用于列出文章的类别页面
- python-3.x - 使用元类时 __new__ 的虚假参数
- javascript - How can I change these arrow functions to regular functions to support IE?
- firebase - firebase serve TypeError:需要全局模式字符串
- javascript - 如果条件不满足如何创建新数组?
- c# - 更新和删除缓存条目时 MemoryCache 的并发问题
- kotlin - 具有公共方法的类子类类型
- postman - 如何发送带参数的发布请求?
- javascript - Spring Boot重定向角度5 CORS问题
- c++ - 优化器可以重新排序 C++ const 方法调用吗?