RabbitMQ

不是我吹,RabbitMQ 是真牛逼!

南楼画角 提交于 2020-03-21 19:24:20
3 月,跳不动了?>>> 今天来介绍下 RabbitMQ 在业务中在多强,文末再免费送 10 本重量级的书,不要错过!!! RabbitMQ作为一款能实现高性能存储分发消息的分布式中间件,具有异步通信、服务解耦、接口限流、消息分发和业务延迟处理等功能,在实际生产环境中具有很广泛的应用,其特性可以概括为如图1所示。 图1 RabbitMQ的作用 正是由于RabbitMQ拥有如此多的特性,才使得其在实际应用系统中具有一席之地,本节主要介绍一下RabbitMQ的典型应用场景。 1.异步通信和服务解耦 以“用户注册”为实际场景,传统的企业级应用处理用户注册的流程,首先是用户在界面上输入用户名、邮箱或手机号等信息,确认无误后,单击“注册”按钮提交相关信息。 前端会将这个信息提交到后端相关接口进行处理,后端在接收到这些信息后,会先对这些信息进行最基本的校验,校验成功后会将信息写入数据库相关数据表中,而为了用户注册的安全性,后端会调用邮件服务器提供的接口发送一封邮件验证用户的合法性,或者调用短信服务的发送短信验证码接口给用户进行验证,最后才将响应信息返回给前端用户,并提示“注册成功”,整个流程如图2所示。 图2 传统的企业级应用系统用户注册流程 从图2的流程可以看出,用户从单击“注册”按钮,提交相关信息之后便需要经历“漫长”的等待时间,整体的等待时间约等于“写入数据库”+“邮箱验证”+“短信确认

RabbitMQ环境安装

回眸只為那壹抹淺笑 提交于 2020-03-21 06:55:12
1.安装erlang 语言环境 安装依赖 yum install ncurses-devel (如果没安装GCC,执行 yum install gcc或者:yum groupinstall “Development Tools” “Development Libraries” “Compatibility libraries”) 进入 http://www.erlang.org/download.html 选择源文件下载 wget http://erlang.org/download/otp_src_19.0.tar.gz 注意:(这里可以提前下载openssl如何之前没有安装) 见附录 tar zxvf otp_src_19 . 0 . tar . gz cd otp_src_19 . 0 . /configure - - with - ssl=/opt/ssl/ - - prefix=/opt/erlang - - enable - threads - - enable - smp - support - - enable - kernel - poll - - enable - hipe - - without - javac make && make install 配置环境变量: 修改/etc\/profile文件,增加下面的环境变量: set erlang

RabbitMQ安装教程

