# 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