消息中间件概述
发布日期:2021-06-30 16:02:31
浏览次数:2
分类:技术文章
本文共 1097 字,大约阅读时间需要 3 分钟。
推荐:
消息中间件概述
原文地址
中间件
是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称中间件。学术界定义
中间件是指网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性。
消息中间件
关注于数据的发送和接受,利用高效可靠的异步消息传递机制进行平台无关的数据交流,并基于数据通信集成分布式系统。
为什么需要消息中间件
通过服务调用让其他系统感知事件的发生,系统之间耦合度太高,用户体验不好。
通过消息中间件可以解耦服务调用。
生活中的示例:好处:解耦、异步、横向扩展、安全可靠、顺序保证。
常见消息中间件
ActiveMQ
ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。
特性
- 多种语言和协议编写客户端。 语言: Java,C,C+ +,C#,Ruby,Perl,Python,PHP。 应用协议:OpenWire,Stomp REST,WS Notification,XMPP,AMQP。
- 完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务)。
- 虚拟主题、组合目的、镜像队列。
RabbitMQ
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
特性
- 支持多种客户端,如: Python、Ruby、.NET、Java、JMS.C、 PHP、ActionScript等。
- AMQP的完整实现(vhost.Exchange、Binding、Routing Key等)。
- 事务支持/发布确认。
- 消息持久化。
Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,是一个分布式的、分区的、可靠的分布式日志存储服务。它通过一种独一无二的设计提供了一个消息系统的功能。
特性
- 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
- 高吞吐量:即使是非常普通的硬件,Kafka也可以支持每秒数百万的消息。
- Partition(分区)、Consumer Group(消费组)。
三者的比较
转载地址:https://kaven.blog.csdn.net/article/details/104223610 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月07日 20时00分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《增长黑客》(肖恩·艾利斯)学习笔记——第二部分 实战
2019-05-01
Mysql学习笔记(10):事务、视图
2019-05-01
python使用HTMLTestRunner查看运行函数
2019-05-01
fiddler 抓取手机接口
2019-05-01
fiddler 安装以及配置
2019-05-01
python的ImportError
2019-05-01
centos最小化安装配置网络问题
2019-05-01
linux下安装jenkins+git+python
2019-05-01
windows10家庭版开启组策略
2019-05-01
python多线程_thread与threading(推荐使用)
2019-05-01
【经验分享】XPATH逻辑运算
2019-05-01
解决uiautomatorviewer中添加xpath的方法
2019-05-01
python安装mysqlclient[MySQLdb]
2019-05-01
性能测试的必要性评估以及评估方法
2019-05-01
性能测试需求分析
2019-05-01
性能测试需求评审
2019-05-01
性能测试实施流程
2019-05-01
Jmeter在多线程当中对某个http请求进行循环读取配置文件
2019-05-01
Python读取配置文件中文乱码问题
2019-05-01