从零学 spring cloud第5-1课:中间件之消息队列ActiveMQ

    项目的DEMO代码:https://github.com/heyu52/-spring-cloud
消息队列中间件当下系统中无处不在,并且已经成为了系统中内部通信的核心手段。它有以下特点:

  • 松耦合
  • 异步消息
  • 流量削峰
  • 可靠投递
  • 广播
  • 流量控制
  • 最终一致性
    我使用最多的场景就是异步处理。
        目前在业界使用比较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。这些消息队列都是现成的系统,我们安装即可使用。这一节我们就来讲讲ActiveMQ是如何使用的。

什么是JMS规范
    JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
    JMS 的消息机制有 2 种模型,一种是 Point to Point 即点对点(一对一),表现为队列的形式,发送的消息,只能被一个接收者取走;另一种是 Topic即发布订阅模式(一对多),可以被多个订阅者订阅,类似于群发。

ActiveMQ 介绍
    ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。它支持Java,C,C++,C#,Python,Ruby,Perl。同时支持windows,linux。支持OpenWire、REST、STOMP、WS-Notification、MQTT、XMPP以及AMQP协议。我们之前所有的例子都是使用RESTFUL。它的官网地址如下:https://activemq.apache.org/

ActiveMQ 安装
目前ActiveMQ 的最新版本是5.5.9,下载地址为:https://activemq.apache.org/components/classic/download/
本打算使用Docker来进行部署的,但是官网上找不到官方的镜像,所以直接部署。我们直接下载linux的版本进行部署就可以了。
解压:tar -zxvf apache-activemq-5.15.9-bin.tar.gz
进入目录:cd bin
启动:./activemq start
在这里插入图片描述
看到以上就表示,ActiveMQ已启动了。
开启防火墙端口
1、如果使用了云服务器需要先开启8161(web管理页面端口)、61616(activemq服务监控端口) 两个端口
2、打开linux防火墙端口
/sbin/iptables -I INPUT -p tcp --dport 8161 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status
/sbin/iptables -I INPUT -p tcp --dport 61616 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

后台管理:http://192.168.0.123:8161/
在这里插入图片描述
点击Manage ActiveMQ broker,会弹出登录,默认账号密码:admin/admin
在这里插入图片描述
ActiveMQ 是起来了,但有一个很现实的问题,它都现在都是存放在内存中,它并没有连接数据库,企业中没有人这么用的,真正用起来,必然是将消息都存到数据库中,要不然消息在系统故障时,就会产生丢失了。接下来,我们配置它与数据库相连。

1、下载数据库驱动包
    因为我的mysql是8.0的版本,所以我下载了Mysql8.0的mysql-connector-java-8.0.16.jar包,我们将这个包复制到activemq的\lib\目录下。

2、下载 commons-dbcp2-2.1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值