消息中间件-MQ
五柳-先生
宅边有五柳树,因以为号焉。
展开
-
基于zookeeper+leveldb搭建activemq集群
自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数据库共享依然存在。本文主要阐述基于zookeeper和leveldb搭建activemq集群,这里需要特别提醒,本文实现的集群仅提供主备功能,避免单点故障,没有负载均衡功能。 下面开始我们的征途。转载 2015-12-22 09:45:34 · 1008 阅读 · 0 评论 -
ActiveMQ 中的消息游标(Message cursors)
在Activemq以前的版本中,broker会把待发送的消息保存在内存中。这种方式的缺陷是当消费者消费的速度赶不上生产者的速度时,会在broker的内存中积攒大量的消息,当达到一个限额后,broker就不再接收消息。这时生产者就被阻塞了,直到broker将内存清理能保存消息后才能继续发送。 在5.0版本后,Activemq实现了一种新的内存模型来防止慢消费者阻塞快速生产者。通常消息在未发转载 2015-11-18 22:37:06 · 822 阅读 · 0 评论 -
ActiveMQ 中的消息持久化(二)
为了长时间的存储和管理消息,一般会使用数据库。在Activemq中默认使用的是Derby DB。当然也可更改配置来使用其他的DB。Activemq支持以下这些DB: Apache DerbyAxionDB2HSQLInformixMaxDBMySQLOraclePostgresqlSQLServerSybase 如果要使用不在上面列表中的DB,可以通过配置SQL语句和JDB转载 2015-11-18 22:34:00 · 1318 阅读 · 0 评论 -
Kafka 配置参数汇总及相关说明
问题导读1、如何深入理解kafka?2、kafka有哪些重要的配置参数?Kafka为broker,producer和consumer提供了很多的配置参数。 了解并理解这些配置参数对于我们使用kafka是非常重要的。本文列出了一些重要的配置参数。官方的文档 Configuration比较老了,很多参数有所变动, 有些名字也有所改变。我在整理的过程中根据转载 2015-11-17 21:18:57 · 6082 阅读 · 0 评论 -
Kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么? 一、入门 1、简介 Kafka is a distrib转载 2015-11-17 17:08:14 · 640 阅读 · 0 评论 -
Yahoo开源的Apache Kafka管理工具:Kafka Manager
Apache Kafka的管理工具。Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽。 为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况转载 2015-11-17 17:40:34 · 679 阅读 · 0 评论 -
ActiveMQ - message cursor
因群里的“追风”问message cursor到底是有什么用,以及怎么用,我答应他出篇源码分析文档,现在有点时间,就把message cursor分析一下。在分析的过程种发现,如果不从源码分析,只是从已有的用户使用文档中,确实没法用好message cursor。activeMQ的message cursor分为3种l Store-basedl VM转载 2015-09-23 20:55:44 · 1197 阅读 · 1 评论 -
apache kafka系列之log4j配置
kafka日志文件分为5种类型,依次为:controller,kafka-request,server,state-change,log-cleaner,不同类型log数据,写到不同文件中:[java] view plaincopykafka.logs.dir=logs log4j.rootLogger=INFO, stdou转载 2015-09-22 21:06:21 · 904 阅读 · 0 评论 -
apache kafka系列之在zookeeper中存储结构
1.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1", "partitions": { "partitionId编号": [ 同步副本组broker转载 2015-09-22 21:03:54 · 506 阅读 · 0 评论 -
Windows平台搭建Kafka源代码开发环境(Eclipse版本)
最近在研究Kafka源代码,需要自己搭建一个开发环境。官网上给出的提示略显简单,照着做了一遍也碰到了一些问题。特此记录下来。开发环境: Oracle Java 1.7_u71 + Eclipse 4.4.1 + Scala 2.10.4 + Gradle 2.3 + Kafka 0.8.2.1一、Gradle安装配置 Kafka代码自0.8.x之后就使用Gradle来进行转载 2015-09-21 20:44:05 · 1162 阅读 · 0 评论 -
Unsupported major.minor version 51.0 错误解决方案
jdk1.6工程中使用外部jar包中类出现:Unsupported major.minor version 51.0原因分析:出现上述错误是因为:外部jar包使用jdk1.7(jdk7)编译,而使用此jar包的工程jdk版本为jdk1.6(jdk6),算是版本不支持。 解决方法见下面的步骤:第一步:在eclipse新增jdk1.7。如下图所示:第二步:修改eclip转载 2015-09-22 09:21:55 · 3995 阅读 · 0 评论 -
kafka文档: 配置选项翻译
问题导读1.broker.id的作用是什么?2.max.message.bytes表示什么含义?3.group.id是用来标识什么的?来源:http://kafka.apache.org/documentation.html#configuration3. 配置项Kafka在配置文件中使用key-value方式进行属性配置转载 2015-11-17 22:19:07 · 2181 阅读 · 0 评论 -
ActiveMQ 中的消息持久化(一)
为了防止系统意外down机丢失消息,同时能在系统恢复后能重新发送原来未发送的消息。一般消息系统都会采用持久化机制。Activemq5.4提供了几种持久化机制: 1、KahaDB message store 2、Journaled JDBC adapter 3、Non-journaled JDBC adapter 为了保持后向兼容性,Activemq5.4同样提供以前版本转载 2015-11-18 22:39:23 · 773 阅读 · 0 评论 -
kafka java 生产消费程序demo示例
kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考。kafka的安装请参考官方文档。首先我们需要新建一个maven项目,然后在pom中引用kafka jar包,引用依赖如下: org.apache.kafka kafka_2.10 0.8.0转载 2015-11-17 15:59:41 · 961 阅读 · 0 评论 -
Spark深度解析(2)
问题导读1、什么是Consumer Rebalance?2、如何理解消息Deliver guarantee?3、如何使用producer性能测试工具?本文接前篇:Kafka深度解析(1)Consumer Rebalance (本节所讲述内容均基于Kafka consumer high level API) Kafka保证同一consu转载 2015-11-17 22:12:02 · 608 阅读 · 0 评论 -
kafka详解一、Kafka简介
问题导读1.Kafka有何特性?2.Kafka有哪些组件?背景: 当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战:如何收集这些巨大的信息如何分析它如何及时做到如上两点 以上几个挑战形成了一个业务需求模型,即生产者转载 2015-11-17 21:28:12 · 1914 阅读 · 0 评论 -
ActiveMQ源码架构解析第一节
第一篇文章我们先从hello world写起,下面是使用java代码调用activemq的api发送一条消息。 public class test { public static void main(String[] args) throws Exception { ConnectionFactory connectionFactory = new Activ转载 2015-11-02 21:43:03 · 2374 阅读 · 0 评论 -
apache kafka源代码分析工程搭建(IDEA)
1.gradle安装gradle安装2.下载apache kafka源代码apache kafka下载3.用gradle构建产生IDEA工程文件lizhitao@users-MacBook-Pro:~/Downloads/kafka_2.10-0.8.1$ gradle idea生成IDEA工程文件如下:4.项目导入到IDEA工程中File-->Op转载 2015-11-03 00:27:28 · 770 阅读 · 0 评论 -
apache kafka源码分析-Producer分析
问题导读1.Kafka提供了Producer类作为java producer的api,此类有几种发送方式?2.总结调用producer.send方法包含哪些流程?3.Producer难以理解的在什么地方?producer的发送方式剖析Kafka提供了Producer类作为java producer的api,该类有sync和async两种发送方式。sy转载 2015-11-17 21:08:07 · 646 阅读 · 0 评论 -
kafka详解四:Kafka的设计思想、理念
1.Kafka的设计基本思想是什么?2.Kafka消息转运过程中是如何确保消息的可靠性的?本节主要从整体角度介绍Kafka的设计思想,其中的每个理念都可以深入研究,以后我可能会发专题文章做深入介绍,在这里只做较概括的描述以便大家更好的理解Kafka的独特之处。本节主要涉及到如下主要内容:Kafka设计基本思想Kafka中的数据压缩转载 2015-11-17 21:45:52 · 739 阅读 · 0 评论 -
下一代分布式消息系统:Apache Kafka
简介Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Apache Kafka与传统消息系统相比,有以下不同:它被设计为一个分布式系统,易于向外扩展;它同时为发布和订阅提供高吞吐量;它支持多订阅者,当失败时能自动平衡消费者转载 2015-11-17 16:27:30 · 640 阅读 · 0 评论 -
kafka详解三:开发Kafka应用
问题导读1.Kafka系统由什么组成?2.Kafka中和producer相关的API是什么?一、整体看一下Kafka我们知道,Kafka系统有三大组件:Producer、Consumer、broker 。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Ima转载 2015-11-17 21:37:31 · 2606 阅读 · 0 评论 -
Understanding ActiveMQ Broker Networks - 理解ActiveMQ 网络模型
Networks of message brokers in ActiveMQ work quite differently to more familiar models such as that of physical networks. They are not any harder to understand or reason about but we need to have an转载 2015-09-17 19:40:04 · 771 阅读 · 0 评论 -
Kafka剖析:Kafka背景及架构介绍
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。背景介绍Kafka转载 2015-10-18 22:26:40 · 566 阅读 · 0 评论 -
activeMQ JMS JConsole监控
一、jconsole监控1、进入 JDK安装目录/jdk/bin/ , jconsole.exe 双击运行,如下图:记得activemq已正常启动2、连接activemq jms , 选择远程进程,输入地址:端口、用户名和密码设置详见:配置如下图:3、连接,如成功将看到如下图所示窗口至此配置完成,现就可以使用JConsole来监控activeM转载 2015-06-30 17:29:59 · 1033 阅读 · 0 评论 -
谁才是最快的消息队列:ActiveMQ, RabbitMQ, HornetQ, QPID
Y坐标是处理时间,越低表示性能越好.Lately I performed a message queue benchmark, comparing several queuing frameworks (RabbitMQ, ActiveMQ…).Those benchmarks are part of a complete study conducted by Adina Miha转载 2015-07-01 11:01:58 · 1670 阅读 · 0 评论 -
Kafka剖析(一):高扩展、高吞吐的分布式消息系统初探
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。背景介绍转载 2015-07-01 10:15:12 · 1380 阅读 · 0 评论 -
ZeroMQ的学习和研究
一、ZeroMQ的背景介绍引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们转载 2015-07-01 10:23:47 · 433 阅读 · 0 评论 -
ActiveMQ持久化方式
消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重新启动后仍然可以将消息发送出去,如果把这种持久化和ReliableMessaging结合起来应该是很好的保证了消息的可靠传送。消息持久性的原理很简单,就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内存数据库或者远程数据库等,转载 2015-06-30 17:14:30 · 681 阅读 · 0 评论 -
基于zookeeper+leveldb搭建activemq集群
自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数据库共享依然存在。本文主要阐述基于zookeeper和leveldb搭建activemq集群,这里需要特别提醒,本文实现的集群仅提供主备功能,避免单点故障,没有负载均衡功能。 下面开始我们的征途。转载 2015-06-30 16:35:59 · 894 阅读 · 0 评论 -
metaq架构原理
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2034111 本来只是想看下metaq的文档,结果发现好乱,现在metaq其实有两个大分支了,一个是庄晓丹维护的已开源的,另外一个是淘宝内部的,本质结构原理没太大区别,只不过开源的已经去掉了对淘系相关的依赖。然后淘系的metaq已经到3.*版本了,但是文档比较乱,深入到细节时,发现好乱,一个点有转载 2015-07-01 15:11:42 · 852 阅读 · 0 评论 -
[RabbitMQ+Python入门经典] 兔子和兔子窝
RabbitMQ作为一个工业级的消息队列服务器,在其客户端手册列表的Python段当中推荐了一篇blog,作为RabbitMQ+Python的入门手册再合适不过了。不过,正如其标题Rabbit and Warrens(兔子和养兔场)一样,这篇英文写的相当俏皮,以至于对于我等非英文读者来说不像一般的技术文档那么好懂,所以,翻译一下吧。翻译过了,希望其他人可以少用一些时间。翻译水平有限,不可能像原转载 2015-07-01 15:03:27 · 657 阅读 · 0 评论 -
activeMQ JMS监控配置
一、配置activeMQ切换至 activemq解压目录/conf/1、修改conf/中的activemq.xml,如下Java代码 "http://activemq.org/config/1.0" brokerName="localhost" useJmx="true"> ... "false"/>转载 2015-06-30 17:32:29 · 1673 阅读 · 0 评论 -
数据分析与处理之二(Leveldb 实现原理)
郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可以浏览原始页面 :-),感兴趣的话可以一起讨论 Leveldb 的实现原理!LevelDb日知录之一:LevelDb转载 2014-09-20 12:43:51 · 618 阅读 · 0 评论 -
Kafka VS ActiveMQ
Kafka 是LinkedIn 开发的一个高性能、分布式的消息系统,广泛用于日志收集、流式数据处理、在线和离线消息分发等场景。虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先ActiveMQ 等传统的消息系统。Kafka 将消息流按Topic 组织,保存消息的服务器称为Broker,消费者可以订阅一个或者多个Topic。为了均衡负载,一个Topic 的消息又可以划分到多转载 2015-07-01 10:05:40 · 1056 阅读 · 0 评论 -
RocketMQ与Kafka对比
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单转载 2015-07-06 20:19:38 · 1000 阅读 · 0 评论 -
metaq入门部署到实战
初识metaqzookeeper部署,这里单机zk为例。wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.6.tar.gztar -zxvf zookeeper-3.4.6.tar.gzcd zookeeper-3.4.6mkdir datacp conf/zoo_samp转载 2015-08-21 20:33:47 · 789 阅读 · 0 评论 -
metaq spring配置
spring metaqspring bean 配置 bean id="sessionFactory" class="com.taobao.metamorphosis.client.extension.spring.MetaqMessageSessionFactoryBean"> property name="zkConnect" value="192.168.137转载 2015-08-21 20:31:51 · 850 阅读 · 0 评论 -
Windows平台搭建Kafka源代码开发环境(Eclipse版本)
最近在研究Kafka源代码,需要自己搭建一个开发环境。官网上给出的提示略显简单,照着做了一遍也碰到了一些问题。特此记录下来。开发环境: Oracle Java 1.7_u71 + Eclipse 4.4.1 + Scala 2.10.4 + Gradle 2.3 + Kafka 0.8.2.1一、Gradle安装配置 Kafka代码自0.8.x之后就使用Gradle来进行转载 2015-08-30 11:51:55 · 804 阅读 · 0 评论 -
Gradle 代理设置
gradle下载地址:http://www.gradle.org/downloads使用网络代理的同学可以在项目根目录下创建一个gradle.properties文件(比如项目名称为HelloWorld,那么就在HelloWorld目录下创建gradle.properties文件),文件内容示例:1234转载 2015-08-30 12:09:27 · 6486 阅读 · 0 评论