当前位置: 首页 > news >正文

linux之RabbitMQ消息队列

1.首先安装相关安装包

通过网盘分享的文件:linux-Rabbit
链接: https://pan.baidu.com/s/11IMgjU-QlitmSJLHyG-Cbw?pwd=7yfi 提取码: 7yfi

rabbitmq_delayed_message_exchange-3.8.0.ez暂时用不到,可以不需要下载

2.下载完成后,通过Xftp将其导入虚拟机目标目录中。

然后打开XShell终端进入目录中。

接下来就是下载

因为它是用erlang语言开发的,所以我们需要先下载这个环境

3.安装erlang语言环境以及相关依赖

rpm -ivh erlang-21.3-1.el7.x86_64.rpm 

yum -y install socat

4.安装rabbitmq

rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

到这里我们就安装完成了。

5.服务指令

/sbin/service rabbitmq-server start    等价于systemctl start rabbitmq-server.service

查看状态
/sbin/service rabbitmq-server status
关闭服务
/sbin/service rabbitmq-server stop

添加开机自启动rabbitmq服务
chkconfig rabbitmq-server on

开启管理web插件
rabbitmq-plugins enable rabbitmq_management

6.测试

通过IP访问端口15672看看是否成功。

温馨提示:若是防火墙没有开放端口,在外部是无法访问的,只能本机访问。

# 开放指定端口(例如15672)

sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent

# 重新加载防火墙配置

sudo firewall-cmd --reload

# 验证端口是否开放

sudo firewall-cmd --zone=public --query-port=15672/tcp

我采用的是外部windows进行访问,通过IP:端口号的形式访问,若是在虚拟机内部,则直接用localhost就可以访问。

7.创建用户供外部使用


查看所有的用户
rabbitmqctl list_users   (系统只有一个默认guest账号并且只能本地登录)
创建用户
rabbitmqctl add_user admin 1234
给新用户设置角色
rabbitmqctl set_user_tags admin administrator
给新用户赋权
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

8.使用简单的java项目体验消息队列

配置成功后,我们就可以通过新创建的密码供外部访问了。

-----【提示:在虚拟机内部可以访问默认游客账号,账号密码都是guest】

java 项目体验

package com.rabbit.product;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;import java.util.Map;public class Product1 {public static void main(String[] args) throws Exception {//1.创建连接工厂ConnectionFactory factory = new ConnectionFactory();//2.设置工厂属性factory.setHost("192.168.100.100");factory.setPort(5672);factory.setVirtualHost("/");factory.setUsername("admin");factory.setPassword("1234");//3.获取连接对象Connection connection = factory.newConnection();//4.创建信道Channel channel = connection.createChannel();//5.生成队列/*String queue 队列的名字boolean durable 队列是否持久化boolean exclusive 该队列是否可以被多个消费者消息boolean autoDelete 最后一个消费者消费断开链接后是否自动删除Map<String, Object> arguments 高级配置*/channel.queueDeclare("hello", false, false, false, null);//6.发送消息String message = "hello word";channel.basicPublish("", "hello", null, message.getBytes("UTF-8"));System.out.println("消息发送完成");}
}
package com.rabbit.consumer;import com.rabbitmq.client.*;public class Consumer1 {public static void main(String[] args) throws Exception {//1.创建连接工厂ConnectionFactory factory = new ConnectionFactory();//2.设置工厂属性factory.setHost("192.168.100.100");factory.setPort(5672);factory.setVirtualHost("/");factory.setUsername("admin");factory.setPassword("1234");//3.获取连接对象Connection connection = factory.newConnection();//4.创建信道Channel channel = connection.createChannel();//5.获取消息/*String queue 消费那个队列boolean autoAck 自动应答机制DeliverCallback deliverCallback 接收到消息后如何消费CancelCallback cancelCallback 取消消费后如何反馈*/DeliverCallback deliverCallback = (consumerTag, message)->{//获取消息byte[] body = message.getBody();String str = new String(body);System.out.println("接收到了:"+str);};CancelCallback cancelCallback=(consumerTag)->{System.out.println("消费终端");};channel.basicConsume("hello",true,deliverCallback,cancelCallback);}
}

这个能够实现生产者发送消息到消息队列当中,然后消费者去消息队列中取消息信息。

http://www.dtcms.com/a/526433.html

相关文章:

  • 新手学做网站图纸数字短链接生成
  • 常州装修网站建设公司西安市建设工程信息网平台官网
  • Compose 插槽 API 简介、实战
  • 网站建设实习困难网站sem优化怎么做
  • 我的网站别人给黑链 攻击天元建设集团有限公司经济活动分析
  • 优质的网站建设公司沧县做网站价格
  • 50个单页面网站设计欣赏(2)十大工业互联网平台
  • 静态网站开发外文文献株洲论坛
  • 网站语言选择查询公司营业执照的网站
  • 【Linux】常见的系统调用 函数和功能简单总结
  • 个人做网站费用wordpress开放平台
  • 东莞网站建设aj博客wordpress地址和找点地址
  • 常见网站模式如何申请一个自己的网站
  • 我想找个郑州做网站的西安门户网站建设公司哪家好
  • 深入浅出Java 8 Lambda表达式
  • 软件开发 网站开发 不同赣州企业网
  • 域名注册万网北京网站优化步
  • 东莞电子网站建设dw设计一个简单网站
  • 东莞网站维护买到域名怎么做网站
  • 【内存池】动态内存分配机制
  • 一键注册所有网站涉密网络运行维护服务外包的单位
  • 深圳市 网站建设450做自己的视频网站
  • 免费空间的个人网站为什么wordpress在ie打开很慢
  • 【1024节】一年一年又是一年
  • 武义建设局网站网站建设 技术方案
  • 网站别人备案怎么办dedecms wap网站模板下载
  • 青岛seo整站优化织梦网站如何做地区分站
  • 网站首页图片尺寸广州安全教育平台官网登录
  • 南阳网站推广站长之家alexa排名怎么看
  • 开家网站建设培训学校付钱做编程题目的网站