- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
rabbitmq、activemq、kafka之间的比较 RabbitMq: 它比kafka成熟,支持AMQP事务处理,在可靠性上,RabbitMq超过kafka,在性能方面超过ActiveMQ。 ActiveMQ: 历史悠久的开源项目,已经在很多产品中得到应用,实现了JMS1.1规范,可以和spring-jms轻松融合,实现了多种协议,不够轻巧(源代码比RocketMQ多),支持持久化到数据库,对队列数较多的情况支持不好。 Kafka: Kafka设计的初衷就是处理日志的,不支持AMQP事务处理,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性 Kafka的性能(吞吐量、tps)比RabbitMq要强,如果用来做大数据量的快速处理是比RabbitMq有优势的。 AMQP协议 即高级消息队列协议,规范客户端与消息中间件服务器之间的通信,并能相互操作。 一、 channel 信道: 概念:信道是生产消费者与rabbit通信的渠道,生产者publish或是消费 者subscribe一个队列都是通过信道来通信的。信道是建立在TCP连接上的虚 拟连接,什么意思呢?就是说rabbitmq在一条TCP上建立成百上千个信道来达 到多个线程处理,这个TCP被多个线程共享,每个线程对应一个信道,信道在 rabbit都有唯一的ID ,保证了信道私有性,对应上唯一的线程使用。 疑问:为什么不建立多个TCP连接呢?原因是rabbit保证性能,系统为每个 线程开辟一个TCP是非常消耗性能,每秒成百上千的建立销毁TCP会严重消耗系 统。所以rabbitmq选择建立多个信道(建立在tcp的虚拟连接)连接到rabbit上。 类似概念:TCP是电缆,信道就是里面的光纤,每个光纤都是独立的,互不 影响。 二、exchange 交换机和绑定routing key exchange的作用就是类似路由器,routing key 就是路由键,服务器会根据路由键将消息从交换器路由到队列上去。 exchange有多个种类:direct,fanout,topic (direct)1:1,(fanout)1:N,(topic)N:1 direct: 1:1类似完全匹配 fanout:1:N 可以把一个消息并行发布到多个队列上去,简单的说就是,当多个队列绑定到fanout的交换器,那么交换器一次性拷贝多个消息分别发送到绑定的队列上,每个队列有这个消息的副本。 ps:这个可以在业务上实现并行处理多个任务,比如,用户上传图片功 能,当消息到达交换器上,它可以同时路由到积分增加队列和其它队列上,达到并 行处理的目的,并且易扩展,以后有什么并行任务的时候,直接绑定到fanout交换 器不需求改动之前的代码。 topic N:1 ,多个交换器可以路由消息到同一个队列。根据模糊匹配,比如一个队列的routing key 为*.test ,那么凡是到达交换器的消息中的routing key 后缀.test都被路由到这个队列上。 三、Queue和Bing Queue(队列)是RabbitMQ的内部对象,用于存储消息。 消息的生命周期:生产者生产消息A 交由信道,信道通过消息(消息由载体和标签)的标签(路由键)放到交换器发送到队列上(其实就是查询匹配,一旦匹配到了规则,信道就直接和队列产生连接,然后将消息发送过去) 绑定器(Bind):将交换器和队列连接起来,并且封装消息的路由信息 四、主要方法 声明队列(创建队列):可以生产者和消费者都声明,也可以消费者声明生产者不声明,也可以生产者声明而消费者不声明。最好是都声明。(生产者未声明,消费者声明这种情况如果生产者先启动,会出现消息丢失的情况,因为队列未创建) channel.queueDeclare(String queue, //队列的名字 boolean durable, //该队列是否持久化(即是否保存到磁盘中) boolean exclusive,//该队列是否为该通道独占的,即其他通道是否可以消费该队列 boolean autoDelete,//该队列不再使用的时候,是否让RabbitMQ服务器自动删除掉 MapString, Object arguments)//其他参数 四、主要方法 声明路由器(创建路由器):生产者、消费者都要声明路由器---如果声明了
您可能关注的文档
- 25《好的故事》课件.ppt
- 25《羿射九日》课件 (1).ppt
- 25G玻璃体切除联合内界膜剥除手术治疗特发性黄斑裂孔的临床应用和观察.ppt
- 25埃及金字塔 公开课.ppt
- 25宝葫芦的秘密.ppt
- 25个团队建设小游戏PPT(共 26张).ppt
- 25急性子裁缝和慢性子顾客.ppt
- 25急性子顾客和慢性子裁缝.ppt
- 26.2(2)(3)特殊二次函数的图像.ppt
- 26.2.2.6 二次函数图象中的“对称性”.ppt
- GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 中国国家标准 GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 《GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs)》.pdf
- GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- 中国国家标准 GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 中国国家标准 GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 《GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样》.pdf
- 《GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯》.pdf
- 中国国家标准 GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯.pdf
文档评论(0)