大城市里の小女人 提交于 2020-03-21 01:26:22
RabbitMQ安装教程(转:http://blog.csdn.net/lu1005287365/article/details/52315786) 简介: RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。 如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。 安装: 首先需要安装 Erlang环境 官网: http://www.erlang.org/ Windows版下载地址: http://www.erlang.org/download/otp_win64_17.3.exe Linux版: 使用yum安装 Windows安装步骤; 第一步运行: 第二 步: 第三步: 第四步: 第五步: 这样 就安装完了 Erlang 然后就可以安装RabbitMQ了 首先下载RabbitMQ 的Windows版本 下载地址: http://www.rabbitmq.com/ 打开安装程序 按照下面步骤安装: 安装都比较简单 如此就安装完成了 这样就是安装完成后的开始菜单的效果 都是一些工具 然后进入管理工具 运行命令: [plain] view plain copy print ? rabbitmq-plugins enable rabbitmq_management

springboot项目中使用rabbitmq开发应用

谁说我不能喝 提交于 2020-03-21 01:09:44
3 月,跳不动了?>>> AMQP介绍 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个进程间传递异步消息的网络协议。 Exchange有Direct、Fanout、Topic、Headers,最常用的是Direct、Fanout、Topic三种类型。 “生产/消费”消息模型 生产者发送消息到broker server(RabbitMQ)。在Broker内部,用户创建Exchange/Queue, 通过Binding规则将两者联系在一起。Exchange分发消息,根据类型/binding的不同分发策略有区别。 消息最后来到Queue中,等待消费者取走。 AMQP messaging 中的基本概念 Broker: 接收和分发消息的应用,RabbitMQ Server就是Message Broker。 Virtual host: 出于多租户和安全因素设计的,把AMQP的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当多个不同的用户使用同一个RabbitMQ server提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等。 Connection: publisher/consumer和broker之间的TCP连接。断开连接的操作只会在client端进行

linux下安装rabbitMQ

怎甘沉沦 提交于 2020-03-20 05:06:34
1. 安装 Erlang 安装配置 1.1 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto (中间有可能要按 y 确认继续) 1.2 mkdir erlang 创建包来解压 tar 包 1.3 放 opt_src.tar 包 1.4 tar -xvf otp_src_20.1.tar.gz 解压 1.5 进入到 cd otp_src_20.1 文件里去 1.6 ./configure --prefix=/opt/erlang (配置安装路径编译代码) 1.7 make && make install (编译和安装) 1.8 cd /opt/erlang/bin 进入到这里 1.9 。./erl 看是否成功 2 操作 rabbitMQ 2.1 放 jar 包 2.2 解压 tar 包 tar -xvf rabbitmq-server-generic-unix-3.6.10.tar -C ./erlang 也解压到erlang里面去 2.3 换个名字 mv rabbitmq_server-3.6.10 rabbitmq 2.4 配置 erlang 和 mq 的环境变量 vi /etc/profile 配置自己的路径 2.5 其中是放 erlang 的路径和 rabbitmq 的路径 2.6

一丶RabbitMQ初识与安装

六眼飞鱼酱① 提交于 2020-03-18 11:21:59
某厂面试归来,发现自己落伍了!>>> 一.RabbitMQ是什么? RabbitMQ是一个开源消息代理和队列服务器,用来通过普通的协议在完全不同的应用之间共享数据,RabbitMQ使用的是Erlang语言编写的,并且是基于AMQP协议的。 二.为什么使用RabbitMQ 1.开源,性能优秀,性能稳定保障 2.提供可靠的消息投递(confirm),返回模式(return) 3.与SpringAMQP完美整合,API丰富 4.集群模式丰富,表达式配置,HA模式,镜像队列模型 5.保证数据不掉失可靠,可用性 三.RabbitMQ高性能的原因? 1.erlang最初用于交换机架构模式,使得rabbitmq在broker之间进行数据交互性能非常优秀 2.erlang的优点:有着和原生的socket一样的延迟 四.linux安装 准备一台Linux虚拟机,老师的机器是Linux7(CentOS 7);配置最好再2G内存以上哦,然后使用Xshell登录上去即可,注意准备工作非常重要哦。首先我们确认你的虚拟机是否能够和本机Ping通,检查虚拟机和本机的网络、防火墙等基础设施。 进入安装: ## 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包 yum install build-essential openssl openssl-devel unixODBC

Play Framework: Manually open JPA context for Spring RabbitMQ listener

时间秒杀一切 提交于 2020-03-18 10:07:29
问题 I am using Spring-AMQP to monitor a RabbitMQ message queue in a Play application. The problem is I can not access my database from the listener code since the JPA context is not open in this scope. I understand Play Framework manages the JPA context so that it is open when processing HTTP requests, but is there a way I can use JPA from outside Play controllers/jobs? 回答1: Just found the answer was to use JPAPlugin! Example listener method: public void process(Message message) { JPAPlugin

Play Framework: Manually open JPA context for Spring RabbitMQ listener

三世轮回 提交于 2020-03-18 10:04:46
问题 I am using Spring-AMQP to monitor a RabbitMQ message queue in a Play application. The problem is I can not access my database from the listener code since the JPA context is not open in this scope. I understand Play Framework manages the JPA context so that it is open when processing HTTP requests, but is there a way I can use JPA from outside Play controllers/jobs? 回答1: Just found the answer was to use JPAPlugin! Example listener method: public void process(Message message) { JPAPlugin

Play Framework: Manually open JPA context for Spring RabbitMQ listener

孤街醉人 提交于 2020-03-18 10:03:42
问题 I am using Spring-AMQP to monitor a RabbitMQ message queue in a Play application. The problem is I can not access my database from the listener code since the JPA context is not open in this scope. I understand Play Framework manages the JPA context so that it is open when processing HTTP requests, but is there a way I can use JPA from outside Play controllers/jobs? 回答1: Just found the answer was to use JPAPlugin! Example listener method: public void process(Message message) { JPAPlugin

Linux中安装RabbitMQ演示

独自空忆成欢 提交于 2020-03-18 05:25:39
在Linux中安装RabbitMQ演示,以VirtualBox中的虚拟机为操作系统载体 操作系统版本为CentOS7,纯净未安装RabbitMQ 以root用户安装 su - root 安装 wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm yum install epel-release yum install erlang wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm 管理 service rabbitmq-server start service rabbitmq-server status 安装管理控制台 rabbitmq-plugins enable rabbitmq_management 重启RabbitMQ service rabbitmq-server stop service rabbitmq-server start