请您先登录,才能继续操作

阅读更多

2顶
0踩

开源软件

    分布式消息中间件MetaQ发布1.4.4版本,完整更新日志如下(也可以点击链接查看):

 

1.  配置变更: 

  • 添加新选项stat,可设置全局是否开启实时统计,默认为false

  • 添加新选项updateConsumerOffsets,当消费者的offset不在Broker的数据范围内,是否强制更新消费者的offset为当前最大offset。默认为false。测试开发环境建议开启此选项,生产环境不建议。

  • 添加新选项loadMessageStoresInParallel,是否在启动的时候并行加载数据,提高启动速度,默认为false。

2.  协议变更: 

  • put协议添加checksum,服务端将根据checksum校验producer发送的消息数据是否完整。

  • sync协议新增checksum,类似put

  • stats协议新增reset和help命令,分别用于重设实时统计数据和打印帮助信息。

3.  易用和稳定性改进: 

  • 新增local模式启动服务器,它将启动一个内置的zookeeper服务器并启动metaq服务器,方便用户测试开发。生产环境仍然建议用单独的zookeeper集群。./metaServer.sh start local

  • 添加服务端启动时的配置参数校验,帮助检查配置错误。

  • metaServer.sh新增slave-status命令,用于查看异步复制状态。

  • 更优雅地关闭服务器,避免数据损坏。

  • 当服务器端列表变动的时候,尽量避免producer发送消息异常。

  • 当同步复制的slave服务端无法服务时,master服务器将尽快返回失败异常给producer。

  • 改进consumer的负载均衡实现,更快速和稳定地实现负载均衡。

  • 修复producer可能出现的连接内存泄漏。

4.  性能改进:

  • 改进group commit实现

5.  新功能,主要改进在Java客户端的API上: 

  • Java客户端新增RejectConsumptionHandler接口,当消费消息尝试多次失败后将调用此接口的rejectConsumption方法处理。

  • Java客户端MessageConsumer接口新增setRejectConsumptionHandler方法用于设置拒绝消费处理器。

  • Message对象新增readOnly属性,可设置消息是否只读。在PartitionSelector的getPartition方法中,消息将强制为只读。

  • MessageListener接口的recieveMessages方法可抛出InterruptedException的受控异常,响应中断。当中断发生时正在消费的消息将被回滚。

6.  其他: 

  • 升级gecko到1.1.2版本,修复并发bug。

7.  升级指南: 

  • 1.4.3版本的服务端和客户端,可直接升级到1.4.4,保持兼容;1.4.4之前版本的服务端和客户端,需首先升级服务端,等服务端完全升级完毕之后,才可开始升级客户端。

下载和文档

Java客户端升级

使用Maven很简单,也可以下载

 

<dependency>
    <groupId>com.taobao.metamorphosis</groupId>
    <artifactId>metamorphosis-client</artifactId>
    <version>1.4.4</version>
</dependency>

 

最后感谢很多朋友的帮助。

 

2
0
评论 共 10 条 请登录后发表评论
10 楼 bruce0508 2013-03-15 14:39
dennis_zane 写道
bruce0508 写道
你好,请教个问题,taobao的timetunnel是参考了kafka的设计理念,采用磁盘顺序读写的机制,请问在持续的大数据读写压力下,相比内存队列,这种机制下会不会频繁读写磁盘,导致磁盘寿命受到较大影响,我们担心磁盘成本会较高,你们是如何考虑这个问题的,有方面的测试数据吗?谢谢


淘宝的timetunel已经改用hbase解决存储问题了。
磁盘很贵吗?一个1T盘现在才多少钱。你一天能有多少消息?做个容量规划就知道。

不好意思,写错了,我要说的是metaq,看了metaq的机制,是有做缓冲的。
9 楼 dennis_zane 2013-03-14 10:52
transist 写道
请教用过的前辈们,稳定性如何呢?

新版1.4.4在delicious.com上跑了两周了,暂时没有发现问题。
8 楼 dennis_zane 2013-03-14 10:52
bruce0508 写道
你好,请教个问题,taobao的timetunnel是参考了kafka的设计理念,采用磁盘顺序读写的机制,请问在持续的大数据读写压力下,相比内存队列,这种机制下会不会频繁读写磁盘,导致磁盘寿命受到较大影响,我们担心磁盘成本会较高,你们是如何考虑这个问题的,有方面的测试数据吗?谢谢


