欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

分布式消息中间件MetaQ发布1.4.5

程序员文章站 2022-07-13 08:30:08
...

 分布式消息中间件MetaQ发布1.4.5

P.S. 这是我个人从淘宝开源的MetaQ 1.x版本发展起来的github分支,与目前淘宝开源的MetaQ 2.0的发展方向不同。

 

分布式消息中间件MetaQ发布1.4.5版本。主要改进如下:

 

1.新功能:

  • MetaQ终于有了一个Web管理平台,默认访问http://[host]:8120即可访问管理平台。使用管理平台可以查询本机和集群信息,查询Topic信息以及某个消费分组的消费信息,查询日志信息,重载配置文件等。P.S. 整个管理平台是使用Clojure语言编写的。
  • 大幅度改进XA事务实现(两阶段提交协议支持分布式事务),消除了原来无法运作在broker集群的限制。
  • 提供了全新的Spring框架支持API,简化Java客户端配置和编程,具体见Spring框架支持
  • 新增TopicBrowser API,用于遍历某个Topic下的所有消息。
  • 改动同步复制,在slave写入失败情况下将自动移除master,并且自动检测恢复。
  • 改进对Storm框架支持,升级spout支持storm 0.8 API。

2.API改进:

  • Message消息对象新增setRollbackOnly()方法,用于主动回滚消息。
  • ConsumerConfig消费者配置新增方法setConsumeFromMaxOffset(boolean always)用于设置是否每次consumer启动都从最新位置开始消费。
  • 新增分区选择器RandomPartitionSelector,用于随机发送消息。
  • 当消息发送失败,提供更详细的错误信息,包括服务器地址,分区号,topic等等。
  • XAMessageProducer新增setUniqueQualifier方法用于设置全局唯一标识符。
  • MessageSessionFactory新增方法createTopicBrowser用于创建TopicBrowser
  • Spring框架支持相关API。

3.配置和脚本变更:

  • 服务端新增配置项dashboardHttpPort用于设置web管理平台的HTTP端口,默认是8120端口。
  • 同步复制Master配置新增三个选项:
    #发送到slave的消息超时时间,单位毫秒
    sendToSlaveTimeoutInMills=2000
    #发送到Slave消息连续失败次数阈值,超过这个数值将会自动把master从zookeeper移除并在后台做检测
    #当检测slave成功恢复,将自动注册master到zookeeper。
    slaveContinuousFailureThreshold=100
    #检测slave恢复的时间间隔,单位毫秒。
    checkSlaveIntervalInMills=100
    
  • Java客户端新增环境变量metaq.client.loopback.connection.enable,用于设置对于本机服务器,是否优先使用网络回路连接,节省带宽。默认不启用。
  • env.sh新增选项export enableHttp=false,用于设置服务端是否启用HTTP RESTFull接口。如果启用,用户可以通过HTTP方式发送或者消费消息。
  • 添加locaMetaServer.bat脚本,用于windows环境下启动内嵌zookeeper模式的MetaQ服务器。
  • 移除服务端diamond相关配置。

4.其他改进:

  • 提供了详细的Java客户端用户指南
  • 移除了一些不再需要的淘宝类库依赖。
  • 修复Javadoc乱码问题,新的文档看这个
  • 升级gecko到1.1.3版本,修复并发隐患。
  • 升级aviator到2.3.0版本。
  • 部分bug修复。
  • 改进分布式事务,改进spring框架支持例子。

5.升级指南:

  • 服务端和客户端都保持向前兼容。但是如果你是从1.4.3之前版本升级上来的,请先升级服务端,再升级客户端。
  • 服务端可无缝升级,如果你同一台机器跑了多个broker,需要明确配置每个broker的dashboardHttpPort,防止冲突。
  • 客户端也可以无缝升级,推荐使用Spring框架的朋友采用新API来简化编程。

Java客户端Maven引用:

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

 

 

下载地址:http://code.google.com/p/meta-queue/downloads/list

项目主页: https://github.com/killme2008/Metamorphosis

项目文档: https://github.com/killme2008/Metamorphosis/wiki

 

谢谢,欢迎反馈意见。