RabbitMQ小记(一)
1、了解消息中间件
消息中间件,Message Queue Middleware,简称MQ,又称消息对列或消息对列中间件,利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
一般有两种传递方式:点对点模式,基于队列的一对一,消息生产者发送消息到对列,消费者从队列中接收消息。
发布/订阅模式,一对多,发布者将消息发布到某个主题,多个消息订阅者从主题中订阅消息。
消息中间件的作用:解耦、冗余(存储)、扩展性、削峰、可恢复性、顺序保证性、缓冲、异步通信
2、初步了解RabbitMQ
Erlang是一种通用的面向并发的编程语言,可以创建面向大规模并发的语言环境。
RabbitMQ是消息对列,主要是用于做消息代理。本质上说,它接受来自生产者的信息,并将它们传递给消费者。在两者之间, 它可以根据你给它的路由,缓冲规则有选择地进行传递消息。
RabbitMQ特点:可靠性、灵活路由、扩展性、高可用性、多种协议(AMQP、STOMP、MQTT等)、多语言客户端、管理界面、插件机制
3、安装RabbitMQ
(1)RabbitMQ需要运行在Erlang平台上,所以需要先安装Erlang,再安装RabbitMQ,这里需注意版本要对应!!!
可以去这个网站查询对应版本的信息:https://www.rabbitmq.com/which-erlang.html
(2)Erlang和Rabbit安装时最好选用以管理员的身份去安装,这样就可以很容易的把RabbitMQ注册成服务的形式去管理,不用每次都去开启黑窗口了。
(3)配置Erlang和RabbitMQ的环境变量:Erlang需要在系统变量中添加一个erlang_home的变量,变量值到erlang安装目录的bin目录,同样在path中也添加一个这样的变量值
RabbitMQ需要在path中添加一个变量,变量值是RabbitMQ安装目录到sbin.
(4)安装RabbitMQ插件,方便使用,运行cmd.输入:rabbitmq-plugins.bat enable rabbitmq_management
(5)运行cmd,输入rabbitmqctl status,查看运行状态
(6)运行cmd,执行命令rabbitmq-server.bat或右键打开我的电脑-管理-服务-RabbitMQ-启动,显示正在运行后,进入http://localhost:15672/#/,用户名/密码:guest/guest,登录到RabbitMQ管理页面查看相关信息。
RabbitMQ小记(一)的更多相关文章
- RabbitMQ小记(四)
1.RabbitMQ管理 (1)权限管理 物理服务器和虚拟主机都各自有独立的权限管理,用户访问需要设置权限. 授权命令:rabbitmqctl set permissions [-p vhost] { ...
- RabbitMQ小记(三)
1.RabbitMQ中mandatory和immediate以及备份交换机 (1)mandatory为true时,若交换机无法根据自身类型和路由键找到符合条件的对列,那么RabbitMQ会回调Basi ...
- RabbitMQ小记(二)
1.RabbitMQ相关介绍 (1)RabbitMQ整体上是一个生产者和消费者模型,主要负责接收.存储.转发消息.RabbitMQ整体结构图如下: (2)生产者:发送消息的一方,生产者创建一条消息,发 ...
- rabbitmq 小记
如果消息由生产者生产之后,没有消费端来消费(此处生产者也负责队列的创建) 在超时之后需要对消息进行删除(如果一直保留队列里,在消费端启动后消费了此消息,会和生产端的数据产生冲突,添加程序的复杂度) 因 ...
- Java 小记 — RabbitMQ 的实践与思考
前言 本篇随笔将汇总一些我对消息队列 RabbitMQ 的认识,顺便谈谈其在高并发和秒杀系统中的具体应用. 1. 预备示例 想了下,还是先抛出一个简单示例,随后再根据其具体应用场景进行扩展,我觉得这样 ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- RabbitMq应用二
在应用一中,基本的消息队列使用已经完成了,在实际项目中,一定会出现各种各样的需求和问题,rabbitmq内置的很多强大机制和功能会帮助我们解决很多的问题,下面就一个一个的一起学习一下. 消息响应机制 ...
- 如何优雅的使用RabbitMQ
RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具.消息队列的使用场景大概有3种: 1.系统集成,分布式系统的设 ...
- RabbitMq应用一的补充(RabbitMQ的应用场景)
直接进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完 ...
随机推荐
- SpringCloud系列之Nacos应用篇
前言 原先项目是以SpringConfig作为项目配置中心组件,Eureka作为服务注册发现组件,基本上就是SpringCloud全家桶,Eureka已经停更,所以前期调研可替换方案,主流替换方案有C ...
- CSS3实现圆环进度条
摘要:圆环进度条被应用于各个场景,比如我们可以用来表示加载进度等.通常我们可以用 css3 的动画去实现. 详解 css3 实现圆环进度条 简单的画一个圆环,我们都知道如何使用 css 画一个圆环.( ...
- 使用tensorflow2识别4位验证码及思考总结
在学习了CNN之后,自己想去做一个验证码识别,网上找了很多资料,杂七杂八的一大堆,但是好多是tf1写的,对tf1不太熟悉,有点看不懂,于是自己去摸索吧. 摸索的过程是异常艰难呀,一开始我直接用capt ...
- 路由策略Routing Policy和策略路由PBR的区别
这是面试的时候问道的一个问题,这里跟大家分享一下 路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术: PBR(policy-based-route)是一种依据 ...
- TypeError 之 Cannot convert undefined or null to object
分享一个今天遇到的一个bug , 希望对你也有用. 1.Object.keys()中传错了参数 2.由于undefined和null无法转成对象,所以如果它们做为Object.assign()的参数( ...
- [V&N公开赛] CheckIn
V&N战队考核+招新,赵师傅出的Web题,做着感觉有点顶,趁热打铁写write up记录一下考察的知识点 这道题说是CheckIn其实还是有一定难度的(也可能是我太菜了),进入题目直接给出了f ...
- vueRooter的总结
这一周学习了Vue的脚手架的结构,最重要的router 该进行总结和回忆了. 1首先是router的安装,用npm命令npm install vue-router --save 2装完后,在main. ...
- Redis Linux 安装部署
Redis部署文档 Redis部署文档 准备软件: 开始部署: 解压tar包[root@localhost redis]# tar -zxvf redis-3.2.8.tar.gz 进入Redis ...
- 小程序里的request
test.js 代码如下: makeRequest: function (e) { var self = this wx.request({ url: 'http://lt.com/home/inde ...
- 再深入一点|binlog和relay-log到底长啥样?
上一篇mysql面试的文章之后收到不少朋友的意见,希望深入讲讲复制.日志的格式这些,今天,我们就来深挖一下mysql的复制机制到底有哪一些,以及binlog和relay-log的结构到底是什么样子的. ...