rabbitmq集群

rabbitmq——集群启动问题

百般思念 提交于 2019-12-09 22:28:27
问题现象: mnesia集群中的节点全部停止,然后再次启动,偶然出现所有节点都在一直等待数据同步的现象。 问题原因: 翻看相关源码后发现问题: mnesia_contorller.erl %% 选择可以进行数据加载的 table initial_safe_loads() -> case val({schema, storage_type}) of ram_copies -> %% 如果表为仅在内存中存储, 可以直接加载 %% 因此停止前记录的 down 掉的节点设置为 [] Downs = [], Tabs = val({schema, local_tables}) -- [schema], LastC = fun(T) -> last_consistent_replica(T, Downs) end, lists:zf(LastC, Tabs); disc_copies -> %% 如果表为 磁盘存储, 需要判断停止前集群节点的存活状态 Downs = mnesia_recover:get_mnesia_downs(), Tabs = val({schema, local_tables}) -- [schema], LastC = fun(T) -> last_consistent_replica(T, Downs) end, lists:zf(LastC, Tabs) end.

CentOS 7上设置RabbitMQ集群

落爺英雄遲暮 提交于 2019-12-06 14:47:37
1.最近一直在忙于项目的事情,很少写博客了,一个朋友突然让我写一篇rabbitMq的集群的文章 第1步-设置主机文件 1.我们将在所有服务器上编辑“ / etc / hosts”文件,并将每个服务器IP地址映射为主机名。 vim /etc/hosts 现在,在其中粘贴以下配置。 10.0.15.21 node01 10.0.15.22 node02 10.0.15.22 node03 把之前的主机名隐藏掉 vim /etc/hostname 改成对于的主机名 reboot重启一下 服务器 第2步-安装RabbitMQ服务器 1.将EPEL存储库添加到CentOS 7系统。 sudo yum -y install epel-release 2.现在,使用下面的yum命令将RabbitMQ Server安装到所有节点“ node01”,“ node02”和“ node03”。 sudo yum -y install rabbitmq-server 3.并且在安装完成后,启动RabbitMQ服务,并使它每次在系统引导时启动。 sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server 如果在这过程中启动报错 可以看一下启动的日记 systemctl status rabbitmq-server

RabbitMQ入门详解以及使用

旧时模样 提交于 2019-12-06 14:40:13
目的:     RabbitMQ 简介    RabbitMQ 安装及使用       Centos安装       Docker安装 (今天选择Docker安装方法)    RabbitMQ 快速入门    交换机 RabbitMQ简介 各大主流中间件对比    ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一 个完全支持 J M S 规范的消息中间件。 其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中 小型企业中应用广泛! MQ 衡量指标:服务性能、数据存储、集群架构 Kafka: RocketMQ 是阿里开源的消息中间件,目前也已经孵化为 Apache 顶级项目, 它是纯 java 开发,具有高吞吐量、高可用性、适合大规模分布式系统 应用的特点。 RocketMQ 思路起源于 Kafka, 它对消息的可靠传输及事务 性做了优化, 目前在阿里集团被广泛应用于交易、充值、流计算、消息推 送、日志流式处理、 binglog 分发等场景 RabbitMQ 是使用 Erlang 语言开发的开源消息队列系统,基于 AMQP 协议 来实现。 AMQP 的主要特征是面向消息、队列、路由(包括点对点和发布 / 订阅)、可靠性、安全。 AMQP 协议更多用在企业系统内, 对数据 _ 致 性、稳定性和可靠性要求很髙的场景

RabbitMQ

心不动则不痛 提交于 2019-12-06 14:01:22
1、RabbitMQ简介 2、RabbitMQ安装及使用 3、RabbitMQ快速入门 4、交换机 RabbitMQ 简介 各大主流中间件对比 ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一 个完全支持 J M S 规范的消息中间件。 其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中 小型企业中应用广泛! MQ 衡量指标:服务性能、数据存储、集群架构 RocketMQ是阿里开源的消息中间件,目前也已经孵化为Apache顶级项目, 它是纯java开发,具有高吞吐量、高可用性、适合大规模分布式系统 应用的特点。 RocketMQ思路起源于Kafka,它对消息的可靠传输及事务 性做了优化, 目前在阿里集团被广泛应用于交易、充值、流计算、消息推 送、日志流式处理、binglog分发等场景 RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布 /订阅)、可靠性、安全。AMQP协议更多用在企业系统内, 对数据_致 性、稳定性和可靠性要求很髙的场景,对性能和吞吐量的要求还在其次。 结论: activiMq老牌消息中间件,api全面,但是吞吐量不大 Kafaka吞吐量大,但是数据无法保证不丢失,主要面向大数据 rokectMQ:吞吐量大

Ubuntu16.04下,erlang安装和rabbitmq安装步骤

