MQ
文章平均质量分 82
xiaomin_____
努力~~
展开
-
Activemq
目前常用的消息队列组建无非就是MSMQ和ActiveMQ,至于他们的异同,这里不想做过多的比较。简单来说,MSMQ内置于微软操作系统之中,在部署 上包含一个隐性条件:Server需要是微软操作系统。(对于这点我并去调研过MSMQ是否可以部署在非微软系统,比如:Linux,只是拍脑袋想了想, 感觉上是不可以)。对于ActiveMQ,微软系统和Linux都是可以部署的。从功能方面来说,一般最...原创 2015-02-11 16:45:59 · 126 阅读 · 0 评论 -
Activemq 心跳
Activemq研究了一段时间,但是我发现一个问题,有关MQ心跳的问题,当客户端也就是消费者断开的时候(出现异常,或者down掉,或者别的什么原 因),mq有时候是否不知道它已经掉线了。再控制台仍然能看到其在线。mq本身是通过心跳来管理的。但是有时候不起作用,这个参数 MaxInactivityDuration参数应该设置多少合适,我测试过,设置太长会出现这种问题,默认是30s 在...原创 2015-02-11 16:58:25 · 818 阅读 · 0 评论 -
分布式开放消息系统(RocketMQ)的原理与实践
备注:1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语2.文中的MQServer与Broker表示同一概念分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高...原创 2016-04-21 10:31:59 · 199 阅读 · 0 评论 -
rocketmq总结
1:角色关系2:顺序消息消费消息的顺序要同収送消息的顺序一致,在 RocketMQ 中,主要挃的是尿部顺序,即一类消息为满足顺序性,必须 Producer 单线程顺序収送,丏収送到同一个队列,返样 Consumer 就可以挄照 Producer 収送的顺序去消费消息3:消息优先级没有严格的优先级,变通的做法是将不同级别的消息发送到不同的topic中4:可靠性影响消息...原创 2016-04-21 10:32:50 · 108 阅读 · 0 评论 -
RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建
一、简介 RocketMQ的前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ MetaQ2.x版本由于依赖了alibaba公司内部其他系统,对于公司外部用户使用不够友好,推荐使用3.0版本。 项目地址: https://github.com/alibaba/RocketMQ二、安装RocketMQ 安装Roc...原创 2016-04-21 10:33:17 · 93 阅读 · 0 评论 -
MQ产品比较-ActiveMQ-RocketMQ
几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ :结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护 ActiveMQ: 历史悠久的开源项目,已经在很多产品中得到应用,实现了JMS1.1规范,可以和spr...原创 2016-04-22 10:02:02 · 110 阅读 · 0 评论 -
ActiveMQ学习笔记03 - 消息持久化
ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,还有一种内存存储的方式,由于内存不属于持久化范畴,而且如果使用内存队列,可以考虑使用更合适的产品,如ZeroMQ。所以内存存储不在讨论范围内。无论使用哪种持久化方式,消息的存储逻辑都是一致的。消息分为Queue和Topic两种,Queue是点对点消费,发送者发送一条消息,只有一个且唯一的一个消费者能对...原创 2016-04-22 10:05:32 · 165 阅读 · 0 评论 -
阿里中间件——消息中间件Notify和MetaQ
3.1、NotifyNotify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧:假设我们有这么一个应用场景,为了完成一个用户注册淘宝的操作,可能需要将用户信息写入到用户库中,然后通知给红包中心给用...原创 2016-04-22 10:05:48 · 191 阅读 · 0 评论 -
MQ 对比
https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka http://www.jeepshoe.org/640110694.htm http://www.doc88.com/p-4337077608492.html原创 2016-04-23 21:22:41 · 87 阅读 · 0 评论 -
Kafka设计篇之消息传输的事务定义
原文地址:http://blog.csdn.net/honglei915/article/details/37565119 之前讨论了consumer和producer是怎么工作的,现在来讨论一下数据传输方面。数据传输的事务定义通常有以下三种级别:最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输。最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被...原创 2016-04-26 10:01:51 · 238 阅读 · 0 评论 -
Kafka背景及架构介绍
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。背景介绍Kafka创建背景...原创 2016-04-26 10:03:54 · 79 阅读 · 0 评论 -
跟我学Kafka源码之Consumer分析
在上一章,我们跟踪了Producer源码的整体流程和一些细节,本章我们将重点跟踪Consumer的源码细节。Consumer的配置文件如下:Html代码 Kafka Consumer配置: group.id: 指定consumer所属的consumer group consumer....原创 2016-04-26 10:29:57 · 204 阅读 · 0 评论 -
跟我学Kafka源码Producer分析
本章主要讲解分析Kafka的Producer的业务逻辑,分发逻辑和负载逻辑都在Producer中维护。 一、Kafka的总体结构图(图片转发) 二、Producer源码分析 Java代码 class Producer[K,V](val config: ProducerConfig, privat...原创 2016-04-26 10:37:27 · 162 阅读 · 0 评论 -
Kafka详解五、Kafka Consumer的底层API- SimpleConsumer
Kafka提供了两套API给Consumer The high-level Consumer APIThe SimpleConsumer API 第一种高度抽象的Consumer API,它使用起来简单、方便,但是对于某些特殊的需求我们可能要用到第二种更底层的API,那么先介绍下第二种API能够帮助我们做哪些事情一个消息读取多次在一个处理过程中...原创 2016-04-26 10:52:03 · 115 阅读 · 0 评论 -
#研发中间件介绍#异步消息可靠推送Notify
电商系统为什么需要 NotifyServer? 如子柳所说,电商系统『需要两种中间件系统,一种是实时调用的中间件(淘宝的HSF,高性能服务框架)、一种是异步消息通知的中间件(淘宝的Notify)』。那么用传统的 ActiveMQ/RabbitMQ 来实现 异步消息发布和订阅 不行吗? 2013年之前我们确实用的是 ActiveMQ,当然主要是订阅者 Pull 模式,选 MySQ...原创 2016-04-28 11:45:32 · 98 阅读 · 0 评论 -
RocketMQ的一些特性
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2091966 我想说,真tm蛋疼,2.0和3.0架构变化挺大的,nameserver有必要吗?zookeeper不是挺好的吗? 一 nameserver相对来说,nameserver的稳定性非常高。原因有二:1 nameserver互相独立,彼此没有通信关系,单台names...原创 2016-05-02 09:26:15 · 73 阅读 · 0 评论 -
ActiveMq 什么时候进入死讯队列
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。出现以下情况时,消息会被再投递 消费端:1)A transacted session is used and rollback() is called.2)A transacted session is closed before commit is called.3)A session is usi...原创 2016-05-02 09:28:17 · 310 阅读 · 0 评论 -
基于ActiveMQ的消息中间件系统 OneMM逻辑与物理架构设计详解
维基百科对消息中间件的定义是“Message-oriented Middleware is software infrastructure focused on sending and receiving messages between distributed system。”分布式系统中实现消息发送和接受的基础设施。随着企业信息化建设的不断深入,多种业务应用相互关联,容易造成底层数据分散...原创 2016-05-02 09:28:34 · 109 阅读 · 0 评论 -
如何利用activemq组装自己的可靠消息事务性消息
1、我们为什么需要可靠消息?或者希望消息带有事务?(1)、我们的某些业务场景希望消息的发送消息和数据库操作是绑定到一起的-》-需要事务性消息(2)、我们某些业务场景不希望对外的消息发送丢失,导致业务无法继续--》消息要可靠 2、消息可靠了,我们会损失什么?(1)、消息的顺序性 因为有些消息可能因为网络等原因当时发送不出去,后续的消息先发送出去被消费。后续的网络...原创 2016-05-02 09:28:51 · 181 阅读 · 0 评论 -
分布式开放消息系统(RocketMQ)的原理与实践
备注:1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语2.文中的MQServer与Broker表示同一概念 分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题: 1消息的顺序问题 2消息的重复问题 RocketMQ作为阿里开源的一款高性能、...原创 2016-05-02 09:29:06 · 117 阅读 · 0 评论 -
提高ActiveMQ工作性能
(接上文《架构设计:系统间通信(22)——提高ActiveMQ工作性能(上)》)6、ActiveMQ处理规则和优化在ActiveMQ单个服务节点的优化中,除了对ActiveMQ单个服务节点的网络IO模型进行优化外,生产者发送消息的策略和消费者处理消息的策略也关乎整个消息队列系统是否能够高效工作。请看下图所示的消息生产者和消息消费者的简要工作原理图:Producer既是...原创 2016-05-03 10:19:27 · 257 阅读 · 0 评论 -
RocketMQ与Kafka对比(18项差异)
转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用MySQL作 为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间 件,淘宝中间件团队在对Kafka做过充分Revie...原创 2016-05-07 23:23:00 · 109 阅读 · 0 评论 -
RocketMQ的一些特性
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2091966 我想说,真tm蛋疼,2.0和3.0架构变化挺大的,nameserver有必要吗?zookeeper不是挺好的吗? 一 nameserver相对来说,nameserver的稳定性非常高。原因有二:1 nameserver互相独立,彼此没有通信关系,单台names...原创 2016-05-07 23:23:02 · 93 阅读 · 0 评论 -
消息系统该Push/Pull模式分析
消息系统该Push/Pull模式分析 出处信息 信息推拉技术简介 “智能信息推拉(IIPP)技术”是在网上信息获取技术中加入了智能成份,从而有助于用户在海量信息中高效、及时地获取最新信息,提高了信息系统主动信息服务的能力。如果引入基于IIPP的主动信息服务系统,则可根据用户的特性提供具有针对性的、个性化的信息服务。 以往在Internet上搜寻信...原创 2016-05-16 23:24:14 · 131 阅读 · 0 评论 -
如何实现XA式、非XA式Spring分布式事务
Spring应用的几种事务处理机制 Java Transaction API和XA协议是Spring常用的分布式事务机制,不过你可以选择选择其他的实现方式。理想的实现取决于你的应用程序使用何种资源,你愿意在性能、安 全、系统稳健性、数据完整方面做出何种权衡。在这次JavaWorld大会上,来自SpringSource的David Syer跟大家分享了Spring应用的几种事务处理机制、三...原创 2016-05-17 17:33:41 · 148 阅读 · 0 评论 -
RocketMQ命令整理
1.1. 控制台使用RocketMQ 提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker 等信息的管理;登录控制台首先进入RocketMQ 工程,进入/RocketMQ/bin在该目录下有个mqadmin 脚本查看帮助在mqadmin 下可以查看有哪些命令sh mqadmin查看具体命令的使用sh mqadmin help 命令名称例如,...原创 2016-05-19 14:01:44 · 86 阅读 · 0 评论 -
RocketMQ原理解析-consumer 1.启动
有别于其他消息中间件由broker做负载均衡并主动向consumer投递消息,RocketMq是基于拉模式拉取消息,consumer做负载均衡并通过长轮询向broker拉消息。 Consumer消费拉取的消息的方式有两种 1. Push方式:rocketmq已经提供了很全面的实现,consumer通过长轮询拉取消息后回调MessageListener接口实现...原创 2016-05-19 15:20:24 · 115 阅读 · 0 评论 -
15:39:52.027 [ActiveMQ InactivityMonitor WriteCheckTimer] DEBUG o.a.a.t.Abstract
15:39:52.027 [ActiveMQ InactivityMonitor WriteCheckTimer] DEBUG o.a.a.t.AbstractInactivityMonitor - WriteChecker: 10000ms elapsed since last write check.15:39:52.028 [ActiveMQ InactivityMonitor Wo...原创 2015-07-30 16:22:40 · 866 阅读 · 0 评论 -
KAFKA分布式消息系统
Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录、浏览、点击、分享、喜欢)以及系统运行日志(CPU、内存、磁盘、网络、系统及进程状态)。 当前很多的消息队列服务提供可靠交付保证,并默认是即时消费(不适合离线)。高可靠交付对linkedin的日志不是必须的,故可通过降低可靠性来提高性能...原创 2015-08-01 17:55:46 · 76 阅读 · 0 评论 -
Kafka 安装和测试
1. 简介 kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。 i. 消息的发布(publish)称作producer,消息的订阅(subscribe)称作consumer,中间的存储阵列称作broker。ii. 多个broker协同合作,producer、consumer和broker三者之间通过zookeeper...原创 2015-08-01 18:30:54 · 61 阅读 · 0 评论 -
rabbitmq 学习-9- RpcClient发送消息和同步接收消息原理
本身使用RpcClient发送消息与同步接收消息的代码是很简单的,如下:RpcClient client = new RpcClient(channel, exchange, routingKey);String msg = "hello world!";byte[] result = client.primitiveCall(msg.getBytes());这里的primiti...原创 2016-06-21 16:10:17 · 145 阅读 · 0 评论 -
RocketMQ Filtersrv详解
RocketMQ Filtersrv详解Metaq 3.0以后改名为RocketMQ,阿里云的ONS则是基于RocketMQ搭建的。今天闲着无事,把RocketMQ的代码clone到本地分析了一 下,从clone下来的代码,结构还是比较清晰的,代码量也不是很多。我发现其中一个模块我之前没有听说过的。于是就抱着一探究竟的目的,去看看它是何 物,这个模块就是filtersrv,是RocketMQ...原创 2016-06-28 10:10:39 · 476 阅读 · 0 评论 -
RocketMQ学习:事务消息
http://lifestack.cn/archives/429.html原创 2016-07-10 09:32:13 · 102 阅读 · 0 评论 -
深入NSQ 之旅
介绍NSQ是一个实时的分布式消息平台。它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架。这篇文章介绍了 基于go语言的NSQ的内部架构,它能够为高吞吐量的网络服务器带来 性能的优化,稳定性和鲁棒性。可以说, 如果不是因为我们在bitly使用go语言,NSQ就不会存在。这里既会讲NSQ的功能也会涉及语言提供的特征。当然,语言会影响思维,这次也不例外。...原创 2016-07-11 10:56:09 · 127 阅读 · 0 评论 -
jms客户端与服务端暴露接口与调用
1.6. JMS 使用JMS来作为底层的通信协议透明暴露服务也是可能的。Spring框架中对JMS的远程支持也很基础 - 它在同一线程和同一个非事务 Session上发送和接收,这些吞吐量将非常依赖于实现。The following interface is used on both the server and the client side.下面的接口可同时用在服务端和客户端。packag...原创 2016-07-23 10:42:29 · 327 阅读 · 0 评论 -
ActiveMQ异步发送消息
异步发送消息ActiveMQ 支持生产者以同步或异步模式发送消息。使用不同的模式对send 方法的反应时间有巨大的影响,反映时间是衡量ActiveMQ 吞吐量的重要因素,使用异步发送可以提高系统的性能。在默认大多数情况下,AcitveMQ 是以异步模式发送消息。例外的情况:在没有使用事务的情况下,生产者以PERSISTENT 传送模式发送消息。在这种情况下,send 方法都是同步的,并且一直阻塞...原创 2015-08-27 14:39:12 · 248 阅读 · 0 评论 -
mq 优化
protected void initMQ() throws Exception { long start = System.currentTimeMillis(); while (true) { try { mqCon = connectionFactory.createConnection(); break; } catch (Excepti...原创 2015-09-03 00:02:43 · 120 阅读 · 0 评论 -
ActiveMQ内存设置和流控
启动脚本设置jvm的内存if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms1G-Xmx1G -Djava.util.logging.config.file=logging.properties broker配置中的系统内存和磁盘空间使用量 <systemUsage> <s...原创 2015-09-03 00:03:05 · 168 阅读 · 0 评论 -
ActiveMQ入门实例
1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/admin/...原创 2015-09-10 15:39:32 · 69 阅读 · 0 评论 -
ActiveMQ的断线重连机制
断线重连机制是ActiveMQ的高可用性具体体现之一。具体就是使用failover方式,使得连接断开之后,可以不断的重试连接到一个或多个brokerURL。例如:failover:(tcp://127.0.0.1:61616) ,这里可以使用多个url。默认情况下,如果client与broker直接的connection断开,则client会新起一个线程,不断的从url参数中获取...原创 2015-09-10 16:40:07 · 445 阅读 · 0 评论