erlang

【消息队列】从各方面比较下kafka、activemq、rabbitmq、rocketmq之间的区别

白昼怎懂夜的黑 提交于 2020-05-08 07:50:26
一.单机吞吐量 ActiveMQ:万级,吞吐量比RocketMQ和Kafka要低了一个数量级 RabbitMQ:万级,吞吐量比RocketMQ和Kafka要低了一个数量级 RocketMQ:10万级,RocketMQ也是可以支撑高吞吐的一种MQ Kafka:10万级别,这是kafka最大的优点,就是吞吐量高。一般配合大数据类的系统来进行实时数据计算、日志采集等场景 二.topic数量对吞吐量的影响 RocketMQ:topic可以达到几百,几千个的级别,吞吐量会有较小幅度的下降,这是RocketMQ的一大优势,在同等机器下,可以支撑大量的topic Kafka:topic从几十个到几百个的时候,吞吐量会大幅度下降,所以在同等机器下,kafka尽量保证topic数量不要过多。如果要支撑大规模topic,需要增加更多的机器资源 三.时效性 ActiveMQ:ms级 RabbitMQ:微秒级,这是rabbitmq的一大特点,延迟是最低的 RocketMQ:ms级 Kafka:延迟在ms级以内 四.可用性 ActiveMQ:高,基于主从架构实现高可用性 RabbitMQ:高,基于主从架构实现高可用性 RocketMQ:非常高,分布式架构 Kafka:非常高,kafka是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用 五.消息可靠性 ActiveMQ

RabbitMQ、Kafka、RocketMQ的优劣势

家住魔仙堡 提交于 2020-05-08 06:35:13
今天我们一起来探讨: 全量的消息队列究竟有哪些? Kafka、RocketMQ、RabbitMQ的优劣势比较 以及消息队列的选型 最全MQ消息队列有哪些 那么目前在业界有哪些比较知名的消息引擎呢?如下图所示 这里面几乎完全列举了当下比较知名的消息引擎,包括: ZeroMQ 推特的Distributedlog ActiveMQ:Apache旗下的老牌消息引擎 RabbitMQ、Kafka:AMQP的默认实现。 RocketMQ Artemis:Apache的ActiveMQ下的子项目 Apollo:同样为Apache的ActiveMQ的子项目的号称下一代消息引擎 商业化的消息引擎IronMQ 以及实现了JMS(Java Message Service)标准的OpenMQ。 MQ消息队列的技术应用 1.解耦 解耦是消息队列要解决的最本质问题。 2.最终一致性 最终一致性指的是两个系统的状态保持一致,要么都成功,要么都失败。 最终一致性不是消息队列的必备特性,但确实可以依靠消息队列来做最终一致性的事情。 2.广播 消息队列的基本功能之一是进行广播。 有了消息队列,我们只需要关心消息是否送达了队列,至于谁希望订阅,是下游的事情,无疑极大地减少了开发和联调的工作量。 3.错峰与流控 典型的使用场景就是秒杀业务用于流量削峰场景。 由于篇幅的关系,本文重点介绍消息队列比较,详细应用场景请参考:

CentOS RabbitMQ 高可用(Mirrored)

有些话、适合烂在心里 提交于 2020-05-04 02:33:43
原文:https://www.sunjianhua.cn/archives/centos-rabbitmq.html 一、RabbitMQ 单节点 1.1、Windows 版安装配置 1.1.1 安装Erlang环境 下载地址: http://www.erlang.org/downloads 文件: http://erlang.org/download/otp_win64_20.3.exe 安装: 一直下一步安装结束! 1.1.2 安装RabbitMQ 默认安装: https://www.rabbitmq.com/install-windows.html 文件: https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.5/rabbitmq-server-3.7.5.exe 安装:一直下一步安装结束! 1.1.3 配置管理插件 A.开始菜单出搜索rabbitmq,打开RabbitMQ Command Prompt命令行 B.启动管理插件 https://www.rabbitmq.com/rabbitmq-plugins.8.html C.访问RabbitMQ管理地址: http://127.0.0.1 :15672,默认密码:guest/guest 1.1.4 开启关闭服务 1.2、Linux CE 版 (centos7 )

