Read in other languages: 简体中文
Unified message sending and consumption framework that simplifies the use of message queues. Provides unified message sending and consumption interfaces, supports multiple message queue implementations, and currently supports RocketMQ 4.x and above, Kafka 2.x and above, and Redis 5.X and above
https://guoshiqiufeng.github.io/loki-doc/en/
- Java 21
- Gradle 8.8
- Spring Boot 2.7.18
- rocketmq-client 5.2.0
- rocketmq-client-java 5.0.7 (RocketMQ-grpc)
- kafka-clients 3.7.0
- jedis 5.1.3
- spring-data-redis (Optional)
- Available - ✅
- In progress - 🚧
| Features | Rocketmq-gRPC | Rocketmq-Remoting | Kafka | Redis |
|---|---|---|---|---|
| 【BaseMapper】Send standard messages | ✅ | ✅ | ✅ | ✅ |
| 【BaseMapper】Send async messages | ✅ | ✅ | ✅ | ✅ |
| 【BaseMapper】Send timed/delay messages | ✅ | ✅ | 🚧 | ✅ |
| 【LokiClient】Send standard messages | ✅ | ✅ | ✅ | ✅ |
| 【LokiClient】Send async messages | ✅ | ✅ | ✅ | ✅ |
| 【LokiClient】Send timed/delay messages | ✅ | ✅ | 🚧 | ✅ |
| Producer with transactional messages | 🚧 | 🚧 | 🚧 | 🚧 |
| 【Topic】 consumer with message listener | ✅ | ✅ | ✅ | ✅ |
| 【Topic-Pattern】 consumer with message listener | 🚧 | 🚧 | ✅ | ✅ |
Note:
- Rocketmq-Remoting
Send timed/delay messagesis only supported inrocketmq 5.0and above - Redis
Send timed/delay messagesrequires Redis to enablenotify-keyspace-events Exnotification.
Can be referred to loki-test