rocketmq

聊聊rocketmq的ConsumeFromWhere

↘锁芯ラ 提交于 2019-11-27 12:11:39
序 本文主要研究一下rocketmq的ConsumeFromWhere ConsumeFromWhere rocketmq-common-4.5.2-sources.jar!/org/apache/rocketmq/common/consumer/ConsumeFromWhere.java public enum ConsumeFromWhere { CONSUME_FROM_LAST_OFFSET, @Deprecated CONSUME_FROM_LAST_OFFSET_AND_FROM_MIN_WHEN_BOOT_FIRST, @Deprecated CONSUME_FROM_MIN_OFFSET, @Deprecated CONSUME_FROM_MAX_OFFSET, CONSUME_FROM_FIRST_OFFSET, CONSUME_FROM_TIMESTAMP, } ConsumeFromWhere定义了CONSUME_FROM_LAST_OFFSET、CONSUME_FROM_FIRST_OFFSET、CONSUME_FROM_TIMESTAMP枚举值 computePullFromWhere rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/impl/consumer

聊聊rocketmq的ConsumeFromWhere

跟風遠走 提交于 2019-11-27 12:08:18
序 本文主要研究一下rocketmq的ConsumeFromWhere ConsumeFromWhere rocketmq-common-4.5.2-sources.jar!/org/apache/rocketmq/common/consumer/ConsumeFromWhere.java public enum ConsumeFromWhere { CONSUME_FROM_LAST_OFFSET, @Deprecated CONSUME_FROM_LAST_OFFSET_AND_FROM_MIN_WHEN_BOOT_FIRST, @Deprecated CONSUME_FROM_MIN_OFFSET, @Deprecated CONSUME_FROM_MAX_OFFSET, CONSUME_FROM_FIRST_OFFSET, CONSUME_FROM_TIMESTAMP, } ConsumeFromWhere定义了CONSUME_FROM_LAST_OFFSET、CONSUME_FROM_FIRST_OFFSET、CONSUME_FROM_TIMESTAMP枚举值 computePullFromWhere rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/impl/consumer

消息队列大数据笔记

☆樱花仙子☆ 提交于 2019-11-27 06:13:21
activemq 适合企业级的,不是互联网, 都实现了jms 一个 点对点,一个topip 发布订阅 p queue pull consumer1 2,3 点对点 provider topic push consumer 1,2,3 发布订阅 为了支持 吞吐量, 顺序,事务,高可用,扩张性,所以用了 rocketmq或者 kafkadengdeng ,rocketmq支持 pull和push两种方式 来源: https://www.cnblogs.com/genestart/p/11349334.html

网站资源

孤街浪徒 提交于 2019-11-27 05:08:49
好的网站链接 Spring https://spring.io/ https://start.spring.io/ https://spring.io/projects/spring-boot https://springcloud.cc/spring-reference.html https://github.com/spring-projects https://spring.io/projects/spring-cloud MyBatis http://www.mybatis.org/mybatis-3/zh/index.html https://github.com/mybatis MybatisPlus https://mp.baomidou.com/ 负载均衡 https://nginx.org/ 微服务 Spring Cloud中国社区 http://springcloud.cn/ http://blog.springcloud.cn/ 消息队列 大型网站架构之分布式消息队列 http://blog.csdn.net/shaobingj126/article/details/50585035 消息队列的使用场景 https://www.zhihu.com/question/34243607/answer/127666030 浅谈异步消息队列模型 http://www

消息队列及常见消息队列介绍

孤者浪人 提交于 2019-11-27 02:50:48
消息队列及常见消息队列介绍 一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2.1 异步处理 具体场景:用户为了使用某个应用,进行注册,系统需要发送注册邮件并验证短信。对这两个操作的处理方式有两种:串行及并行。 (1)串行方式:新注册信息生成后,先发送注册邮件

消息队列及常见消息队列介绍

