跳至正文
Wener Notes

Queue FAQ

约 1 分钟阅读
标签:FAQ

Event vs Message

  • Event -> EventBus
    • 事件 - 强调发生了什么
    • 不包含业务属性,通用 - 无指向性
    • 通常 fire and forget
    • 用于 集成、解耦、触发交互
    • 多个 外部/内部消费者
  • Message -> Queue
    • 消息 - 强调需要被消费
    • 包含业务属性 - 有指向性
    • 通常需要 持久化、重试、幂等
    • 用于 业务流程、状态变更、事务
    • 通常一个业务会有 一个/组 消费者 - 相同消息不重复消费

NATS vs NSQ

    • 专注 Pub/Sub
    • 内存处理
    • 支持 JetStreaming
  • NSQ
    • 默认情况下是不持久化的

Kafka vs RocketMQ vs Pulsar

    • by Confluent 2010
    • 开发更活跃
    • 社区活跃
    • 生态丰富
    • 部分 Scala - Java 越来越多
    • HA 依赖 Zookeeper
      • 目前正在移除 ZK 依赖
      • 内部提供 NameServer
    • 默认保留 7 天
    • 云服务商: 非常多 - 阿里云也有
    • 简单易用
    • by 阿里 2011
    • 纯 Java - 早期相当于参考 Kafka 翻的 Java
    • 社区 - 中国、小众
    • 生态非常欠缺
    • HA 不依赖外部服务 - Master Slave/Dledger
      • 主从切换可能有点问题
    • 默认保留 72 小时 - 3 天
    • 云服务商: 阿里云
    • vs Kafka
      • 可以支持更多 Topic 数量 - 但是阿里云上限 150
      • 功能完善 - 复杂度更高
    • by Streamlio 2012 - 201809 Apache 顶级项目
    • 默认一直保留 - 可手动删除
    • 存算分离
      • Bookkeeper 存储
      • Broker 无状态
    • 更新
    • 支持 多租户、强一致性、跨域部署
    • 云服务商: streamnative.cn
      • 阿里云合作
    • 结构复杂 - 组件很多

关联信息

反向链接、本文链接的其他页面和外部资料。

站内链接

  • Kafka
    笔记 · Kafka

    Apache Kafka · A distributed streaming platform · Spring Cloud BUS · Reference · 基于 Spring Cloud Stream · Spring Cloud Stream

  • NATS
    笔记 · Nats

    支持 JetStreaming · 支持 WebSocket - 能够利用 HTTP 基础设施 · 支持 JWT Auth · 支持 Auth Resolver - 通过 nats service 监听实现自定义 auth · 支持 Group Consumer

  • Pulsar
    笔记 · Pulsar

    apache/pulsar · Apache-2.0, Java · 存算分离 · 存储 apache/bookkeeper · Broker 无状态 · apache/pulsar-helm-chart · 组件 · zookeeper · bookkeeper

  • RocketMQ
    笔记 · RocketMQ

    apache/rocketmq · 早期参考 Kafka 设计, Scala -> Java · vs Kafka · 功能更多 - 更复杂 · 社区不活跃 · 开发活跃度耕地 · 服务商更少 · 不依赖 ZK - 有 NamerServer 组件 = ZK

参考资料

其他外链2 条
最近更新commit 531b050编辑