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 messages
is only supported inrocketmq 5.0
and above - Redis
Send timed/delay messages
requires Redis to enablenotify-keyspace-events Ex
notification.
Can be referred to loki-test