淘宝的timetunel已经改用hbase解决存储问题了。
磁盘很贵吗?一个1T盘现在才多少钱。你一天能有多少消息?做个容量规划就知道。
7 楼 transist 2013-03-13 15:22
请教用过的前辈们,稳定性如何呢?
6 楼 bruce0508 2013-03-13 13:51
你好,请教个问题,taobao的timetunnel是参考了kafka的设计理念,采用磁盘顺序读写的机制,请问在持续的大数据读写压力下,相比内存队列,这种机制下会不会频繁读写磁盘,导致磁盘寿命受到较大影响,我们担心磁盘成本会较高,你们是如何考虑这个问题的,有方面的测试数据吗?谢谢
5 楼 icefishc 2013-03-11 22:30
icefishc 写道
dennis_zane 写道
icefishc 写道
你好,MetaQ的特点是什么呢? 是为了解决什么问题开发的它呢?

richard_2010 写道
请问这个和notify的区别是?


两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:

https://github.com/killme2008/Metamorphosis/wiki

谢谢, 值得我学习:)
还有一个问题, 他用的哪个License。 淘蝌蚪那个页面似乎有问题, 源码和文档的链接都指向了taobao主页。
能不能透露下这个项目总共用了多长时间来开发呢。 谢谢~

licence。。。。
4 楼 icefishc 2013-03-11 22:30
dennis_zane 写道
icefishc 写道
你好,MetaQ的特点是什么呢? 是为了解决什么问题开发的它呢?

richard_2010 写道
请问这个和notify的区别是?


两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:

https://github.com/killme2008/Metamorphosis/wiki

谢谢, 值得我学习:)
还有一个问题, 他用的哪个License。 淘蝌蚪那个页面似乎有问题, 源码和文档的链接都指向了taobao主页。
能不能透露下这个项目总共用了多长时间来开发呢。 谢谢~
3 楼 dennis_zane 2013-03-11 20:00
icefishc 写道
你好,MetaQ的特点是什么呢? 是为了解决什么问题开发的它呢?

richard_2010 写道
请问这个和notify的区别是?


两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:

