当前位置:   article > 正文

rabbitmq连接认证_RabbitMQ

rabbitmq自定义认证模块

一、 什么是 RabbitMQ

dad8c246b04cb06c695000a6a09c079a.png

二、 安装 RabbitMQ

1 安装 Erlang

1.1什么是 Erlang

Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的

CS-Lab 开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境 。

系统版本:CentOS 6.5

RabbitMQ-Server:3.5.1

2 安装 erlang

2.1安装准备,下载安装文件

  1. wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
  2. //升级
  3. rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

修改 primary.xml.gz 的 sha 的加密值

  1. cd /var/cache/yum/x86_64/6/erlang-solutions
  2. sha1sum primary.xml.gz
  3. vim repomd.xml

修改

  1. <data type="primary">
  2. <checksum type="sha">结果为 sha1sum 命令结果</checksum>3 安装 erlang
  3. yum install erlang

4 安装完成后可以用 erl 命令查看是否安装成功

erl -version 

5 安装 RabbitMQ Server

5.1安装准备,下载 RabbitMQ Server

wget  http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmqserver-3.5.1-1.noarch.rpm 

5.2安装 RabbitMQ Server

  1. rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
  2. yum install rabbitmq-server-3.5.1-1.noarch.rpm

6 启动 RabbitMQ

6.1配置为守护进程随系统自动启动,root 权限下执行:

chkconfig rabbitmq-server on 

6.2启动 rabbitMQ 服务

/sbin/service rabbitmq-server start

7 安装 Web 管理界面插件

7.1安装命令

rabbitmq-plugins enable rabbitmq_management 

7.2安装成功后会显示如下内容

  1. The following plugins have been enabled:
  2. mochiweb
  3. webmachine
  4. rabbitmq_web_dispatch
  5. amqp_client
  6. rabbitmq_management_agent
  7. rabbitmq_management
  8. Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

8 设置 RabbitMQ 远程 ip 登录这里我们以创建个 oldlu 帐号,密码 123456 为例,创建一个账号并

支持远程 ip 访问。

8.1创建账号

rabbitmqctl add_user oldlu 123456 

8.2设置用户角色

rabbitmqctl set_user_tags oldlu administrator 

8.3设置用户权限

rabbitmqctl set_permissions -p "/" oldlu ".*" ".*" ".*" 

8.4设置完成后可以查看当前用户和角色(需要开启服务)

rabbitmqctl list_users 

浏览器输入:serverip:15672。其中 serverip 是 RabbitMQ-Server 所在主机的 ip。

三、 为什么要使用 RabbitMQ?他解决了什么问题?

1服务与服务之间的同步变为异步

cf77385587bcdc4ed3c5f9ac3dc23934.png

24c2a5e3c8bf8ec36ff88b0678161d39.png

eff08d2ecafdf517dc2599c4ee239e5d.png

解除服务之间的耦合,添加新的服务是不需要修改订单服务,只需要新的业务订阅消息:

6e03ac2a525b5b6d36cdfe4245d322da.png

流量削峰:

5d0e7813dd31c3685b9fc770dfa32e6a.png

四、 消息队列基础知识。

1 Provider

消息生产者,就是投递消息的程序。

2 Consumer

消息消费者,就是接受消息的程序。

3 没有使用消息队列时消息传递方式

a6e2591faa6682675fabe445c9dd48e6.png

4 使用消息队列后消息传递方式

58fd46430c43922e69bffb052cf91183.png

5 什么是队列?

队列就像存放了商品的仓库或者商店,是生产商品的工厂和购买商品的用户之间的中转站

6 队列里存储了什么?

在 rabbitMQ 中,信息流从你的应用程序出发,来到 Rabbitmq 的队列,所有信息可以只

存储在一个队列中。队列可以存储很多信息,因为它基本上是一个无限制的缓冲区,前提是

你的机器有足够的存储空间。

7 队列和应用程序的关系?

多个生产者可以将消息发送到同一个队列中,多个消息者也可以只从同一个队列接收数据。

五、 编写 RabbitMQ 的入门案例

1 搭建项目环境

1.1创建项目

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/798561
推荐阅读
相关标签
  

闽ICP备14008679号