消息队列的介绍与安装

消息队列的介绍与安装

消息队列,也叫消息中间件。消息的传输过程中保存消息的容器。
消息队列解决的问题。

  • 异步

  • 解耦

  • 削峰

消息队列的弊端是不确定性,不能绝对保证消息的准确到达,所以要引入延迟、周期性的主动轮询,来发现未到达的消息,从而进行补偿。

消息模式

queue,点对点,只消费一次,具有持久性,不消费一直存在,具有持久性。
在这里插入图片描述
topic,发布/订阅,同时有多个消息消费者(订阅)消费该消息,并且发布后不管是否有消费者。都不会保存消息。
在这里插入图片描述

产品对比

ActiveMQ与RabbitMQ

主要区别是二者的协议不同RabbitMQ的协议是AMQP(Advanced Message Queueing Protoco),而ActiveMQ使用的是JMS(Java Messaging Service )协议JMS是针对Java体系的传输协议,队列两端必须有JVM,所以如果开发环境都是java的话推荐使用ActiveMQ,可以用Java的一些对象进行传递比如Map、BLob、Stream等。而AMQP通用行较强,非java环境经常使用,传输内容就是标准字符串。另外一点就是RabbitMQ用Erlang开发,安装前要装Erlang环境,比较麻烦。ActiveMQ解压即可用不用任何安装。

ActiveMQ与KafKa

Kafka性能超过ActiveMQ等传统MQ工具,集群扩展性好。
弊端是在传输过程中可能会出现消息重复的情况,不保证发送顺序,而且一些传统MQ的功能没有,比如消息的事务功能。通常用Kafka用来处理大数据的日志。

ActiveMQ与Redis

Redis本身利用List可以实现消息队列的功能,但是功能很少,而且队列体积较大时性能会急剧下降。对于数据量不大、业务简单的场景可以使用。

安装ActiveMQ

以activeMQ为例,首先去官网下载压缩包,本次我选用了apache-activemq-5.12.0-bin.zip。
下载地址
直接解压即可。

启动服务
activemq start
关闭服务
activemq stop
activemq两个重要的端口,一个是提供消息队列的默认端口:61616 ,另一个是控制台端口8161。
进入网页控制台
在这里插入图片描述
账号密码默认是:admin

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值