https://github.com/killme2008/Metamorphosis/wiki
2 楼 icefishc 2013-03-11 19:52
你好,MetaQ的特点是什么呢? 是为了解决什么问题开发的它呢?
1 楼 richard_2010 2013-03-11 09:49
请问这个和notify的区别是?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 分布式消息中间件 MetaQ (庄晓丹)

    MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy。MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量...

  • 分布式消息中间件 MetaQ 作者庄晓丹专访

    分布式消息中间件 MetaQ 作者庄晓丹专访

  • Metamorphosis分布式消息中间件

    关于消息中间件,你应该听说过JMS(1)规范,以及一些开源实现,如ActiveMQ和HornetQ等。Metamorphosis也是其中之一。  Metamorphosis是一款完全的队列模型消息中间件,服务器使用Java语言编写,可在多种软硬件...

  • MetaQ消息中间件研究

    第一部分 MetaQ简介 ... MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy。MetaQ具有消息存储顺序写、吞...

  • metaq

    MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy。MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量...

  • 消息队列系列

    一个具体的消息只能由一个消费者消费。多个生产者可以向同一个消息队列发送消息;...消息队列目前主要 2 种模式, 分别为"点对点模式"和"发布/订阅模式"。单个消息可以被多个订阅者并发的获取和处理。.........

  • MetaQ技术内幕——源码分析(转)

    笔者最近在业务上需要使用到...MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,,MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志...

  • Kafka&MetaQ

    Memorphosis是一个消息中间件,它是linkedin开源MQ------kafka的Java版本,针对淘宝内部应用做了定制和优化。 Memorphosis做到了啥: 顺序(没做到,只能保证先进先出) 安全(部分如磁盘掉电会最多丢失1000条...

  • Kafka 消息队列 --1.JMS

    是一个 Java 平台中关于面向消息中间件的 API。用于在两个应用程序之间或 分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API。    JMS 干什么用:用来异构系统...

  • 外加热强制循环蒸发器装配图(CAD).rar

    外加热强制循环蒸发器装配图(CAD).rar

  • 数控车床纵向进给系统设计.zip

    数控车床纵向进给系统设计.zip

  • vault_side_off_ominous.png

    j

  • 爬虫 bangumi名称和评论数

    爬虫 bangumi名称和评论数

  • 基于SpringBoot的垃圾分类回收系统(源码+数据库+万字文档)526

    基于SpringBoot的垃圾分类回收系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览垃圾分类回收系统信息。 个人中心:管理个人信息,查看历史记录和订单状态。 运输管理:查看运输信息,垃圾回收的时间和地点。 公告管理:阅读系统发布的相关通知和公告。 垃圾回收管理:查看垃圾回收的信息,回收类型和进度。 垃圾出库申请管理:提交和查看垃圾出库申请的状态。 【管理员功能】 首页:查看垃圾分类回收系统。 个人中心:管理个人信息。 管理员管理:审核和管理注册管理员用户的信息。 用户管理:审核和管理注册用户的信息。 运输管理:监管和管理系统中的运输信息。 公告管理:发布、编辑和删除系统的通知和公告。 垃圾回收管理:监管和管理垃圾回收的信息。 垃圾出库申请管理:审批和管理用户提交的垃圾出库申请。 基础数据管理:管理系统的基础数据,运输类型、公告类型和垃圾回收类型。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

  • 这篇文章是台湾大学(NTU)计算机科学与信息工程系(CSIE)2021年秋季学期算法设计与分析课程的第一份作业(Homework#1)的具体要求和题目描述 以下是主要内容的总结:

    内容概要:本文档是台湾大学计算机科学与信息工程系2021年秋季学期《算法设计与分析》课程的第一次作业(Homework#1)。作业包含四道编程题和三道手写题,旨在考察学生对算法设计和分析的理解与应用能力。编程题涉及汉诺塔、数组计算、矩形点对、糖果分配等问题;手写题涵盖渐近符号证明、递归方程求解、幽灵腿游戏优化、不公平的卢卡斯问题等。文档详细描述了每个问题的具体要求、输入输出格式、测试用例以及评分标准。此外,还提供了编程技巧和注意事项,如避免延迟提交、正确引用资料、处理大输入文件等。 适合人群:具备一定编程基础的本科生或研究生,特别是修读过或正在修读算法设计与分析相关课程的学生。 使用场景及目标:①帮助学生巩固课堂所学的算法理论知识;②通过实际编程练习提高解决复杂问题的能力;③为后续更深入的学习和研究打下坚实的基础。 其他说明:此作业强调团队合作和个人独立思考相结合的重要性,鼓励学生在讨论后用自己的语言表达解决方案,并注明参考资料。对于编程题,特别提醒学生注意输入文件可能较大,建议采取适当的优化措施以确保程序运行效率。

  • 基于SpringBoot的铁路订票管理系统(源码+数据库+万字文档+ppt)528

    基于SpringBoot的铁路订票管理系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览铁路订票管理系统的主要信息。 火车信息:查看火车的相关信息,包括车次、出发地、目的地和票价等。 公告资讯:阅读系统发布的相关通知和资讯。 后台管理:进行系统首页、个人中心、车票预订管理、车票退票管理等操作。 个人中心:管理个人信息,查看订单历史记录等。 【管理员功能】 首页:查看铁路订票管理系统。 个人中心:修改密码、管理个人信息。 用户管理:审核和管理注册用户的信息。 火车类型管理:管理系统中的火车类型信息。 火车信息管理:监管和管理系统中的火车信息,添加、编辑、删除等。 车票预订管理:处理用户的车票预订请求。 车票退票管理:处理用户的车票退票请求。 系统管理:管理系统的基本设置,公告资讯、关于我们、系统简介和轮播图管理。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

  • 塑料架注射模具设计.rar

    塑料架注射模具设计.rar

  • 基于json文件数据驱动的的接口测试框架.zip

    基于json文件数据驱动的的接口测试框架

  • 铁丝缠绕包装机设计-缠绕盘设计.rar

    铁丝缠绕包装机设计-缠绕盘设计.rar

  • Linux操作系统及常用命令详解.zip

    linux

Global site tag (gtag.js) - Google Analytics