
MetaQ
文章平均质量分 93
wbj0110
这个作者很懒,什么都没留下…
展开
-
如何开始--metaq
下载服务器从Google Code选择最新版本的服务器并下载到本地,假设下载后的文件在folder目录,执行下列命令解压缩文件:cd foldertar zxvf metaq-server-1.4.6.2.tar.gz 解压缩文件,解压后目录结构大概为:taobao metamorphosis-server-wrapper bin ...原创 2013-11-07 09:31:46 · 240 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(七)
前面介绍了Broker在网络传输过程中使用的数据结构,同时也介绍了MetaQ使用了Gecko框架作为网络传输框架。有人会问,Gecko什么调用MetaEncodeCommand的encode()方法,让命令变成可见的明文在网络传输,Gecko又在什么时候将网络传输的数据包装成一个个Command对象?或许有人已经注意到了笔者在介绍Broker启动类MetaMorphosisBroker...原创 2014-05-31 14:03:30 · 160 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(八)
上一篇以及上上篇基本介绍了MetaQ如何使用Gecko框架在网络上传输数据,今天将继续进一步介绍在Broker,各种命令的处理逻辑(暂时将不涉及到事务处理)。依旧是在MetaMorphosisBroker的registerProcessors()方法中,我们可以注意到一点,每个Processor的实例在构造的时候都注入了一个brokerProcessor的变量,该变量的类型为Command...原创 2014-06-01 10:36:05 · 151 阅读 · 0 评论 -
淘宝MetaQ开源消息队列安装
前提:: 安装zookeeper 首先你需要搭建自己的zookeeper集群,meta利用zookeeper做服务的注册和发现,以及默认情况下offset的存储。 安装java运行环境 第一步:下载安装包从这里下载最新的metamorphosis服务器可运行包并在某个目录解压缩(或者checkout源码按上面的步骤打包出来)。解压出来的结构大概是这样 -你的目录 -taobao -metamo...原创 2014-02-08 09:32:55 · 248 阅读 · 0 评论 -
Metamorphosis分布式消息中间件
一 简介1.1定义 Metamorphosis是淘宝开源的一个Java消息中间件。关于消息中间件,你应该听说过JMS(1)规范,以及一些开源实现,如ActiveMQ和HornetQ等。Metamorphosis也是其中之一。 Metamorphosis是一款完全的队列模型消息中间件,服务器使用Java语言编写,可在多种软硬件平台上部署。客户端支持Java、C++编程...原创 2014-03-10 09:30:20 · 344 阅读 · 0 评论 -
MetaQ初探
MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,,MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,METAQ在阿里巴巴各个子公司被广泛应用,每天转发250亿+条消息。主要应用于异步解耦,Mysql数据复制,收集日志等场景。总体结构 主要特点生产者、服务器和消费...原创 2013-10-01 00:10:25 · 179 阅读 · 0 评论 -
MetaQ 可靠性、顺序和重复
可靠性Metamorphosis的可靠性保证贯穿客户端和服务器。生产者的可靠性保证消息生产者发送消息后返回SendResult,如果isSuccess返回为true,则表示消息已经确认发送到服务器并被服务器接收存储。整个发送过程是一个同步的过程。保证消息送达服务器并返回结果。服务器的可靠性保证消息生产者发送的消息,meta服务器收到后在做必要的校验和检查之后的第一件事就是...原创 2013-10-08 10:06:02 · 402 阅读 · 0 评论 -
Storm实时处理方案架构
1 文档说明 该文档描述的是以storm为主体的实时处理架构,该架构包括了数据收集部分,实时处理部分,及数据落地部分。关于不同部分的技术选型与业务需求及个人对相关技术的熟悉度有关,会一一进行分析。该架构是本人所掌握的一种架构,可能会与其他架构有相似的部分,个人会一一解释对其的理解。 2 实时处理架构 2.1 整体架构图 架构说明:整个数据处理流...原创 2013-10-12 09:13:40 · 233 阅读 · 0 评论 -
storm & metaq 实例
目录Storm项目:流数据监控 <4>. 1---流数据监控MetaQ接口... 11 文档说明... 12 MetaQ与Storm接口... 12.1 MetaqSpout. 12.1.1 接口说明... 12.1.2 上代码... 22.2 MetaqBolt. 52.2.1 接口说明... 52.2.1 上代码... 53 代码改动...原创 2013-10-12 09:14:01 · 158 阅读 · 0 评论 -
配置管理--metaq
配置管理Web管理平台从1.4.5开始,MetaQ提供了一个Web管理平台,默认运行在8120端口,你可以通过浏览器访问http://localhost:8120来访问web管理平台,localhost为本机IP,可替换为broker运行机器所在ip或者hostname。1.4.6版本开始,Web管理平台提供RESTFul API,具体见Dashboar...原创 2014-04-16 10:38:32 · 210 阅读 · 0 评论 -
server.ini
1234567891011121314151617181920212223242526272829303132333435363738[system]brokerId=0numPartitions=1serverPort=8123dashboardHttpPort=8120unflushThreshold=0unflushI...原创 2014-04-16 10:43:02 · 302 阅读 · 0 评论 -
sample.server.ini
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011...原创 2014-04-16 10:48:17 · 129 阅读 · 0 评论 -
Faq of metaq
采用pull模型,消息的实时性有保证吗?Metamorphosis在消费端采用pull的模型,consumer主动去broker拉取数据,而不是类似大多数MQ那样由broker主动push数据给消费者。可能很多人担心采用pull模型后,会不会消息的实时性降低了,从发送到消费的整个时间周期拉长了。实际上,meta中消息的实时性受很多因素影响,不能简单地说实时性一定会降低,主要影响因素如下...原创 2014-04-16 10:48:55 · 216 阅读 · 0 评论 -
HA方案
介绍Meta相比于kafka的一个重要特性就是消息高可用方案的实现,我们称之为HA方案。消息在发送到broker之后立即写入磁盘才返回客户端告诉消息生产者消息发送成功,通过unflushThreshold和unflushInterval两个参数的控制,可以保证单机消息数据的安全性,只要机器的磁盘没有永久损坏,消息总可以在重启后恢复并正常投递给消费者们。但是,如果遇到了磁盘永久损坏或者数据文...原创 2014-04-19 09:26:52 · 305 阅读 · 0 评论 -
如何开始--metaq
下载服务器从Google Code或者我的个人主页选择最新版本的服务器(目前是1.4.6.1)并下载到本地,假设下载后的文件在folder目录,执行下列命令解压缩文件:cd foldertar zxvf metaq-server-1.4.6.2.tar.gz 解压缩文件,解压后目录结构大概为:taobao metamorphosis-server-wrap...原创 2014-04-19 09:27:12 · 134 阅读 · 0 评论 -
Java advancetopics-metaq
本指南以1.4.5版本的java客户端为起点编写。简单例子消息客户端配置会话工厂MessageSessionFactory发送消息MessageProducer订阅消息MessageConsumer遍历消息TopicBrowserSpring框架支持高级主题这里包括一些MetaQ的高级应用,比如使用log4j appender发送消息作为日志框架,T...原创 2014-04-19 09:27:38 · 169 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(六)
前面介绍过MetaQ使用gecko框架作为网络传输框架,Gecko采用请求/响应的方式组织传输。MetaQ依据定义了请求和响应的命令,由于命令Client和Broker均需要使用,所以放在了common工程的类MetaEncodeCommand中:Java代码 public String GET_CMD = "get"; //请求数据请求 public String R...原创 2014-05-31 14:03:12 · 142 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(五)
Broker接收从Producer(Client端)发送的消息,也能够返回消息到Consumer(Client),对于Broker来说,就是网络输入输出流的处理。Broker使用淘宝内部的gecko框架作为网络传输框架,gecko是一个NIO框架,能够支持一下特性:1、 可自定义协议,协议可扩展、紧凑、高效2、 可自动管理重连,重连由客户端发起3、 需进行心跳检测,及时发现连接...原创 2014-05-31 14:02:18 · 130 阅读 · 0 评论 -
简单示例--metaq
示例源码源码地址:metamorphosis-exampleExample消息中间件中有两个角色:消息生产者和消息消费者。Meta里同样有这两个概念,消息生产者负责创建消息并发送到meta服务器,meta服务器会将消息持久化到磁盘,消息消费者从meta服务器拉取消息并提交给应用消费。我们假设你已经部署了你的meta服务器,参见如何开始。Java客户端例子推荐你使用m...原创 2013-11-08 09:30:07 · 296 阅读 · 0 评论 -
配置管理--metaq
Web管理平台从1.4.5开始,MetaQ提供了一个Web管理平台,默认运行在8120端口,你可以通过浏览器访问http://localhost:8120来访问web管理平台,localhost为本机IP,可替换为broker运行机器所在ip或者hostname。1.4.6版本开始,Web管理平台提供RESTFul API,具体见Dashboard API脚本配置MetaQ主要...原创 2013-11-08 09:30:42 · 350 阅读 · 0 评论 -
集群-metaq
集群Meta假定producer、broker和consumer都是分布式的集群系统。Producer可以是一个集群,多台机器上的producer可以往同一个topic发送消息。Meta的服务器broker一般也是一个集群,多台broker组成一个集群提供一些topic服务,生产者按照一定的路由规则往集群里某台broker发送消息,消费者按照一定的路由规则拉取某台broker上的消...原创 2013-11-10 18:23:11 · 165 阅读 · 0 评论 -
高可用配置(异步复制和同步复制)-metaq
介绍Meta相比于kafka的一个重要特性就是消息高可用方案的实现,我们称之为HA方案。消息在发送到broker之后立即写入磁盘才返回客户端告诉消息生产者消息发送成功,通过unflushThreshold和unflushInterval两个参数的控制,可以保证单机消息数据的安全性,只要机器的磁盘没有永久损坏,消息总可以在重启后恢复并正常投递给消费者们。但是,如果遇到了磁盘永久损坏或者数据文...原创 2013-11-10 18:23:54 · 395 阅读 · 0 评论 -
RocketMQ WiKi
https://github.com/alibaba/RocketMQ/wiki原创 2013-11-14 09:50:01 · 196 阅读 · 0 评论 -
RabbitMQ和kafka从几个角度简单的对比
业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在...原创 2013-11-15 09:25:12 · 1523 阅读 · 0 评论 -
消息系统Kafka介绍
1、 概述Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。传统的日志分析系统提供了一种离线处理日志信息的可扩展方案,但若要进行实时处理,通常会有较大延迟。而现有的消(...原创 2013-11-18 08:34:46 · 115 阅读 · 0 评论 -
RocketMQ如何安装,需要git、Java、Maven环境
https://github.com/alibaba/RocketMQ/wiki/Quick-Start原创 2013-11-19 09:37:41 · 418 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(转)
笔者最近在业务上需要使用到MetaQ,也借此阅读了MetaQ的相关源码,准备分享MetaQ源码分析。先扫扫盲,如果读者对MetaQ已经较为熟悉,可以跳过下一段落。 一、MetaQ简介 MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,,MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志...原创 2013-11-20 09:35:14 · 337 阅读 · 0 评论 -
metamorphosis-3-metaQ初步
Java客户端例子使用maven,引用metaq的java client非常简单:<dependency> <groupId>com.taobao.metamorphosis</groupId> <artifactId>metamorphosis-client-extension</artifactId> <ve...原创 2013-11-29 09:20:30 · 262 阅读 · 0 评论 -
RocketMQ 脚本调优
#!/bin/sh ## Execute Only Once# echo 'vm.overcommit_memory=1' >> /etc/sysctl.confecho 'vm.min_free_kbytes=5000000' >> /etc/sysctl.confecho 'vm.drop_caches=1' >> ...原创 2013-12-05 09:35:58 · 182 阅读 · 0 评论 -
MetaQ技术内情——源码分析(一)
MetaQ技术内幕——源码分析(一)笔者最近在业务上需要使用到MetaQ,也借此阅读了MetaQ的相关源码,准备分享MetaQ源码分析。先扫扫盲,如果读者对MetaQ已经较为熟悉,可以跳过下一段落。 一、MetaQ简介 MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,,MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等...原创 2014-05-30 14:10:08 · 127 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(二)
消息,是MetaQ最重要的资源,在分析MetaQ之前必须了解的概念,我们所做的一切都是围绕消息进行的,让我们看看MetaQ中消息的定义是怎样的,MetaQ的类Message定义了消息的格式:Java代码 public class Messageimplements Serializable { private long id;//消息的ID priv...原创 2014-05-30 14:58:21 · 184 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(三)
前面忘了先介绍一下Broker消息存储的组织方式,我们前面知道了一条消息属于某个Topic下的某个分区,消息存储的组织方式是按照此方式进行组织的,结构图如下: 所以对于每个Topic而言,分区是最小的元素,对外API主要由MessageStore提供,一个MessageStore实例代表一个分区的实例,分区存储具体的内容。在MetaQ中,分区的存储采用的多文件的方式进行组合,即Me...原创 2014-05-31 12:45:13 · 180 阅读 · 0 评论 -
MetaQ技术内幕——源码分析(四)
前面,我们已经把Broker存储最重要的一个类具体分析了一遍,接下来,我们分析一下其删除的策略。前面介绍过Messagestore采用的多文件存储的组织方式,而存储空间不可能无限大,得有一定的删除策略对其进行删除以腾出空间给新的消息。MetaQ允许自定义删除策略,需要实现接口DeletePolicy,默认提供了两种删除策略:过期删除(DiscardDeletePolicy)和过期打包删除(...原创 2014-05-31 13:24:55 · 132 阅读 · 0 评论 -
简单例子-metaq
示例源码源码地址:metamorphosis-exampleExample消息中间件中有两个角色:消息生产者和消息消费者。Meta里同样有这两个概念,消息生产者负责创建消息并发送到meta服务器,meta服务器会将消息持久化到磁盘,消息消费者从meta服务器拉取消息并提交给应用消费。我们假设你已经部署了你的meta服务器,参见如何开始。Java客户端例子推荐你使用m...原创 2014-04-19 09:28:00 · 269 阅读 · 0 评论