消息队列的使用 RabbitMQ
RabbitMQ 是一款开源且比较流行的消息中间件。但用起来还是比较麻烦,有人封装了一层, 这就是 EasyNetQ 。
一、安装
1、安装 Erlang: http://www.erlang.org/download.html
2、安装 RabbitMQ server : http://www.rabbitmq.com/download.html
3、安装 RabbitMQ management API tool : http://www.rabbitmq.com/management.html (web 页面管理工具)
- 找到 rabbitmq-plugins 所在文件夹(一般在 sbin 文件夹下)
- 在文件夹下运行 cmd
- 在 cmd 中运行 rabbitmq-plugins enable rabbitmq_management
4、 重启 RabbitMq 服务
二、集群 (Cluster)
此处指的是负载均衡集群:将任务分配给有资源的服务器处理。
此处有三种模型
模式 1、最基础的集群(无需负载均衡功能)
var bus = RabbitHutch.CreateBus("host=myhost.svj.com ,sechost.svj.com");// 创建连接时,指定多主机地址完成集群
在连接的主机域名处,添加多个域名,域名之间以逗号分隔, 当连接首个域名失败,则会尝试连接后面的域名,若失败继续向后连接,依次寻找可连接主机。
模式 2、随机选择域名 (具备基础的负载均衡功能, 适用于多个服务调用 RabbitMQ 服务)
var bus = RabbitHutch.CreateBus("host=myfirsthost,mysecondhost", x => x.Register<IClusterHostSelectionStrategy<ConnectionFactoryInfo>, RandomClusterHostSelectionStrategy<ConnectionFactoryInfo>>());
模式 3、使用专业的负载均衡器
三、镜像队列(Mirror Queue)
使用镜像队列的前提条件是完成了集群。
将 queue 镜像到集群中的其他节点的队列上, 防止单点队列失效,以及 Message 丢失 。
镜像队列的设置可以在 web 页面中设置
Policies > Add / update a policy. 完成,队列的更新。
如果需要查看其节点以及镜像 ,可以点击此处查看 https://www.rabbitmq.com/ha.html#how-to-check-i-a-queue-is-mirrored
注意: 使用了队列镜像后, 在发布确认时,必须所有镜像队列都同步了消息,才能返回 isComplete 为 true 算是发布完成
以上皆为参考 https://github.com/EasyNetQ/EasyNetQ/wiki/Quick-Start
消息队列的使用 RabbitMQ的更多相关文章
- 消息队列介绍、RabbitMQ&Redis的重点介绍与简单应用
消息队列介绍.RabbitMQ&Redis的重点介绍与简单应用 消息队列介绍.RabbitMQ.Redis 一.什么是消息队列 这个概念我们百度Google能查到一大堆文章,所以我就通俗的讲下 ...
- 进击的Python【第十一章】:消息队列介绍、RabbitMQ&Redis的重点介绍与简单应用
消息队列介绍.RabbitMQ.Redis 一.什么是消息队列 这个概念我们百度Google能查到一大堆文章,所以我就通俗的讲下消息队列的基本思路. 还记得原来写过Queue的文章,不管是线程queu ...
- rabbitMQ学习1:消息队列介绍与rabbitmq安装使用
1. 什么是消息队列 生活里的消息队列,如同邮局的邮箱, 如果没邮箱的话, 邮件必须找到邮件那个人,递给他,才玩完成,那这个任务会处理的很麻烦,很慢,效率很低 但是如果有了邮箱, 邮件直接丢给邮箱,用 ...
- 消息队列1:RabbitMQ解析并基于Springboot实战
RabbitMQ简介 AMQP:Advanced Message Queue,高级消息队列协议.它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产 ...
- 消息队列系列:Rabbitmq Trace 日志的使用
一.什么是Trace Trace是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试.排错.可通过插件形式 提供可视化界面 二.Trace实现概 ...
- 为什么使用消息队列,为什么使用RabbitMQ、springAMQP
1.为什么使用消息队列? 2.为什么使用RabbbitMQ? 3.为什么使用spring AMQP?
- 消息队列的使用 RabbitMQ (二): Windows 环境下集群的实现
一.RabbitMQ 集群的基本概念 一个 RabbitMQ 中间件(broker) 由一个或多个 erlang 节点组成,节点之间共享 用户名.虚拟目录.队列消息.运行参数 等, 这个 节点的集合被 ...
- Net分布式系统之四:RabbitMQ消息队列应用
消息通信组件Net分布式系统的核心中间件之一,应用与系统高并发,各个组件之间解耦的依赖的场景.本框架采用消息队列中间件主要应用于两方面:一是解决部分高并发的业务处理:二是通过消息队列传输系统日志.目前 ...
- python【第十一篇】消息队列RabbitMQ、缓存数据库Redis
大纲 1.RabbitMQ 2.Redis 1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议 ...
随机推荐
- iOS——系统提供的dispatch方法
// 后台执行: dispatch_async(dispatch_get_global_queue(0,0), ^{ // something }); // 主线程执行: dispatch_async ...
- MongoDB基础介绍安装与使用
MongoDB已经日益成为流程和主流的数据库了,原因有两个:第一个就是技术优势,第二就是便利性,个人使用部署都很方便. MongoDB的优缺点,以及使用场景 优点: 面向文档存储(自由读高,不需要定义 ...
- SecureCRT8.0设置语法高亮
SecureCRT默认不显示语法高亮,整个界面颜色单一,用起来很不舒服,也没有效率,所有通过设置一下语法高亮还是很有必要的, 默认字体也看着不是很清晰.所以还是修改一下预告高亮比较好 设置语法高亮,多 ...
- PHP openssl函数库
php openssl 函数库中.提供了大量的函数.但是我们一般用的最多的,就是 openssl_encrypt string openssl_encrypt ( string $data , str ...
- 【html5】html5学习笔记2--表单
html5 新增输入类型 html5新增了 email.number.Date pickers (date, month, week, time, datetime, datetime-local) ...
- IBM Rational AppScan:跨站点脚本攻击深入解析
IBM Rational AppScan:跨站点脚本攻击深入解析 了解黑客如何启动跨站点脚本攻击(cross-site scripting,XSS),该攻击危害(及不危害)什么,如何检测它们,以 ...
- No bean named 'hibernateTemplate' is defined
1.错误描述 WARN:2015-05-01 15:42:22[localhost-startStop-1] - Exception encountered during context initia ...
- vxi总线
20世纪80年代后期,仪器制造商发现GPIB总线和VME总线产品无法再满足军用测控系统的需求了.在这种情况下,HP.Tekronix等五家国际著名的仪器公司成立了VXIbus联合体,并于1987年发布 ...
- Java注释分类
Java注释分类 1.单行注释 //打印结果 System.out.println("结果是:"+result); 2.多行注释 /** * @autho ...
- VxWorks 符号表
符号表初始化 符号表用于建立符号名称.类型和值之间的关系.其中,名称为null结尾的任意字符串:类型为标识各种符号的整数:值为一个字符指针.符号表主要用来作为目标模块加载的基础,但 ...