xxl-mq

分布式消息队列
授权协议 GPL
开发语言 Java
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 国产
投 递 者 羊刚捷
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

《分布式消息队列XXL-MQ》

XXL-MQ是一款轻量级分布式消息队列,支持 "并发消息、串行消息、广播消息、延迟消息、事务消息、失败重试、超时控制" 等消息特性。现已开放源代码,开箱即用。

特性

  • 1、简单易用: 一行代码即可发布一条消息; 一行注解即可订阅一个消息主题;
  • 2、轻量级: 部署简单,不依赖第三方服务,一分钟上手;
  • 3、消息中心HA:消息中心支持集群部署,可大大提高系统可用性,以及消息吞吐能力;
  • 4、消费者HA:消费者支持集群部署,保证消费者可用性;
  • 5、三种消息模式: 
    • 并行消息:消息平均分配在该主题在线消费者,分片方式并行消费;适用于吞吐量较大的消息场景,如邮件发送、短信发送等业务逻辑
    • 串行消息:消息固定分配给该主题在线消费者中其中一个,FIFO方式串行消费;适用于严格限制并发的消息场景,如秒杀、抢单等排队业务逻辑;
    • 广播消息:消息将会广播发送给该主题在线消费者分组,全部分组都会消费该消息,但是一个分组下只会消费一次;适用于广播场景,如广播更新缓存等
  • 6、延时消息: 支持设置消息的延迟生效时间, 到达设置的生效时间时该消息才会被消费;适用于延时消费场景,如订单超时取消等;
  • 7、事务性: 消费者开启事务开关后,消息事务性保证只会成功执行一次;
  • 8、失败重试: 支持设置消息的重试次数, 在消息执行失败后将会按照设置的值进行消息重试执行,直至重试次数耗尽或者执行成功;
  • 9、超时控制: 支持自定义消息超时时间,消息消费超时将会主动中断;
  • 10、吞吐量: 依赖于部署的消费中心集群和DB性能;DB可借助多表提升性能,不考虑DB的情况下,吞吐量可以无限横向扩展;可参考示例项目性能测试用例,单机TPS过万;
  • 11、消息可见: 系统中每一条消息可通过Web界面在线查看,甚至支持编辑消息内容和消息状态;
  • 12、消息可追踪: 支持追踪每一条消息的执行路径, 便于排查业务问题;
  • 13、消息失败告警:支持以Topic粒度监控消息,存在失败消息时主动推送告警邮件;默认提供邮件方式失败告警,同时预留扩展接口,可方面的扩展短信、钉钉等告警方式;
  • 14、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;

官方文档

技术交流

  • springboot整合xxl-mq学习笔记 首先xxl-mq是大神xuxueli开发的一个消息中间件框架: 与springboot整合过程: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/

  • Release Notes 1、client端与Broker长链初始化优化,防止重复创建连接。 2、POM多项依赖升级; 3、UI组件升级; 4、规范项目目录结构; 6、超时控制; 5、通讯迁移至 xxl-rpc; 6、除了springboot类型示例;新增无框架示例项目 "xxl-mq-samples-frameless"。不依赖第三方框架,只需main方法即可启动运行; 7、消息生产,兼容“异

  • 基础设施请采用docker部署, 关闭防火墙: systemctl stop firewalld &&\ systemctl disable firewalld docker安装 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.ali

  • 目录 简介 服务提供方 服务调用方 一. 简介 XXL-RPC 是一个分布式服务框架,提供稳定高性能的RPC远程服务调用功能。拥有"高性能、分布式、注册中心、负载均衡、服务治理"等特性。 官网地址:http://www.xuxueli.com/xxl-rpc/#/ 二.服务提供方 2.1 准备 引入xxl-rpc-core核心依赖与公共api接口依赖 <dependency> <group

  • 版本V1.1新特性 1、简单易用: 一行代码即可发布一条消息; 一行注解即可订阅一个消息主题; 2、部署简单: 除ZK之外不依赖第三方服务; 3、三种消息模式: TOPIC(广播消息)模型、QUEUE(并发队列)模型 和 SERIAL_QUEUE(串行队列)模型,下文将会详细讲解: 4、Broker集群、HA: Broker支持集群部署, 可大大提高系统可用性,以及消息吞吐能力; 5、吞吐量: 依

  • RocketMQ @Autowired @Qualifier(“生产者”) private RocketMQProducer producer; 消息的监听配置configuration与消费cosumer 组件xxl-job-core-2.3.0.jar,注解@XxlJob实现任务调度 elasticseach 引入org.elasticsearch.client @Configuration配

  • 领导安排指定xxl-job去控制消费者的消费,通过百度知道rabibtmq中注解autoStartup是可以控制消费者去消费的,默认是true,如果是false,队列可以接受数据,但是不消费,根据这个注解,我在xxl-job中配置一个开关 1.开启消费者的能力开关 同时将消费者中注解的 autoStartup属性置为rabbitmqFlag @RabbitListener(queues = {"$

 相关资料
  • Jboot 内置了对MQ消息队列的功能支持,使用MQ需要以下几步步骤。 第一步:配置jboot.properties文件,内容如下: # 默认为redis (支持: redis,activemq,rabbitmq,hornetq,aliyunmq等 ) jboot.mq.type = redis jboot.mq.channel = channel1,channel2,channel3 jboot

  • 主要内容:1 什么是MQ,2 为什么要用 MQ (作用、功能),3 MQ 的分类,4 MQ 的选择1 什么是MQ MQ(message queue),从字面意思来看,本质是一个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。 在互联网架构中,MQ 是一种非常常见的上下游 “逻辑解耦 + 物理解耦” 的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ ,不用依赖其他服务。 2 为什么要用 MQ (作用、功能)

  • System.Dead.Letter.Queue中有2条消息。我如何查看这些消息,以便能够看到它们有什么问题? 我在IBM的网站上读到,你可以这样做: 但是当我运行这个时,我会得到以下错误: 谢谢

  • 我们最近将应用程序从 Weblogic 迁移到了 JBOSS Fuse。作为此迁移的一部分,我们还必须将 JMS 实现更改为 Active MQ。由于某些约束,将请求发送到旧 Weblogic JMS 队列的客户端将无法进行更改以将请求发送到新的活动 MQ。有没有办法保持客户端不变(仅更改主机和端口以指向新服务器)并接收发送到Weblogic JMS队列的消息(当然没有weblogic服务器)并将

  • 本文向大家介绍使用MQ消息队列的优缺点详解,包括了使用MQ消息队列的优缺点详解的使用技巧和注意事项,需要的朋友参考一下 前言 公司的项目一直都是在使用MQ的,但是由于使用的功能很简单,所以一直都是知其然不知其所以然,作为一个程序猿有必要了解每一个使用的技术,为什么使用它?它的优点是什么?缺点是什么?等等。。。 使用mq的好处 解耦与复用 系统A要发送一个消息到多个系统,如果此时每增加一个系统,系统

  • 本文向大家介绍Python中线程的MQ消息队列实现以及消息队列的优点解析,包括了Python中线程的MQ消息队列实现以及消息队列的优点解析的使用技巧和注意事项,需要的朋友参考一下 “消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。相