MQ 的诞生历程

我们要去用MQ,先来了解一下MQ 是怎么诞生的,这样对于它解决了什么问题理解会更加深刻。大家知不知道世界上第一个MQ 叫什么名字,是什么时候诞生的?

1983 年的时候,有个在MIT 工作的印度小伙突发奇想,以前我们的软件相互通信,都是点对点的,而且要实现相同的协议,能不能有一种专门用来通信的中间件,就像主板(BUS)一样,把不同的软件集成起来呢?于是他搞了一家公司(Teknekron),开发了世界上第一个消息队列软件The Information Bus(TIB)。最开始的时候,它被高盛这些公司用在金融交易里面。因为TIB 实现了发布订阅(Publish/Subscribe)模型,信息的生产者和消费者可以完全解耦,这个特性引起了电信行业特别是新闻机构的注意。1994年路透社收购了Teknekron。

TIB 的成功马上引起了业界大佬IBM 的注意,他们研发了自己的IBM MQ(IBMWesphere)。后面微软也加入了这场战斗,研发了MSMQ。这个时候,每个厂商的产品是孤立的,大家都有自己的技术壁垒。比如一个应用订阅了IBM MQ 的消息,如果有要订阅MSMQ 的消息,因为协议、API 不同,又要重复去实现。为什么大家都不愿意去创建标准接口,来实现不同的MQ 产品的互通呢?跟现在微信里面不能打开淘宝页面是一个道理(商业竞争)。

JDBC 协议大家非常熟悉吧?J2EE 制定了JDBC 的规范,那么那么各个数据库厂商自己去实现协议,提供jar 包,在Java 里面就可以使用相同的API 做操作不同的数据库了。MQ 产品的问题也是一样的,2001 年的时候,SUN 公司发布了JMS 规范,它想要在各大厂商的MQ 上面统一包装一层Java 的规范,大家都只需要针对API 编程就可以了,不需要关注使用了什么样的消息中间件,只要选择合适的MQ 驱动。但是JMS 只适用于Java 语言,它是跟语言绑定的,没有从根本上解决这个问题(只是一个API)。

所以在06 年的时候,AMQP 规范发布了。它是跨语言和跨平台的,真正地促进了消息队列的繁荣发展。

07 年的时候,Rabbit 技术公司基于AMQP 开发了RabbitMQ 1.0。为什么要用Erlang 语言呢?因为Erlang 是作者Matthias 擅长的开发语言。第二个就是Erlang 是为电话交换机编写的语言,天生适合分布式和高并发。

为什么要取Rabbit Technologies 这个名字呢?因为兔子跑得很快,而且繁殖起来很疯狂。

从最开始用在金融行业里面,现在RabbitMQ 已经在世界各地的公司中遍地开花。国内的绝大部分大厂都在用RabbitMQ,包括头条,美团,滴滴(TMD),去哪儿,艺龙,淘宝也有用。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值