# DataSyncSDK **Repository Path**: JustDoItAlways/datasyncSDK ## Basic Information - **Project Name**: DataSyncSDK - **Description**: 数据同步mq消息生产消费SDK - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-10 - **Last Updated**: 2026-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartECIF DataSync MQ SDK 一个通用的消息队列SDK,支持Kafka、RocketMQ、CMQ等多种消息队列,提供统一的生产和消费接口。 ## 特性 - **多MQ支持**:Kafka、RocketMQ、CMQ无缝切换 - **顺序消息**:保证同一Key的消息顺序性 - **幂等消费**:自动幂等校验,防止重复消费 - **消息追踪**:完整的发送和消费日志记录 - **消费回执**:消费成功后发送回执给生产者 - **延迟消息**:支持延迟发送 - **批量处理**:批量发送和消费提升性能 - **Spring Boot**:自动配置,开箱即用 ## 快速开始 ### 1. 添加依赖 ```xml com.smartecif datasync-mq-service 1.0.0-SNAPSHOT ``` ### 2. 配置MQ ```yaml mq: type: kafka app-name: ${spring.application.name} producer: group: my-producer-group consumer: group: my-consumer-group orderly: true kafka: bootstrap-servers: localhost:9092 ``` ### 3. 发送消息 ```java @Autowired private MQProducerService producerService; public void sendOrder(OrderMessage order) { Message message = Message.builder() .messageId(MessageIdGenerator.generate()) .businessKey("ORDER:" + order.getOrderId()) .topic("order-topic") .partitionKey(order.getOrderId()) .payload(order) .build(); producerService.sendWithKey(message); } ``` ### 4. 消费消息 ```java @Component public class OrderMessageListener implements MessageListener { @Override public ConsumeResult consume(Message message) { OrderMessage order = message.getPayload(); // 处理订单 processOrder(order); return ConsumeResult.success(); } @Override public Class getMessageType() { return OrderMessage.class; } @Override public String getTopic() { return "order-topic"; } @Override public String getConsumerGroup() { return "order-consumer-group"; } } ``` ## 项目结构 ``` smartecif-datasync-sdk ├── datasync-mq-core # 核心模块 ├── datasync-mq-producer # 生产者模块 ├── datasync-mq-consumer # 消费者模块 ├── datasync-mq-service # Service模块(Spring Boot Starter) ├── datasync-mq-example # 示例应用 └── docs # 文档 ``` ## 文档 - [使用文档](docs/使用文档.md) - [设计文档](docs/设计文档.md) ## 数据库表 执行 [schema.sql](datasync-mq-example/src/main/resources/db/schema.sql) 创建必要的表。 ## 版本要求 - JDK 21+ - Spring Boot 3.2+ - Kafka 3.6+ / RocketMQ 5.1+ / CMQ 1.0+ ## License Apache License 2.0