RabbitMq在CentOs7下的完整安装步骤,带你踩坑

流过昼夜 提交于 2020-05-04 01:57:13
1、前言 因为公司项目中用的RabbitMq来做消息处理,自己以前没有接触过,所以想自学一下。然额,光安装就花了6、7个小时才搞定,中间还换过一个版本,综合国内外博客才最终将所有安装中遇到的问题解决掉,最终将RabbitMq给运行起来,实属不易啊。说实话,学习一个新的技术,在安装软件时就受阻,对自信心和积极性的打击还是有点的,所以我把我的经历写下来,希望能对别人有帮助。另外,因为我要展示出错的过程,所以 建议读者如果参照我的步骤时,先不要急于安装,先读完我的文章,再回过头来整理下安装顺序、及在安装前先安装好依赖软件,然后再进行安装 ,否则,我踩过的坑你很可能也会再踩。 2、安装前的准备工作 2.1 下载erlang 下载地址: http://www.erlang.org/downloads/19.3 因为RabbitMq的运行依赖erlang,所以先下载erlang(erlang是什么可自行百度)。 erlang的版本会影响到rabbitmq的安装 ,两者有个版本对照,查看对照的地址: http://www.rabbitmq.com/which-erlang.html 2.2 下载rabbitmq 官网地址: http://www.rabbitmq.com/ 具体的安装包的3.7.5: https://github.com/rabbitmq/rabbitmq-server

Linux ,Centos7 上安装配置 RabbitMQ纯手动安装

China☆狼群 提交于 2020-05-04 01:54:38
一、选择正确的版本 1. 查看你你要安装的 Erlang 和 rabbitmq 是否相互支持 : http://www.rabbitmq.com/which-erlang.html 2.rabbitmq 下载: http://www.rabbitmq.com/releases/rabbitmq-server/ 3.Erlang 下载 : http://erlang.org/download/ 二 、安装 Erlang 环境 (如果是干净的 centos 7 你要下载 gcc 等等编译软件,本教程是在这些依赖都有的时候安装的)    1 、在安装 erlang 之前先安装下依赖文件 ( 这一步不要忘掉了, 不然后面 ./configure 的时候要报错 ) :      [root@iZwz9eailk2tci1wywk9p2Z local]# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto    2 、到 erlang 官网去下载 erlang 安装包     作为一名强迫症患者,我当然是选择现在最新版本啦。 手动下载    otp_src_20.2.tar.gz 到本地   再传到服务器上     接下来解压:       [root@iZwz9eailk2tci1wywk9p2Z local]

CentOS7下rabbitmq的详细安装教程

大城市里の小女人 提交于 2020-05-04 00:11:12
一、安装前的准备工作: 【rabbitmq下载】 rabbitmq下载官网地址:http://www.rabbitmq.com/ 具体的安装包的下载【这里安装的版本是3.7.5】:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.5 提供一个百度网盘地址:链接:https://pan.baidu.com/s/1K_dWn2u-NqSnZ1r8xR-5bw 提取码:1c19 注意事项: erlang的版本会影响到rabbitmq的安装,两者有个版本对照 查看对照的地址:http://www.rabbitmq.com/which-erlang.html 【erlang下载】 具体的安装包的下载【这里安装的版本是19.3】:http://www.erlang.org/downloads/19.3 提供一个百度网盘地址:链接:https://pan.baidu.com/s/1F6dEThHbf2jRmJdOL_OiXQ 提取码:378x 二、安装步骤: 上传这两个要安装的文件: 【二----<<<<>>>>安装erlang】 [root@iZj56jkasko6onZ opt]# tar -zxvf otp_src_19.3.tar.gz [root@iZj56jkasko6onZ opt]# cp -R otp