蹲街弑〆低调 提交于 2019-12-05 23:57:29
  准备工作,先下载erlang和rabbitmq的安装包,注意他们的版本,版本不对可能回到值rabbitmq无法启动,这里我使用的是最新的erlang(22.1)和rabbitmq(3.8.1),下载地址:   erlang下载地址: http://erlang.org/download/otp_src_22.1.tar.gz ( 点击这里进入下载页面 )   rabbitmq下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz ( 点击这里进入下载页 )   切记,erlang的版本要和rabbitmq的版本对上,版本比对地址: https://www.rabbitmq.com/which-erlang.html         建议使用window下载,然后再发送到linux中去,如果是linux,可直接使用命令行下载   #rabiitmq下载 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz #erlang下载

celery redis rabbitMQ各是什么及之间的区别?

試著忘記壹切 提交于 2019-12-05 23:46:03
Celery: Celery 是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 1、 celery工作流程: 消息中间件(message broker):Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis, MongoDB ,SQLAlchemy等,其中rabbitm与redis比较稳定,其他处于测试阶段。 任务执行单元(worker):Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。 任务结果存储(result store):result store用来存储Worker执行的任务的结果,支持AMQP,redis,mongodb,mysql等主流数据库。 2、并发、序列化、压缩: celery任务并发执行支持prefork、eventlet、gevent、threads的方式; 序列化支持pickle,json,yaml,msgpack等; 压缩支持zlib, bzip2 。 3、celery使用中的一些建议和优化 (1)、如果你的broker使用的是rabbitmq,可安装一个C语言版的客户端librabbitmq来提升性能, pip install librabbitmq; (2)、通过 BROKER_POOL

rabbitmq的面试题

前提是你 提交于 2019-12-05 23:29:51
rabbitmq 的使用场景有哪些? ①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。 ②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法。 ③. 应用内的同步变异步,比如订单处理,就可以由前端应用将订单信息放到队列,后端应用从队列里依次获得消息处理,高峰时的大量订单可以积压在队列里慢慢处理掉。由于同步通常意味着阻塞,而大量线程的阻塞会降低计算机的性能。 ④. 消息驱动的架构(EDA),系统分解为消息队列,和消息制造者和消息消费者,一个处理流程可以根据需要拆成多个阶段(Stage),阶段之间用队列连接起来,前一个阶段处理的结果放入队列,后一个阶段从队列中获取消息继续处理。 ⑤. 应用需要更灵活的耦合方式,如发布订阅,比如可以指定路由规则。 ⑥. 跨局域网,甚至跨城市的通讯(CDN行业),比如北京机房与广州机房的应用程序的通信。 rabbitmq 有哪些重要的角色? RabbitMQ 中重要的角色有:生产者、消费者和代理: 生产者:消息的创建者,负责创建和推送数据到消息服务器

centos7部署rabbitmq集群

大兔子大兔子 提交于 2019-12-05 19:51:25
#centos7部署rabbitmq集群 [root@linux-node1 yum.repos.d]# yum install rabbitmq-server -y [root@linux-node1 yum.repos.d]# systemctl enable rabbitmq-server.service Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service. [root@linux-node1 yum.repos.d]# systemctl start rabbitmq-server.service [root@linux-node1 yum.repos.d]# rabbitmqctl add_user admin admin Creating user "admin" ... [root@linux-node1 yum.repos.d]# rabbitmqctl set_permissions admin ".*" ".*" ".*" Setting permissions for user "admin" in vhost "/" ...

centos7的rabbitmq升级到3.7.10集群

放肆的年华 提交于 2019-12-05 19:51:18
centos7的rabbitmq升级到3.7.10集群 #卸载 [root@linux-node1 ~]# systemctl stop rabbitmq-server [root@linux-node1 ~]# yum remove rabbitmq-server -y [root@linux-node1 yum.repos.d]# yum remove erlang* -y [root@linux-node1 ~]# rm -rf /var/lib/rabbitmq/ 1 安装erlang curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash yum install erlang -y 查看版本: erl 3.安装rabbitmq(当前目录为rabbitmq-server-3.7.10-1.el7.noarch.rpm包的目录下) [root@linux-node1 ~]#wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.10/rabbitmq-server-3.7.10-1.el7.noarch.rpm [root@linux-node1 ~]

rabbitMQ安装及基础

自古美人都是妖i 提交于 2019-12-05 16:54:42
参考文档: 【rabbitmq-完整安装版】安装 https://blog.csdn.net/csdn_azuo/article/details/100552423 php的amqp扩展 安装(windows) rabbitmq学习篇 https://blog.csdn.net/weiwenjuan0923/article/details/79986951 时间轴: 2019/10/31 安装centOS7虚拟机 2019/11/04 linux下安装rabbitMQ服务 2019/11/05 win下给安装php扩展amqp 2019/11/12 win下php连接linus下rabbitMQ及生产者产生消息 2019/11/13 解决页面访问消费者超时问题 后续觉得还是看不懂博客举的例子和文档,在B站看了下牧码人入门视频(基础概念,实例较水) 问题: 2019/11/05 php安装amqp扩展,Apache凉了, 扩展包下错了,PHP的architecture Architecture x86 2019/11/12 Windows 下 PHP AMQP 链接错误 报错信息: Fatal error: Uncaught AMQPConnectionException: Socket error: could not connect to host. in E: