分布式架构学习之:消息中间件在分布式系统中的作用


 

ActiveMQ 

RabbitMQ 

RocketMq 

Joram

HornetQ

OpenMQ

MuleMQ

SonicMQ

ZeroMQ

关注度 

成熟度 

成熟

成熟

比较成熟

比较成熟

比较成熟

比较成熟

新产品无成功案例

成熟

不成熟

所属社区/公司 

Apache

 Mozilla

Public

License

Alibaba

OW2

Jboss

Sun

Mule

Progress

  

社区活跃度 

文档 

特点 

功能齐全,被大量开源项目使用

由于Erlang 语言的并发能力,性能很好

 各个环节分布式扩展设计,主从 HA;支持上万个队列;多种消费模式;性能很好

  

在 Linux平台上直接调用操作系统的 AIO,性能得到很大的提升

  

性能非常

好,与

MuleESB 无缝整合

性能优越的商业 MQ

低延时,高性能,最高 43万条消息每秒

授权方式 

开源

开源

开源

开源

开源

开源

商业

商业

开源

开发语言 

Java

Erlang

Java

Java

Java

Java

Java

Java

C

支持的协议 

OpenWire、

STOMP、

REST、XMPP、

AMQP

AMQP

自己定义的一

套(社区提供

JMS--不成熟)

JMS

JMS

JMS

JMS

JMS

TCP、UDP

客户端支持语言 

Java、C、

C++、

Python

PHP

Perl、.net 等

Java、C、

C++、

Python、 PHP、Perl 等

Java

C++(不成熟)

 

Java

Java

Java

Java

Java、C、

C++、.net

python、 java、 php、.net 等

持久化 

内存、文件、数据库

内存、文件

磁盘文件

内存、文件

内存、文件

内存、文件

内存、文件

内存、文件、数据库

在消息发送端保存

事务 

支持

不支持

支持

支持

支持

支持

支持

支持

不支持

集群 

支持

支持

支持

支持

支持

支持

支持

支持

不支持

负载均衡

支持

支持

支持

支持

支持

支持

支持

支持

不支持

管理界面 

一般

无社区有 web

console 实现

一般

一般

一般

部署方式 

独立、嵌入

独立

独立

独立、嵌入

独立、嵌入

独立、嵌入

独立

独立

独立

评价 

优点

   成熟的产品,已经在很多公司得到应用(非大规模场景)。有较多的文档。各种协议支持较好,有多重语言的成熟的客户端;缺点

根据其他用户反馈,会出莫名其妙的问题,切会丢

失消息。

其重心放到

activemq6.0 产品—apollo 上去了,目前社区不活跃,且对 5.x 维护较少;

Activemq 不适合用于上千个队列的应用场景

优点:   由于

erlang语言的特性,mq 性能较好;管理界面较丰富,在互联网公司也有较大规模的应用;支持amqp系诶,有多中语言且支持 amqp 的客

户端可用

 

缺点:

  erlang语言难度较

大。集群不支持动态扩展。

优点

   模型简单,接口易用(JMS 的接口很多场合并不太实

用)。在阿里大规模应用。目前支付宝中的余额宝等新兴产

品均使用

rocketmq。集群规模大概在

50 台左右,单日处理消息上

百亿;性能非常好,可以大量堆

积消息在

broker 中;支持多种消费,包括集群消费、广播消费等。开发度较活跃,版本

更新很快。

 

缺点

  产品较新,文档比较缺乏。

没有在 mq 核心中去实现

JMS 等接口,对

已有系统而言不能兼容。

  阿里内部还有一套未开源

的 MQ API,这一层API可以将上层应用和下层 MQ 的实现解耦(阿里内部有多个mq的实现,如 notify、

 

 

 

 

 

 

 

 

 

metaq1.x, metaq2.x,

rocketmq 等),使得下面mq可以很方便的进行切换和升级而对应用无任

何影响,目前这

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式数据库架构是指在多个数据库之间分配和存储数据的一种架构方式。它将数据分散存储在多个节点上,以提高系统的可扩展性、可用性和性能。 Mycat是一种开源的分布式数据库中间件,它基于MySQL实现分布式数据库功能。它具有负载均衡、数据分片和数据复制等特性,能够有效地分配和管理数据。它还提供了分布式事务的支持,保证了数据的一致性和可靠性。 在企业实践分布式数据库架构和Mycat中间件被广泛应用于大规模业务系统。首先,它能够解决单点故障问题,提高系统的可用性。将数据分散存储在多个节点上,当某个节点发生故障时,其他节点可以继续提供服务,保证系统的正常运行。 其次,分布式数据库架构和Mycat中间件能够提高系统的性能。通过数据分片和负载均衡的技术,可以将负载均匀地分散到多个节点上,避免单个节点的资源瓶颈问题,提高系统的处理能力和响应速度。 此外,分布式数据库架构还能够实现数据的弹性扩展。当业务量增加时,可以根据需要新增节点,实现系统的水平扩展。同时,通过数据复制技术,可以提供数据的冗余存储,保证数据的安全性和完整性。 总的来说,分布式数据库架构和Mycat中间件为企业提供了一种可靠、高性能的数据存储和管理方案。它能够适应大规模业务系统的需求,提供可伸缩性和弹性扩展能力,成为企业在数据管理方面的重要工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值