淘宝分布式消息中间件:Metamorphosis

Metamorphosis是一个高性能、高可用、可扩展的分布式消息中间件,由淘宝通用产品-消息中间件团队开发,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy。具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,目前在淘宝和支付宝有着广泛的应用。

特征

  • 生产者、服务器和消费者都可分布
  • 消息存储顺序写
  • 性能极高,吞吐量大
  • 支持消息顺序
  • 支持本地和XA事务
  • 客户端pull,随机读,利用sendfile系统调用,zero-copy ,批量拉数据
  • 支持消费端事务
  • 支持消息广播模式
  • 支持异步发送消息
  • 支持http协议
  • 支持消息重试和recover
  • 数据迁移、扩容对用户透明
  • 消费状态保存在客户端
  • 支持同步和异步复制两种HA
  • 支持group commit
  • 更多……

总体结构

 淘宝分布式消息中间件:Metamorphosis

内部结构

 淘宝分布式消息中间件:Metamorphosis

Broker增加或减少时

当broker server增加或减少时,client会重新进行负载均衡。Broker减少的瞬间,在负载均衡之前,已经发送到减少的那台broker但未到达服务器时,客户端将会捕获到发送异常,由业务决定如何处理,负载均衡之后将正常发送到其他服务器上。

你可能感兴趣的:(消息中间件)