Commit Graph
5 Commits
Author SHA1 Message Date
chrislu d415911943 mq(kafka): Phase 3 Step 1 - Consumer Group Foundation
- Implement comprehensive consumer group coordinator with state management
- Add JoinGroup API (key 11) for consumer group membership
- Add SyncGroup API (key 14) for partition assignment coordination
- Create Range and RoundRobin assignment strategies
- Support consumer group lifecycle: Empty -> PreparingRebalance -> CompletingRebalance -> Stable
- Add automatic member cleanup and expired session handling
- Comprehensive test coverage for consumer groups, assignment strategies
- Update ApiVersions to advertise 9 APIs total (was 7)
- All existing integration tests pass with new consumer group support

This provides the foundation for distributed Kafka consumers with automatic
partition rebalancing and group coordination, compatible with standard Kafka clients.
2025-09-10 13:34:28 -07:00
chrislu 5aee693eac mq(kafka): Phase 2 - implement SeaweedMQ integration
- Add AgentClient for gRPC communication with SeaweedMQ Agent
- Implement SeaweedMQHandler with real message storage backend
- Update protocol handlers to support both in-memory and SeaweedMQ modes
- Add CLI flags for SeaweedMQ agent address (-agent, -seaweedmq)
- Gateway gracefully falls back to in-memory mode if agent unavailable
- Comprehensive integration tests for SeaweedMQ mode
- Maintains full backward compatibility with Phase 1 implementation
- Ready for production use with real SeaweedMQ deployment
2025-09-10 13:20:31 -07:00
chrislu 23aac0619b mq(kafka): implement comprehensive E2E tests with protocol-level validation, multi-client support, and stress testing; complete Phase 1 implementation 2025-09-10 12:59:42 -07:00
chrislu 7c4a5f546c mq(kafka): implement ApiVersions protocol handler with manual binary encoding and comprehensive unit tests 2025-09-10 11:21:52 -07:00
chrislu 8c74de6f6e test(kafka): add integration smoke tests under test/kafka and server Addr() for dialing 2025-09-10 11:13:29 -07:00