Spring Cloud Spring Boot mybatis分布式微服务云架构(四十六)使用RabbitMQ(1)

Message Broker与AMQP简介

Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:

  • 消息路由到一个或多个目的地
  • 消息转化为其他的表现方式
  • 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户
  • 调用Web服务来检索数据
  • 响应事件或错误
  • 使用发布-订阅模式来提供内容或基于主题的消息路由

AMQP是Advanced Message Queuing Protocol的简称,它是一个面向消息中间件的开放式标准应用层协议。AMQP定义了这些特性:

  • 消息方向
  • 消息队列
  • 消息路由(包括:点到点和发布-订阅模式)
  • 可靠性
  • 安全性

RabbitMQ

本文要介绍的RabbitMQ就是以AMQP协议实现的一种中间件产品,它可以支持多种操作系统,多种编程语言,几乎可以覆盖所有主流的企业级技术平台。

安装

在RabbitMQ官网的下载页面https://www.rabbitmq.com/download.html中,我们可以获取到针对各种不同操作系统的安装包和说明文档。这里,我们将对几个常用的平台一一说明。

下面我们采用的Erlang和RabbitMQ Server版本说明:

  • Erlang/OTP 19.1
  • RabbitMQ Server 3.6.5

Windows安装

  1. 安装Erland,通过官方下载页面http://www.erlang.org/downloads获取exe安装包,直接打开并完成安装。
  2. 安装RabbitMQ,通过官方下载页面https://www.rabbitmq.com/download.html获取exe安装包。
  3. 下载完成后,直接运行安装程序。
  4. RabbitMQ Server安装完成之后,会自动的注册为服务,并以默认配置启动起来。

Mac OS X安装

在Mac OS X中使用brew工具,可以很容易的安装RabbitMQ的服务端,只需要按如下命令操作即可:

  1. brew更新到最新版本,执行:brew update
  2. 安装Erlang,执行:brew install erlang
  3. 安装RabbitMQ Server,执行:brew install rabbitmq

通过上面的命令,RabbitMQ Server的命令会被安装到/usr/local/sbin,并不会自动加到用户的环境变量中去,所以我们需要在.bash_profile.profile文件中增加下面内容:

PATH=$PATH:/usr/local/sbin

这样,我们就可以通过rabbitmq-server命令来启动RabbitMQ的服务端了。

Ubuntu安装

在Ubuntu中,我们可以使用APT仓库来进行安装

  1. 安装Erlang,执行:apt-get install erlang

  2. 执行下面的命令,新增APT仓库到/etc/apt/sources.list.d

    1echo 'deb http://www.rabbitmq.com/debian/ testing main' | 2 sudo tee /etc/apt/sources.list.d/rabbitmq.list
  3. 更新APT仓库的package list,执行sudo apt-get update命令

  4. 安装Rabbit Server,执行sudo apt-get install rabbitmq-server命令源码来源

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Spring Cloud Spring Boot mybatis分布式微服务云架构(四十六)使用RabbitMQ(1) - HelloWorld