纵饮孤独 提交于 2019-11-27 02:50:19
一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2.1 异步处理 具体场景:用户为了使用某个应用,进行注册,系统需要发送注册邮件并验证短信。对这两个操作的处理方式有两种:串行及并行。 (1)串行方式:新注册信息生成后,先发送注册邮件,再发送验证短信; 在这种方式下

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

我怕爱的太早我们不能终老 提交于 2019-11-27 02:50:00
消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合 、 可靠投递 、 广播 、 流量控制 、 最终一致性 等一系列功能。 当前使用较多的 消息队列 有 RabbitMQ 、 RocketMQ 、 ActiveMQ 、 Kafka 、 ZeroMQ 、 MetaMQ 等,而部分 数据库 如 Redis 、 MySQL 以及 phxsql 也可实现消息队列的功能。 正文 1. 消息队列概述 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流 ,并基于 数据通信 来进行分布式系统的集成。 通过提供 消息传递 和 消息排队 模型,它可以在 分布式环境 下提供 应用解耦 、 弹性伸缩 、 冗余存储 、 流量削峰 、 异步通信 、 数据同步 等等功能,其作为 分布式系统架构 中的一个重要组件,有着举足轻重的地位。 2. 消息队列的特点 2.1. 采用异步处理模式 消息发送者 可以发送一个消息而无须等待响应。 消息发送者 将消息发送到一条 虚拟的通道 ( 主题 或 队列 )上, 消息接收者 则 订阅 或是 监听 该通道。一条信息可能最终转发给 一个或多个 消息接收者,这些接收者都无需对 消息发送者 做出 同步回应 。整个过程都是 异步的 。 2.2. 应用系统之间解耦合 主要体现在如下两点: 发送者和接受者不必了解对方、只需要 确认消息 ;

消息队列及常见消息队列介绍

怎甘沉沦 提交于 2019-11-27 02:49:39
一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2.1 异步处理 具体场景:用户为了使用某个应用,进行注册,系统需要发送注册邮件并验证短信。对这两个操作的处理方式有两种:串行及并行。 (1)串行方式:新注册信息生成后,先发送注册邮件,再发送验证短信; 在这种方式下

《RocketMq》一、网络传输篇

时光毁灭记忆、已成空白 提交于 2019-11-26 21:56:42
你是否想知道一个分布式系统的网络传输解决方案,那你可以学习下RocketMQ的网络传输原理,从RocketMQ的Remoting网络处理部分,可以学习到如何进行高效的网络传输,这些思想可以应用到不同的业务中。 一、要解决的问题 其实大部分应用的网络处理都要解决如下图所示的问题: 那么就以RocketMQ的源码入手,看看它是如何架构如上的结构的。 二、RocketMQ-remoting详解 2.1首先给出其整体的结构图 2.2 编码解码 在RocketMQ中,所有的通讯都是使用RemotingCommand这个结构,这个结构的内容如下: [java] view plain copy private static final int RPC_TYPE = 0; // 0, REQUEST_COMMAND // 1, RESPONSE_COMMAND private static final int RPC_ONEWAY = 1; // 0, RPC // 1, Oneway /** * Header 部分 */ private int code; // 用于标示请求类型,参见RequestCode,ResponseCode private LanguageCode language = LanguageCode.JAVA; private int version = 0;

RocketMQ与Kafka对比

拈花ヽ惹草 提交于 2019-11-26 21:18:14
RocketMQ与Kafka对比(18项差异) 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为 存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之 后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单、充值等场景下还有诸 多特性不满足,为此我们重新用Java语言编写了RocketMQ,定位于非日志的可靠消息传输(日志场景也OK),目前RocketMQ在阿里集团被广 泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景。 为了方便大家选型,整理一份RocketMQ与Kafka的对比文档,文中如有错误之处,欢迎来函指正。 vintage.wang@gmail.com 数据可靠性 RocketMQ支持异步实时刷盘,同步刷盘,同步Replication,异步Replication Kafka使用异步刷盘方式,异步Replication/同步Replication 总结:RocketMQ的同步刷盘在单机可靠性上比Kafka更高,不会因为操作系统Crash,导致数据丢失。