What problem does it solve?
This Skill provides guidance on selecting the right message broker, designing effective messages, implementing robust producer and consumer patterns, and managing schema evolution for reliable asynchronous communication.
Core Features & Use Cases
- Broker Selection: Compares Kafka, RabbitMQ, NATS, Pulsar, and Redis Pub/Sub based on features like throughput, latency, persistence, and multi-tenancy.
- Message Design: Defines a standard JSON message structure with fields for ID, type, source, timestamp, version, data, and metadata.
- Producer/Consumer Patterns: Details delivery guarantees (at-most-once, at-least-once, exactly-once) and error handling strategies (retry, DLQ, skip).
- Broker-Specific Guidance: Offers specific patterns for NATS (subjects, queue groups, JetStream streams) and Pulsar (tenants, namespaces, subscription modes).
- Schema Evolution: Outlines strategies for backward compatibility and safe migration.
- Monitoring: Lists key metrics and alert thresholds for message processing.
- Use Case: When building a microservices architecture that needs to communicate asynchronously, use this Skill to choose between Kafka and RabbitMQ based on your specific needs for ordering and routing, and to implement reliable message processing with dead-letter queues.
Quick Start
Use the messaging skill to compare Kafka and RabbitMQ for event streaming use cases.