MCPcopy Index your code
hub / github.com/FinVolution/pmq

github.com/FinVolution/pmq @5.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 5.0.0 ↗ · + Follow
6,555 symbols 23,763 edges 637 files 244 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PMQ 拍拍贷微服务消息队列介绍

PMQ是拍拍贷自研的一款轻量级分布式消息队列,能够保证消息的不丢失,具有部署和运维简单的特性。消息队列采用mysql数据库进行消息存储,能够非常方便和简单的进行水平扩展。

消息队列基于Spring Boot开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

消息队列原生客户端不依赖任何框架,能够运行于所有Java1.8+运行时环境,同时对Spring Mvc/Spring Boot环境也有额外支持。

详细设计和部署文档,请参考 快速部署

Screenshots

PMQ交互图

Features

消息队列具有以下特点:

  1. 支持动态重平衡
  2. 支持动态修改偏移量
  3. 支持动态修改线程数
  4. 支持动态修改延迟时间
  5. 支持动态设置黑白名单
  6. 支持动态修改批量消费条数
  7. 支持消息发送令牌防止乱发
  8. 支持动态启停消费
  9. 支持自助创建topic,自助扩容
  10. 支持自助创建消费者组
  11. 支持自助添加和解除绑定topic
  12. 支持一个应用订阅多个消费者组
  13. 失败消息重新消费
  14. 支持消息无缝迁移

PMQ技术交流群

QQ

参考资料

相关文档请参考 ppt在线介绍

Extension points exported contracts — how you extend this code

RedundanceCheckService (Interface)
冗余字段检查接口 [12 implementers]
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/service/RedundanceCheckService.java
IMqClientService (Interface)
(no doc) [19 implementers]
mq-client/mq-client-core/src/main/java/com/ppdai/infrastructure/mq/client/core/IMqClientService.java
ISubscriberSelector (Interface)
(no doc) [6 implementers]
mq-client/mq-core/src/main/java/com/ppdai/infrastructure/mq/biz/event/ISubscriberSelector.java
UserService (Interface)
(no doc) [2 implementers]
mq-ui/src/main/java/com/ppdai/infrastructure/ui/spi/UserService.java
CacheUpdateService (Interface)
(no doc) [12 implementers]
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/service/CacheUpdateService.java
IMqTopicQueueRefreshService (Interface)
(no doc) [6 implementers]
mq-client/mq-client-core/src/main/java/com/ppdai/infrastructure/mq/client/core/IMqTopicQueueRefreshService.java
PreHandleListener (Interface)
(no doc) [6 implementers]
mq-client/mq-core/src/main/java/com/ppdai/infrastructure/mq/biz/event/PreHandleListener.java
UserProviderService (Interface)
(no doc) [2 implementers]
mq-ui/src/main/java/com/ppdai/infrastructure/ui/spi/UserProviderService.java

Core symbols most depended-on inside this repo

get
called by 1902
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/service/common/BaseService.java
call
called by 645
mq-ui/src/main/java/com/ppdai/infrastructure/ui/service/CatDataService.java
put
called by 505
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/service/common/MqReadMap.java
add
called by 492
mq-client/mq-core/src/main/java/com/ppdai/infrastructure/mq/biz/common/trace/TraceMessage.java
getProperty
called by 344
mq-client/mq-core/src/main/java/com/ppdai/infrastructure/mq/biz/common/trace/CatContext.java
isEmpty
called by 263
mq-client/mq-core/src/main/java/com/ppdai/infrastructure/mq/biz/common/util/Util.java
remove
called by 250
mq-ui/src/main/java/com/ppdai/infrastructure/ui/service/UiQueueService.java
equals
called by 206
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/dto/UserInfo.java

Shape

Method 4,062
Function 1,858
Class 553
Interface 77
Enum 5

Languages

Java72%
TypeScript28%

Modules by API surface

mq-ui/src/main/resources/static/js/echarts.min.js1,273 symbols
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/common/SoaConfig.java137 symbols
mq-client/mq-client-core/src/test/java/com/ppdai/infrastructure/mq/client/core/impl/MqQueueExcutorServiceTest.java80 symbols
mq-ui/src/main/resources/static/js/jquery-1.11.1.min.js75 symbols
mq-client/mq-client-core/src/main/java/com/ppdai/infrastructure/mq/client/MqClient.java68 symbols
mq-ui/src/main/resources/static/layui/layui.all.js66 symbols
mq-ui/src/main/resources/static/layui/lay/modules/jquery.js66 symbols
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/entity/ConsumerGroupEntity.java53 symbols
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/entity/TopicEntity.java51 symbols
mq-client/mq-client-core/src/main/java/com/ppdai/infrastructure/mq/client/core/impl/MqQueueExcutorService.java50 symbols
mq-client/mq-client-core/src/test/java/com/ppdai/infrastructure/mq/client/resource/MqResourceTest.java49 symbols
mq-biz/src/main/java/com/ppdai/infrastructure/mq/biz/service/impl/ConsumerServiceImpl.java47 symbols

Datastores touched

(mysql)Database · 1 repos
mq_basicDatabase · 1 repos
information_schemaDatabase · 1 repos

For agents

$ claude mcp add pmq \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact