安装rabbitmq步骤

  简言之,就是要先安装erlang,再安装rabbitmq,而且两者之间的版本号要注意。erlang版本低了,rabbitmq会报错。

https://blog.csdn.net/LuuvyJune/article/details/90516891

 

https://www.cnblogs.com/fengyumeng/p/11133924.html (评论区有erlang快速链接,不需FQ)

1mq消息中间件

1.1mq消息中间件介绍

 

 

 

Mq消息中间件完成,rpc调用的异步执行,服务调用之间的解耦合,提高主要(核心)服务的响应速度

 

 

 

在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。

 

 

1.2安装Rabbitmq

 

链接:https://pan.baidu.com/s/1CJNLCZON7fu1Hlze8VmMtQ
提取码:xfkx
复制这段内容后打开百度网盘手机App,操作更方便哦

 

1.2.1安装环境依赖

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

 

yum -y install perl

 

1.2.2上传安装包

 

1.2.3安装ErLang语言包

 

 

 

 

1.2.3.3编译安装erlang

 

进入erlang解压目录

 

make && make install

 

 

1.2.3.4配置erlang的环境变量

 

ERLANG_HOME=/usr/local/erlang

PATH=$ERLANG_HOME/bin:$PATH

export ERLANG_HOME

export PATH

 

1.2.3.5测试erlang安装

 

执行命令:erl

 

1.2.4安装rabbitmq

1.2.4.1 解压rabbitmq

yum -y install xz

 

 

 

1.2.4.2拷贝安装

 

 

1.2.4.3启动rabbitmq服务

进入rabbitmqsbin目录:

#启动命令,该命令ctrl+c后会关闭服务

./rabbitmq-server

 

#在后台启动Rabbit

./rabbitmq-server -detached

 

#关闭服务

./rabbitmqctl stop

 

#关闭服务(kill) 找到rabbitmq服务的pid   [不推荐]

ps -ef|grep rabbitmq

kill -9 ****

 

 

 

 

#进入RabbitMQ安装目录

cd /usr/local/rabbitmq-3.6.1/sbin

 

#添加用户

#rabbitmqctl add_user Username Password

./rabbitmqctl add_user rabbitadmin 123456

 

#分配用户标签

#rabbitmqctl set_user_tags User Tag

#[administrator]:管理员标签

./rabbitmqctl set_user_tags rabbitadmin administrator

 

 

给用户访问虚拟机的权限

 

 rabbitmqctl  set_permissions -p / mq '.*' '.*' '.*'

 

 

1.2.4.5关闭防火墙

 

 

1.2.4.6启动mq的管理ui

 

 

1.2.4.7访问rabbitmq的管理员UI

http://服务器IP地址:15672/

 

 

 

2使用springcloud+rabbitmq访问mq队列

2.1建立springcloud_rabbitmq发送消息

2.1.1添加依赖

 

 

2.1.2建立BeanConfigs

 

实例化amqpTemplate对象

 

package com.bjsxt.app.config;

 

import org.springframework.amqp.core.Queue;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 

@Configuration

publicclass BeanConfig {

 

/***

 * 项目启动的时候创建一个队列,队列名字为hello

 * @return

 */

@Bean

public Queue queue() {

returnnew Queue("hello") ;

}

}

 

 

 

2.1.3建立Sender消息发送者

package com.bjsxt.app.sender;

 

import java.util.Date;

 

import org.springframework.amqp.core.AmqpTemplate;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Configuration;

 

@Configuration

publicclass Sender {

 

//注入rabbitmq的模板操作对象

@Autowired

private AmqpTemplate amqpTemplate;

 

publicvoid sendMsg() {

//向名字为hello的队列中添加数据

amqpTemplate.convertAndSend("hello", new Date().toString());

}

}

 

 

2.1.4配置application.yml

spring:

application:

name: rabbit_mq

rabbitmq:

host: 192.168.114.80

port: 5672

username: mquser

password: 123456

 

2.1.5建立测试类

package com.bjsxt.app;

 

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

 

import com.bjsxt.app.sender.Sender;

 

@RunWith(SpringRunner.class)

@SpringBootTest

publicclass SpringcloudRabbitmqApplicationTests {

 

//注入消息发送者对象

@Autowired

private Sender sender;

@Test

publicvoid contextLoads() throws InterruptedException {

while(true) {

//调用消息发送方法

sender.sendMsg();

Thread.sleep(3000);

}

}

 

}

 

 

 

2.2建立sprngcloud_rabbitmq_receiver消费消息

2.2.1建立Receiver

package com.bjsxt.app.receive;

 

import org.springframework.amqp.rabbit.annotation.RabbitHandler;

import org.springframework.amqp.rabbit.annotation.RabbitListener;

import org.springframework.context.annotation.Configuration;

 

/***

 * 消息的消费者

 * @author Administrator

 *

 */

@Configuration

@RabbitListener(queues="hello")

publicclass Receiver {

 

/***

 * 用来消费队列的中消息

 * @param msg 获得mq中的消息

 */

@RabbitHandler

publicvoid  receive(String msg) {

System.out.println("消费的数据为:   "+msg);

}

 

}

 

 

2.2.2启动项目进行消费

posted @ 2019-12-29 14:19  wq9  阅读(183)  评论(0)    收藏  举报