XXL-MQ v1.4.0 | 轻量级分布式消息队列 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xuxueli
V2EX    程序员

XXL-MQ v1.4.0 | 轻量级分布式消息队列

  •  1
     
  •   xuxueli 170 天前 1643 次点击
    这是一个创建于 170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Release Notes:

    • 1 、 [重构] XXL-MQ 核心代码重构,基于“存算分离”与“分区机制”设计思想。在轻量级、分布式的基础上,强化高吞吐、海量消息及水平扩展能力。;
    • 2 、 [新增] 存算分离:消息中心( Broker )与消息存储层( Store )解耦。消息中心 提供消息 OpenApi 以及消息控制台管理能力;消息存储层 提供消息存储能力。得益于存算分离系统设计,消息中心支持水平扩展,支持线性提升消息吞吐及存储能力。
    • 3 、 [新增] 分区机制:针对消息数据进行分区路由计算及隔离,结合在线消费者进行 “分区动态平衡分配”(每个消费者分配负责分区区间),实现消费者与消息数据的灵活路由绑定。基于分区机制,灵活实现并行、串行、分片、Hash 、广播...等多消息类型,保障系统高吞吐特性。
    • 4 、 [增强] 扩展支持多消息类型:
      • 并行消息:多个消费者并行消费数据,支持轮询或随机策略。适用于消息吞吐量较大的业务场景,如邮件发送、日志记录等。
      • 串行消息:同一时刻只有一个消费者消费数据,消息按照生产顺序 FIFO 串行消费。适用于有串行消费诉求的业务场景,如秒杀、抢单等场景;
      • 分片消息:支持根据业务参数进行 Hash 分片,相同分片的消息数据路由至同一个消费者 FIFO 串行消费,不同分片的消息数据路由至不同消费者并行执行。适用于有根据业务参数分片消费的业务场景,如短信发送,可实现同一个手机号(业务参数)的消息路由至单个消费者串行消息,同时全局消息分片并行消费。
      • 广播消息:消息发送后,广播发送给相关主题全部在线消费者。适用于广播消息场景,如广播通知、广播更新缓存等;
      • 延时消息:支持设置消息的延迟生效时间,到达设置的生效时间时该消息才会被消费。适用于延时消费场景,如订单超时取消、定时发送邮件等;
      • 失败重试消息:支持设置消息的失败重试次数,自定义重试间隔侧路,消息失败时会主动进行重试消费,直至重试次数耗尽或者消费成功。
    • 5 、 [增强] 海量消息:消息存储基于 DB 实现,支持 Mysql 、Blade 多存储介质;消息存储进行冷热设计,并滚动式清理归档,支持海量消息堆积( Mysql 存储支持千万级; Blade 存储支持 10 亿级/理论无上限)。
    • 6 、 [新增] 超时控制: 支持自定义消息超时时间,消息消费超时将会主动中断;
    • 7 、 [新增] 跨语言/OpenAPI:提供语言无关的消息中心 OpenAPI ( RESTFUL 格式),提供消息生产、拉取及消费等能力,实现多语言支持;
    • 8 、 [增强] 易用性提升: 一行代码即可发布一条消息,一行注解即可订阅一个消息主题,接入灵活方便;
    • 9 、 [增强] 消息可视化: 提供消息中心 Web 控制台,可在线管理消息主题、消息数据,查看消费数据及消费轨迹等;
    • 10 、 [新增] 容器化:提供官方 Docker 镜像,并实时更新推送 DockerHub ,进一步实现产品开箱即用;

    XXL-MQ 代码接入示例:

    步骤一:开发 “消费者( Consumer )” 代码

    @XxlMq("topic_sample") public void consume() { // 获取消息内容; String messageData = XxlMqHelper.getMessageData(); // 设置消息消费结果,可选;不设置时,默认为消费成功; XxlMqHelper.consumeSuccess(); } 

    步骤二:发送(生产)消息数据

    // 简单发送消息 XxlMqHelper.produce("topic_sample", "消息数据" ); // 指定延时生效时间 XxlMqHelper.produce("topic_sample", "消息数据", effectTime, ); 

    步骤三:消息 Topic 管理 (可选) 登陆 “XXL-MQ 消息中心” ,支持针对消息 Topic 进行管理维护,包括: “消息路由策略、归档清理策略、失败重试策略、超时时间控制” 等信息管理维护。 (说明:该步骤为可选操作。消费者服务启动后将会自动注册生成 Topic 信息,如果没有 Topic 信息定制修改诉求,可忽略该步骤。)

    XXL-MQ 消息中心:消息主题( Topic )管理; 在这里插入图片描述

    XXL-MQ 消息中心:消息主题( Topic )编辑; 在这里插入图片描述

    步骤四:消息数据管理(可选) 登陆 “XXL-MQ 消息中心” ,支持线上化管理维护消息数据,包括:“查询消费轨迹”、“消息数据清理”、“消息数据归档” 等管理操作。 在这里插入图片描述

    项目简介:

    XXL-MQ 是一个轻量级分布式消息队列,具备“轻量级、分布式、高吞吐(单机 TPS 10W+)、海量消息(亿级)” 等特性,支持 “并行消息、串行消息、分片消息、广播消息、延迟消息、失败重试消息”多消息类型,现已开放源代码,开箱即用。

    项目特性:

    • 1 、简单易用: 一行代码即可发布一条消息,一行注解即可订阅一个消息主题,接入灵活方便;
    • 2 、轻量级: 除存储层(可选,支持 MySQL/Blade ),无第三方依赖;部署及运维低成本、轻量级。
    • 3 、水平扩展:得益于存算分离系统设计,消息中心为无状态服务;消息中心( Broker )及消费者( Client )均支持集群扩展部署,线形提升消息生产及吞吐能力;
    • 4 、高可用/HA:消息中心内置注册发现能力,支持 Broker 服务以及 Topic 消费者动态注册;消息中心与消费者单节点故障时,可自动摘除故障节点,实现消息吞吐及消费故障转移;
    • 5 、高吞吐:消息生产及消费链路进行批量、并行及异步系统设计,消息存储进行冷数据及时清理归档设计,实现消息高吞吐( Mysql 存储单机吞吐 1W ; Blade 存储单机吞吐 10W )。
    • 6 、海量消息:消息存储基于 DB 实现,支持 Mysql 、Blade 多存储介质;消息存储进行冷热设计,并滚动式清理归档,支持海量消息堆积( Mysql 存储支持千万级; Blade 存储支持 10 亿级/理论无上限)。
    • 7 、存算分离:消息中心( Broker )设计为无状态服务,提供主题及消息控制台管理能力以及消息 RPC 服务能力,与消息存储层解耦;
    • 8 、跨语言/OpenAPI:提供语言无关的消息中心 OpenAPI ( RESTFUL 格式),提供消息生产、拉取及消费等能力,实现多语言支持;
    • 9 、实时性:消息中心与消费者基于 JsonRpc 进行吞吐消费,支持毫秒级生产投递、秒级消费感知,延迟消息基于时间轮机制支持零延迟消费感知;
    • 10 、消息持久化:消息数据默认持久化存储,并支持 Topic 维度自定义清理归档策略,灵活控制消息数据滚动归档清理;
    • 11 、分区路由策略:针对消息数据进行分区并路由消费者,提供丰富路由策略,包括:Hash 、轮询、随机、第一个、最后一个、广播;
    • 12 、归档策略:针对已消费完成数据滚动归档及清理,提供丰富归档策略,包括:归档保留 7 天、归档保留 30 天、归档保留 90 天、归档永久保留、不归档直接清理;
    • 13 、重试策略:针对消费失败消息,支持设置丰富重试策略,包括:固定间隔、线性间隔、随机间隔;
    • 14 、失败重试:针对消费失败消息,支持自定义重试次数、以及重试间隔基数,结合重试策略支持灵活消费失败重试,支持重试次数耗尽或者消费成功;
    • 15 、超时控制: 支持自定义消息超时时间,消息消费超时将会主动中断;
    • 16 、多消息类型:
      • 并行消息:多个消费者并行消费数据,支持轮询或随机策略。适用于消息吞吐量较大的业务场景,如邮件发送、日志记录等。
      • 串行消息:同一时刻只有一个消费者消费数据,消息按照生产顺序 FIFO 串行消费。适用于有串行消费诉求的业务场景,如秒杀、抢单等场景;
      • 分片消息:支持根据业务参数进行 Hash 分片,相同分片的消息数据路由至同一个消费者 FIFO 串行消费,不同分片的消息数据路由至不同消费者并行执行。适用于有根据业务参数分片消费的业务场景,如短信发送,可实现同一个手机号(业务参数)的消息路由至单个消费者串行消息,同时全局消息分片并行消费。
      • 广播消息:消息发送后,广播发送给相关主题全部在线消费者。适用于广播消息场景,如广播通知、广播更新缓存等;
      • 延时消息:支持设置消息的延迟生效时间,到达设置的生效时间时该消息才会被消费。适用于延时消费场景,如订单超时取消、定时发送邮件等;
      • 失败重试消息:支持设置消息的失败重试次数,自定义重试间隔侧路,消息失败时会主动进行重试消费,直至重试次数耗尽或者消费成功。
    • 17 、消息可视化: 提供消息中心 Web 控制台,可在线管理消息主题、消息数据,查看消费数据及消费轨迹等;
    • 18 、消息轨迹: 消费生产及消费轨迹日志会进行记录,并支持在线查看,辅助排查业务问题;
    • 19 、优先级:支持设置消息主题优先级,优先级越高,消费吞吐资源配置及保障越高;
    • 20 、消息失败告警:支持以 Topic 粒度监控消息,存在失败消息时主动推送告警邮件;默认提供邮件方式失败告警,同时预留扩展接口,可方面的扩展短信、钉钉等告警方式;
    • 21 、容器化:提供官方 Docker 镜像,并实时更新推送 DockerHub ,进一步实现产品开箱即用;
    • 22 、访问令牌( AccessToken ):为提升系统安全性,消息中心和消费者客户端进行安全性校验,校验 AccessToken 合法性;
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5883 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:08 PVG 10:08 LAX 18:08 JFK 21:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86