rocketmq部署

windows下RocketMQ的安装部署

泄露秘密 提交于 2019-12-01 13:24:00
一.预备环境 1.系统 Windows 2. 环境 JDK1.8、Maven、Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 1.2选择‘Binary’进行下载 1.3解压已下载工程 2. 配置 2.1 系统环境变量配置 变量名:ROCKETMQ_HOME 变量值:MQ解压路径\MQ文件夹名 2.2重启服务器 3. 启动 3.1 启动NAMESERVER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。 3.2 启动BROKER cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。 假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。 三. RocketMQ插件部署 1. 下载 地址:https://github.com/apache

RocketMq学习笔记001---Kafka,ActiveMQ、RabbitMQ、RocketMQ消息中间件的对比

瘦欲@ 提交于 2019-11-30 22:42:46
分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。 RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。 RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值

RocketMQ快速入门

百般思念 提交于 2019-11-30 20:10:24
如何使用 1、引入 rocketmq-client <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.1.0-incubating</version> </dependency> 2、编写Producer DefaultMQProducer producer = new DefaultMQProducer("producer_demo"); //指定NameServer地址 producer.setNamesrvAddr("192.168.116.115:9876;192.168.116.116:9876"); //修改为自己的 /** * Producer对象在使用之前必须要调用start初始化,初始化一次即可 * 注意:切记不可以在每次发送消息时,都调用start方法 */ producer.start(); for (int i = 0; i < 997892; i++) { try { //构建消息 Message msg = new Message("TopicTest" /* Topic */, "TagA" /* Tag */, ("测试RocketMQ" + i).getBytes(RemotingHelper

rocketMQ入门

浪尽此生 提交于 2019-11-30 16:28:53
一:什么是MQ MQ 就是 消息中间件。 二:为什么使用MQ 场景:电商双十一 零点的秒杀。在那一瞬间,来自用户的请求将会激增,如果不做任何措施,那服务很可能会被压垮。但是我们又不能直接把这些请求丢弃,而为了这个很小的时间段去扩容机器又显得大题小做。于是我们自然而言的想到,能不能把这些请求先放到一个消息队列里面,然后系统从消息队列里面拿出来请求做逻辑的处理和响应。通过拉长时间维度来保证服务的稳定性。这就是MQ。 使用MQ只要解决的就是 在生产者消费者模式中,生产者生产的数据可能会突然激增,消费者来不及消费的问题。 三:rocketMQ rocketMQ是一个MQ的实现。我们在开发中一直在强调,不要重复造轮子。既然我们需要一个MQ,那就找个别人实现过的MQ来用就行了。rocketMQ就是其中的一种。当然,还有其他的MQ组件,比如的 ActiveMQ、RabbitMQ,Kafka。 四:rocketMQ下载 http://rocketmq.apache.org/release_notes 下载bin的包,比如 rocketmq-all-4.3.2-bin-release.zip 五:安装 将下载的文件解压到对应目录。比如我解压到 C:\rocketmq-all-4.3.2 六:启动NAMESERVER 去 C:\rocketmq-all-4.3.2\bin目录下找到 mqnamesrv

Rocketmq原理&最佳实践

时光总嘲笑我的痴心妄想 提交于 2019-11-30 16:17:48
MQ背景&选型 消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势: 削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题) 系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死) 提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统) 蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测) 目前主流的MQ主要是Rocketmq、kafka、Rabbitmq,Rocketmq相比于Rabbitmq、kafka具有主要优势特性有: • 支持事务型消息(消息发送和DB操作保持两方的最终一致性,rabbitmq和kafka不支持) • 支持结合rocketmq的多个系统之间数据最终一致性(多方事务,二方事务是前提) • 支持18个级别的延迟消息(rabbitmq和kafka不支持) • 支持指定次数和时间间隔的失败消息重发(kafka不支持,rabbitmq需要手动确认) • 支持consumer端tag过滤,减少不必要的网络传输(rabbitmq和kafka不支持) • 支持重复消费(rabbitmq不支持,kafka支持) Rocketmq、kafka、Rabbitmq的详细对比,请参照下表格: RocketMQ集群概述 RocketMQ集群部署结构 image

RocketMQ消息队列

岁酱吖の 提交于 2019-11-30 13:32:26
RocketMQ 功能 灵活可扩展性 RocketMQ 天然支持集群,其核心四组件(Name Server、Broker、Producer、Consumer)每一个都可以在没有单点故障的情况下进行水平扩展。 海量消息堆积能力 RocketMQ 采用零拷贝原理实现超大的消息的堆积能力,据说单机已可以支持亿级消息堆积,而且在堆积了这么多消息后依然保持写入低延迟。 支持顺序消息 可以保证消息消费者按照消息发送的顺序对消息进行消费。顺序消息分为全局有序和局部有序,一般推荐使用局部有序,即生产者通过将某一类消息按顺序发送至同一个队列来实现。 多种消息过滤方式 消息过滤分为在服务器端过滤和在消费端过滤。服务器端过滤时可以按照消息消费者的要求做过滤,优点是减少不必要消息传输,缺点是增加了消息服务器的负担,实现相对复杂。消费端过滤则完全由具体应用自定义实现,这种方式更加灵活,缺点是很多无用的消息会传输给消息消费者。 支持事务消息 RocketMQ 除了支持普通消息,顺序消息之外还支持事务消息,这个特性对于分布式事务来说提供了又一种解决思路。 回溯消费 回溯消费是指消费者已经消费成功的消息,由于业务上需求需要重新消费,RocketMQ 支持按照时间回溯消费,时间维度精确到毫秒,可以向前回溯,也可以向后回溯。 基本概念 下面是一张 RocketMQ 的部署结构图,里面涉及了 RocketMQ

Spring Cloud异步场景分布式事务怎样做?试试RocketMQ

你离开我真会死。 提交于 2019-11-30 07:09:30
一、背景 在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上下游,而构建异步架构最常用的手段就是使用 消息队列(MQ) ,那异步架构怎样才能实现数据一致性呢?本文主要介绍如何使用 RocketMQ 的 事务消息 来解决一致性问题。 RocketMQ 是阿里巴巴开源的分布式消息中间件,目前已成为 Apache 的顶级项目。历经多次天猫双十一海量消息考验,具有高性能、低延时和高可靠等特性 PS :同步场景怎样保证一致性?请看文章《 Spring Cloud同步场景分布式事务怎样做?试试Seata 》 二、MQ选型 可以看到在 业务处理 方面来说 RocketMQ 优于其他对手,而且原生支持 事务消息 PS :业务系统用的是其他 MQ 产品但是又需要 事务消息 怎么办?学习原理自己开发实现! 三、什么是事务消息 例如下图的场景:生成订单记录 -> MQ -> 增加积分 我们是应该先 创建订单记录 ,还是先 发送MQ消息 呢? 先发送MQ消息 :这个明显是不行的,因为如果消息发送成功,而订单创建失败的话是没办法把消息收回来的 先创建订单记录 :如果订单创建成功后MQ消息发送失败 抛出异常 ,因为两个操作都在本地事务中所以订单数据是可以 回滚 的 上面的 方式二 看似没问题,但是 网络是不可靠的 !如果 MQ 的响应因为网络原因没有收到

浅谈消息队列及常见的消息中间件

家住魔仙堡 提交于 2019-11-30 00:35:15
目录 前言 正文 消息队列概述 消息队列的特点 2.1. 采用异步处理模式 2.2. 应用系统之间解耦合 消息队列的传递服务模型 消息队列的的传输模式 4.1. 点对点模型 4.2. 发布/订阅模型(Pub/Sub) 消息队列应用场景 5.1. 异步处理 5.2. 系统解耦 5.3. 最终一致性 5.4. 广播 5.5. 流量削峰和流控 5.6. 日志处理 5.7. 消息通讯 消息队列的推拉模型 6.1. Push推消息模型 6.2. Pull拉消息模型 6.3. 两种类型的区别 消息队列技术对比 7.1. ActiveMQ 7.2. RabbitMQ 7.3. RocketMQ 7.4. Kafka 7.5. 几种消息队列对比 小结 前言 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合 、 可靠投递 、 广播 、 流量控制 、 最终一致性 等一系列功能。 当前使用较多的 消息队列 有 RabbitMQ 、 RocketMQ 、 ActiveMQ 、 Kafka 、 ZeroMQ 、 MetaMQ 等,而部分 数据库 如 Redis 、 MySQL 以及 phxsql 也可实现消息队列的功能。 正文 1. 消息队列概述 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流 ,并基于 数据通信 来进行分布式系统的集成。 通过提供

(转)RocketMQ工作原理

廉价感情. 提交于 2019-11-28 22:10:23
原文: https://blog.csdn.net/lyly4413/article/details/80838716 1.消息中间件的发展: 第一代以ActiveMQ为代表,遵循JMS(java消息服务)规范 第二代以RabbitMQ为代表是一个有Erlang语言开发的AMQP(高级消息队列协议)的开源实现 第三代以kafka为代表,是一代高吞吐、高可用的消息中间件,以及RocketMQ RocketMQ的特点: 1.RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点: 2.能够保证严格的消息顺序 3.提供丰富的消息拉取模式 4.高效的订阅者水平扩展能力 5.实时的消息订阅机制 6.亿级消息堆积能力 7.分布式高可用的部署架构,满足至少一次消息传递语义 8.提供 docker 镜像用于隔离测试和云集群部署 9.提供配置、指标和监控等功能丰富的 Dashboard 选用理由: a.强调集群无单点,可扩展,任意一点高可用,水平可扩展。 b.海量消息堆积能力,消息堆积后,写入低延迟。 c.支持上万个队列 d.消息失败重试机制 e.消息可查询 f.开源社区活跃 g.成熟度(经过双十一考验) RocketMQ物理部署结构: rocketMQ几个概念: producer:消息生产者,生产者的作用就是将消息发送到 MQ,生产者本身既可以产生消息,如读取文本信息等

Kafka、RabbitMQ、RocketMQ消息中间件的对比—— 消息发送性能

本秂侑毒 提交于 2019-11-28 22:09:02
中间件小哥 浏览 228 2016-04-08 11:21:09 摘要 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、... 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。 RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)