之前介绍过关于消息发送和接收的可靠性:RabbitMQ学习之消息可靠性及特性 下面主要介绍一下集群环境下,rabbitmq实例宕机的情况下,消息的可靠性.验证rabbitmq版本[3.4.1]. 集群环境要求: 1.集群中至少有一台硬盘节点 2.加入集群中有一台内存节点,一台硬盘节点,需要先启动硬盘节点.单节点不能设置为内存节点 集群环境: 节点名称 节点类型 vm-129 硬盘 vm-130 内存  验证结论: 1.vm-129.vm-130节点都可以创建持久化队列及发送持久化消息 2.当vm…
由于RabbitMQ是用erlang开发的,RabbitMQ完全依赖Erlang的Cluster,因为erlang天生就是一门分布式语言,集群非常方便,但其本身并不支持负载均衡.Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在 $home/.erlang.cookie 中(像我的root用户安装的就是放在我的root/.erlang.cookie中),文件是400的权限.所以必须包管各节点cookie对峙一致,不然节点之间就无法通信. Rabbit…
1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载均衡方案.互联网公司常用的软件LB一般有LVS.HAProxy.Nginx等.LVS是一个内核层的产品,主要在第四层负责数据包转发,使用较复杂.HAProxy和Nginx是应用层的产品,但Nginx主要用于处理HTTP,所以这里选择HAProxy作为RabbitMQ前端的LB.HAProxy的安装使…
我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集群前增加一个反向代理,生产者.消费者通过反向代理访问RabbitMQ集群. 架构图如下: 设计架构可以如下:在一个集群里,有4台机器,其中1台使用磁盘模式,另2台使用内存模式.2台内存模式的节点,无疑速度更快,因此客户端(consumer.producer) 连接访问它们.而磁盘模式的节点,由于磁盘IO相对较慢,因此仅作数据备份使用,另外一台作为反向代理. 一.4台机器如下(通过/etc/sysconfig/ne…
http://blog.csdn.net/zhu_tianwei/article/details/40931971 我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集群前增加一个反向代理,生产者.消费者通过反向代理访问RabbitMQ集群. 架构图如下: 设计架构可以如下:在一个集群里,有4台机器,其中1台使用磁盘模式,另2台使用内存模式.2台内存模式的节点,无疑速度更快,因此客户端(consumer.producer) 连接访问它们.而磁盘模式的节点,由于磁盘…
一.RabbitMQ结构 1.几个概念说明:       Broker:简单来说就是消息队列服务器实体. Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列. Queue:消息队列载体,每个消息都会被投入到一个或多个队列. Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来. Routing Key:路由关键字,exchange根据这个关键字进行消息投递. vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离.…
在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看一下官网对集群的定义:A RabbitMQ broker is a logical grouping of one or several Erlang nodes, each running the RabbitMQ application and sharing users, virtual ho…
Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhong/category/771056.html .今天总结总结缓存使用过程中遇到的一些常见的问题.比如缓存雪崩,缓存穿透,缓存预热等等. 缓存雪崩 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间.所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机.从而形成一系列连锁…
部署rabbitMQ镜像集群 版本信息 rabbit MQ: 3.8.5 Erlang: 官方建议最低21.3 推荐22.x 这里用的是23 环境准备 主机规划 主机 节点 172.16.14.3 磁盘节点 172.16.14.4 内存节点 172.16.14.5 磁盘节点 内存节点: 内存节点将所有的队列.交换机.绑定.用户.权限和 vhost 的元数据定义存储在内存中,好处是可以使得像交换机和队列声明等操作更加的快速.例外情况是:持久的 queue 的内容将被保存到磁盘. 磁盘节点: 将元数…
转载:http://blog.csdn.net/leixiaotao_java/article/details/78909760#t0 1.什么是RabbitMQ? RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也可称为 面向消息的中间件).支持Windows.Linux/Unix.MAC OS X操作系统和包括JAVA在内的多种编程语言. AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用…