
MQ
武汉红喜
专注于消息中间件
展开
-
rocketmq-spring-boot-starter使用指南
https://github.com/apache/rocketmq-spring.git针对官方starter修改点 官方支持连接多个集群(订阅) (官方一个应用只能连接一个集群)顺序消息消费失败,可配重试次数 (非顺序消息默认重试16次,每次时间延后)发送延时消息方法参数优化(魔法参数改为枚举)优化getMessageType方法,支持 MyConsumer extends Abs...原创 2019-01-09 16:24:02 · 84917 阅读 · 36 评论 -
RocketMQ客户端简单封装
public class ClientConfig { protected String namesrvAddr = System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY, System.getenv(MixAll.NAMESRV_ADDR_ENV)); protected String instanceName = System.ge...原创 2019-01-09 16:17:09 · 2838 阅读 · 0 评论 -
开发者如何玩转 RocketMQ?附最全源码解读 【Remoting篇】
借用一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键。前排友情提示:这是一篇很硬的干货。 RocketMQ中Remoting通信模块概览 RocketMQ消息队列的整体部署架构如下图所示: 先来说下RocketMQ消息队列集群中的几个角色: NameServer:在MQ集群中做的是...转载 2019-01-24 15:59:50 · 1173 阅读 · 0 评论 -
RocketMQ吐血总结
RocketMQ吐血总结架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结User GuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年时间正式成为了A...原创 2018-12-09 20:36:36 · 153764 阅读 · 49 评论 -
RocketMQ消费失败消息深入分析
前言消息队列是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。由于每个消息队列都有它的优势和劣势,我们公司对于不同的场景使用了不同类型的消息队列。对于RocketMQ消费端存在消息消费失败的情况,通常有两种方式,一种是consumer端知道怎么...转载 2018-12-14 21:31:09 · 6572 阅读 · 0 评论 -
Apache kafka原理与特性(0.8V)
https://shift-alt-ctrl.iteye.com/blog/1930345前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer)将消息转存到HDFS等其他结构化数据存储系统中.因为日志消息通常为文本数据,尺寸较小,且对实时性以及数据可靠性要求不严格,但是...转载 2018-12-19 22:27:34 · 343 阅读 · 0 评论 -
ActiveMQ架构设计与最佳实践
ActiveMQ是最常用、特性最丰富的消息中间件,通常用于消息异步通信、调用解耦等多种场景,是JMS规范的实现者之一。 一、架构设计概要 ActiveMQ提供两种可供实施的架构模型:“M-S”和“network bridge”;其中“M-S”是HA方案,“网络转发桥”用于实现“分布式队列”。 1、M-S Master-Slave模型下,通常需要2+个Ac...原创 2017-09-10 19:05:09 · 1819 阅读 · 0 评论 -
分布式开放消息系统(RocketMQ)的原理与实践
备注:1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语2.文中的MQServer与Broker表示同一概念 分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题: 1消息的顺序问题 2消息的重复问题 RocketMQ作为阿里开源的一款高性能、高吞吐量的消...转载 2017-09-04 15:09:04 · 338 阅读 · 1 评论 -
RocketMQ架构模块解析
RocketMQ是一个分布式开放消息中间件,底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv, Broker, Producer, Consumer。Namesrv: 存储当前集群所有Brokers信息、Topic跟Broker的对应关系。 Broker: 集群最核心模块,主要负责Topic消息存储、消费者的消费位点管理(消费进度)。 Producer...原创 2017-06-09 13:27:23 · 16792 阅读 · 2 评论 -
RocketMQ高并发读写
RocketMQ的并发读写能力扛住了2016年双十一,每秒17.5万笔订单的创建(单笔订单衍生出N条消息,实际tps是17.5*n 万),下面对其高并发读写原理进行探讨。主要体现在两方面:客户端收发消息,服务器接收消息并持久化(重点)。客户端(RocketMQ-client)1,客户端发送消息有负载均衡,客户端内存中保存着当前所有的服务器列表,每次发送都切换一台服务器发送消息,使得每台服务...原创 2017-06-09 13:28:27 · 16669 阅读 · 3 评论 -
你好,RocketMQ
http://rocketmq.apache.org/编者按这些年开源氛围越来越好,各大IT公司都纷纷将一些自研代码开源出来。2012年,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ。经过几年的技术打磨,阿里称基于RocketMQ技术,目前双十一当天消息容量可达到万亿级。2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目。阿里称会将其打造成顶级...转载 2017-06-06 20:08:26 · 1369 阅读 · 0 评论 -
【转】ActiveMQ中Producer特性详解
http://shift-alt-ctrl.iteye.com/blog/2034440 (deep.hongxi.org) 前言 从本文中你可以得到如下几个问题的解答: 1) 设定消息的时间戳有什么作用 2) 消息的timeToLive与过期原理 3) Producer同步、异步发送消息,以及调优 4) 消息priority与顺...转载 2018-03-09 17:49:44 · 281 阅读 · 0 评论 -
京东JMQ如何保证消息顺序消费
[京东技术]在要求严格顺序消息的场景下,消息的发送者,BROKER端(BROKER端和消息存储放在一起),消息的消费者都要求按照顺序进行,三者任何一个环节的乱序都会导致消息最终的消费顺序被打乱。如果为每一个消息维护一个有序的ID,发送和存储消息无序,消费逻辑会变得非常复杂,消费端要对消息进行重新编排,会影响消费的性能。为了保证消息发送、保存、消费三个环节都有顺序,就要求在同一个时刻只能有一个同步发...原创 2017-01-13 19:39:24 · 3810 阅读 · 0 评论 -
京东消息中间件JMQ
[京东技术]京东的MQ经历了JQ->AMQ->JMQ的发展,其中JQ的基于关系数据库,严格意义上讲称不上消息中间件,JMQ的存储是JFS和HBase,AMQ即ActiveMQ,本文说说JMQ。JMQ是京东自主研发的一款消息中间件系统,具有高可用、数据高可靠等特性。广泛应用于公司内部系统,包括订单、支付、库房等场景。整体结构 系统包括服务端、客户端、管理端与其他支撑模块。 ...原创 2017-01-13 19:37:03 · 9183 阅读 · 6 评论 -
京东消息中间件的演进
[京东技术]转载务必声明 本文转载自IPD-Chat,IPD-Chat为京东商城基础平台部门官方公众号,扫一扫二维码进行关注。 本文将简单介绍下京东消息中间件的演进历程。以及作为消息中间件在每一代产品中我们是如何解决MQ面临的一些通用问题,比如:如何处理IO,消息如何存储,消息如何路由等等。 我们在开始之前要明确一些基本概念:Broker:消息中间件服务端的一个实例;Producer:消息的发...原创 2017-01-13 19:34:27 · 2435 阅读 · 1 评论 -
ActiveMQ与虚拟通道
郑重提示,本文转载自http://shift-alt-ctrl.iteye.com/blog/2065436 ActiveMQ提供了虚拟通道的特性(Virtual Destination),它允许一个逻辑通道(logical destination)映射成一个或者多个物理通道(physical destination);它可以非常灵活的解决"消息整合"方面的问题,它可以实现: 1...转载 2018-03-23 14:43:18 · 339 阅读 · 0 评论 -
RabbitMQ基础概念详细介绍
你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ简介AMQP,即Ad...转载 2018-03-23 14:41:17 · 294 阅读 · 0 评论 -
【转】ActiveMQ消息传送机制以及ACK机制详解
本文转载自 http://shift-alt-ctrl.iteye.com/blog/2020182AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机制 Producer客户端使用来发送消息的, Consumer客...原创 2018-03-09 17:42:44 · 474 阅读 · 0 评论 -
ActiveMQ - JMS,Transport,Persistence
关键字: JMS 1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范。1.1 JMS的基本构件1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。 1.1.2 连接 JMS Connection封装了客户与JMS提供者之间的一个...原创 2018-03-09 17:44:59 · 143 阅读 · 0 评论 -
ActiveMQ - Clustering,Features,Wildcards
关键字: Clustering 2.5 Clustering ActiveMQ从多种不同的方面提供了集群的支持。2.5.1 Queue consumer clusters ActiveMQ支持订阅同一个queue的consumers上的集群。如果一个consumer失效,那么所有未被确认(unacknowledged)的消息都会被发送...原创 2018-03-09 17:46:55 · 136 阅读 · 0 评论 -
【转】ActiveMQ中Consumer特性详解与优化
http://shift-alt-ctrl.iteye.com/blog/2035321 (deep.hongxi.org) 前言 从本文中你可以了解到如下内容: 1) consumer端消息消费的模型,session的运作机制 2) 如果提升broker和consumer端消息消费的速率 3) selector,group,exclusive...转载 2018-03-09 17:49:37 · 447 阅读 · 0 评论 -
JMS 概述
本文转载自http://shift-alt-ctrl.iteye.com/blog/1902820一.JMS使用场景: JMS是为"消息"而生,从使用的角度来说,任何可以与业务解耦的数据均可以作为"消息"存储;任何结构化(格式严格,适合解析)但未索引化(不能被随意检索)的数据均可以交付给JMS存储,但尽管JMS不是为存储而生. 1) 异构系统(应用)中,如果数据的交互...转载 2016-01-22 09:42:36 · 486 阅读 · 0 评论