消息中间件有:1、Kafka主要为高吞吐量的订阅发布系统而设计,追求速度与持久化;2、RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现;3、RocketMQ是纯Java开发,具有高吞吐量。
创新互联服务项目包括杏花岭网站建设、杏花岭网站制作、杏花岭网页制作以及杏花岭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,杏花岭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到杏花岭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
消息中间件有:
Kafka、RabbitMQ、RocketMQ
1、Kafka
Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要为高吞吐量的订阅发布系统而设计,追求速度与持久化。kafka中的消息由键、值、时间戳组成,kafka不记录每个消息被谁使用,只通过偏移量记录哪些消息是未读的,kafka中可以指定消费组来实现订阅发布的功能。
2、RabbitMQ
RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
3、RocketMQ
RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景。支持的客户端语言不多,目前是Java及C++,其中C++还不成熟;
5、Kafka、RabbitMQ、RocketMQ对比
1、Rabbitmq比kafka可靠,kafka更适合IO高吞吐的处理,比如ELK日志收集。
2、kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。
本文标题:消息中间件有哪些?
文章分享:http://cdxtjz.cn/article/cjeoij.html