centos6.5+erl19+rabbitmq3.6.14环境搭建

血红的双手。 提交于 2020-05-03 17:41:11
这次装Rabbitmq真实一波三折,linux版本 erlang版本以及Rabbitmq的匹配弄的问题层出,写下来希望帮助碰上困难的你。 软件准备: 以下均在centos6.5环境下进行操作: erlang包:otp_src_19.1.tar.gz rabbit包: rabbitmq-server-generic-unix-3.6.14.tar.xz 百度盘提供链接:https://pan.baidu.com/s/1n_1ATH794CQhqkFz7cTY7g 提取码:i3ye 安装erlang: 上传: otp_src_19.1.tar.gz 到/opt 解压: tar -zxvf otp_src_19.1.tar.gz 创建文件夹: mkdir /usr/local/erlang 移动解压的erlang: mv ./otp_src_19.1 /usr/local/erlang erlang需要的环境安装: [root@localhost usr]# yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel -y [root@localhost usr]# yum install openssl

otp_src_R16B03.tar.gz百度盘分享

孤街浪徒 提交于 2020-05-03 15:54:29
最近在搞rabbitmq ,它需要erlang而且对版本要求比较刁钻(Σ(☉▽☉"a),在没开vps的情况下下载贼慢,所以老铁我辛辛苦苦下载下来出来分享 地址为: https://pan.baidu.com/s/1BMzcECnPZP2aEyOiEkrBkA 提取码:0iq8 来源: oschina 链接: https://my.oschina.net/u/3391192/blog/4262377

消息队列之rabbitmq学习使用

旧时模样 提交于 2020-05-02 01:23:44
消息队列之rabbitmq学习使用 1、RabbitMQ简介 1.1、什么是RabbitMQ? RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于 AMQP协议的。 1.2、RabbitMQ有哪些特点? 目前大多数互联网都在使用RabbitMQ RabbitMQ底层采用Erlang语言进行编写 开源、性能优秀,稳定 与SpringAMQP完美的整合、API丰富,只要是你能想到的编程语言几乎都有与其相适配的RabbitMQ客户端。 集群模式丰富,表达式配置,HA模式,镜像队列模型 保证数据不丢失的前提做到高可靠、可用性 RabbitMQ附带了一个易于使用的可视化管理工具,它可以帮助你监控消息代理的每一个环节。 如果你的消息系统有异常行为,RabbitMQ还提供了追踪的支持,让你能够发现问题所在。 RabbitMQ附带了各种各样的插件来对自己进行扩展。你甚至也可以写自己的插件来使用。 1.3、AMQP协议模型 2、RabbitMQ安装使用 2.1 安装rabbitmq,配置好阿里云的yum源,epel源 yum -y install erlang rabbitmq-server 2.2 启动rabbitmq服务端 systemctl start rabbitmq

linux非root用户安装rabbitmq

元气小坏坏 提交于 2020-05-01 08:41:40
  因为rabbitmq是用erlang语言写的,所以装rabbitmq前第一步得先装erlang。   我们到erlang官网 https://www.erlang.org/downloads 下载安装包,最新版本是22.0,下载时又被windows禁掉了,退而求其次,下21.3版本吧:   下完后通过rz上传至wlf用户soft目录下,执行解压: $ tar xvf otp_src_21. 3 .tar   注意编译前需要借用root用户通过yum install命令先安装ncurses-devel和openssl-devel依赖,可以切换到root用户后执行: yum install ncurses- devel yum install openssl -devel   很遗憾,普通用户这里没法绕开root用户,除非你的机器之前已经用root安装过以上两个依赖了。通过以下命令可以查看本机是否已经存在这两个依赖: $ rpm -qa | grep -E " ncurses-devel*|openssl-devel* " ncurses -devel- 5.9 - 13.20130511 .el7.x86_64 openssl -devel- 1.0 . 1e-60 .el7.x86_64   可以发现我这里之前已经装了。   配置下目录前缀,通过make命令开始编译、安装