Skip to content

rocketmq行为抽象,支持自动创建topic,自动创建、启动生产者消费者

Notifications You must be signed in to change notification settings

chq1024/rocketmq-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

rocketmq-helper

项目基于rocketmq5.x,简化rocketmq的操作,使用者关注于配置文件和listener,handler,checker等具体的业务处理;

目录说明:

  1. ab 抽象工厂和接口,如生产者、消费者工厂,消息工厂等
    a. factory 工厂具体实现
  2. anno 注解包,用于handler,listener识别
  3. conf 配置包,用于读取yaml配置,自定义实体,自定义枚举,redis配置等
  4. mock 模拟项目的使用,主要是生产者发送消息
  5. runner 启动类,在springboot启动时顺序执行,用于生产者、消费者启动和配置加载
  6. utils 工具类

优点:

  1. 项目大量使用抽象、工厂、单例等模式,适配度较高
  2. 能够自动创建topic(使用了rocketmq-admin,见runner/AutoRunning)
  3. 流程自动化,提供push、simple等消费者实现,支持普通、事务、顺序消息,暂未支持延迟消息,后续+

缺点:

  1. 理想中是想支持事务消息,并且同时支持顺序消息,但rocketmq5.x不支持,4.x应该也不行,在找一个合适的解决方案,目前想到的 解决方案可能得修改消息结构,提供一张本地消息表和业务共处于一个事务,通过消息中body中的messageId来控制循序,下游再用rocketmq 事务消息消费,但这并不是一个好的解决方案;
  2. 生产者,simple消费者暂时都是单例,未提供生产者组或消费者组,simple消费者组感觉上需要用上4.x的手动提交位点,但5.x最佳实践 的意思是单例,使用多线程处理消息,也是项目中目前的做法;

后续更新:

  1. 提供可视化操作台,减少或避免在yaml中配置
  2. 增加延迟消息类型支持
  3. 简化代码
  4. 提供start

About

rocketmq行为抽象,支持自动创建topic,自动创建、启动生产者消费者

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages