|
1 | 1 | # Eventing |
2 | 2 |
|
3 | | -[Documentation Status](https://python-eventing.readthedocs.io/en/latest/?badge=latest) |
| 3 | +[Documentation Status](https://messagekit.readthedocs.io/en/latest/?badge=latest) |
4 | 4 | [Tests](https://github.com/firstunicorn/messagekit/actions) |
5 | 5 | [Python](https://www.python.org/downloads/) |
6 | 6 | [License](LICENSE) |
|
21 | 21 |
|
22 | 22 | Package-first universal event infrastructure for microservices. |
23 | 23 |
|
24 | | -📚 **[Full Documentation](https://python-eventing.readthedocs.io/en/latest/)** - Comprehensive guides and API reference |
| 24 | +📚 **[Full Documentation](https://messagekit.readthedocs.io/en/latest/)** - Comprehensive guides and API reference |
25 | 25 |
|
26 | 26 | ## Installation |
27 | 27 |
|
@@ -102,18 +102,18 @@ Support scale: `❌` none, `✅` basic, `✅✅` strong, `✅✅✅` first-class |
102 | 102 |
|
103 | 103 | ## Documentation |
104 | 104 |
|
105 | | -📖 **[Integration Guide](https://python-eventing.readthedocs.io/en/latest/integration-guide.html)** - Step-by-step integration instructions |
| 105 | +📖 **[Integration Guide](https://messagekit.readthedocs.io/en/latest/integration-guide.html)** - Step-by-step integration instructions |
106 | 106 |
|
107 | | -🔍 **[API Reference](https://python-eventing.readthedocs.io/en/latest/autoapi/index.html)** - Complete API documentation |
| 107 | +🔍 **[API Reference](https://messagekit.readthedocs.io/en/latest/autoapi/index.html)** - Complete API documentation |
108 | 108 |
|
109 | | -📋 **[Event Catalog](https://python-eventing.readthedocs.io/en/latest/event-catalog.html)** - Available event types and contracts |
| 109 | +📋 **[Event Catalog](https://messagekit.readthedocs.io/en/latest/event-catalog.html)** - Available event types and contracts |
110 | 110 |
|
111 | 111 | ### Key topics |
112 | 112 |
|
113 | | -- [Transactional Outbox Pattern](https://python-eventing.readthedocs.io/en/latest/transactional-outbox.html) - Guaranteed event delivery (PRIMARY) |
114 | | -- [Cross-Service Communication](https://python-eventing.readthedocs.io/en/latest/cross-service-communication.html) - Database isolation, Kafka/RabbitMQ architecture, production deployment |
115 | | -- [Idempotent Consumers](https://python-eventing.readthedocs.io/en/latest/consumer-transactions.html) - Duplicate message handling |
116 | | -- [Health Checks](https://python-eventing.readthedocs.io/en/latest/autoapi/eventing/infrastructure/health/index.html) - Monitoring outbox and broker status |
| 113 | +- [Transactional Outbox Pattern](https://messagekit.readthedocs.io/en/latest/transactional-outbox.html) - Guaranteed event delivery (PRIMARY) |
| 114 | +- [Cross-Service Communication](https://messagekit.readthedocs.io/en/latest/cross-service-communication.html) - Database isolation, Kafka/RabbitMQ architecture, production deployment |
| 115 | +- [Idempotent Consumers](https://messagekit.readthedocs.io/en/latest/consumer-transactions.html) - Duplicate message handling |
| 116 | +- [Health Checks](https://messagekit.readthedocs.io/en/latest/autoapi/eventing/infrastructure/health/index.html) - Monitoring outbox and broker status |
117 | 117 |
|
118 | 118 | **Architecture note**: This package handles the **write side** of the outbox pattern (persisting events transactionally with business data). **Publishing** is delegated to Kafka Connect with Debezium CDC, which captures outbox table changes and publishes to Kafka. The **bridge component** (part of standard architecture) forwards events from Kafka to RabbitMQ for services preferring AMQP. Dead letter handling leverages native broker mechanisms (RabbitMQ DLX, Kafka Connect DLQ SMT) with a minimal bookkeeping consumer to maintain database failed-event flags. |
119 | 119 |
|
@@ -196,7 +196,7 @@ flowchart LR |
196 | 196 | - **Publish Phase**: ✅ At-least-once (CDC retries on failure) |
197 | 197 | - **Consume Phase**: ✅ Exactly-once (idempotency via processed message store in consumer's database) |
198 | 198 |
|
199 | | -📖 **[Cross-Service Communication Guide](https://python-eventing.readthedocs.io/en/latest/cross-service-communication.html)** - Detailed explanation with production deployment patterns |
| 199 | +📖 **[Cross-Service Communication Guide](https://messagekit.readthedocs.io/en/latest/cross-service-communication.html)** - Detailed explanation with production deployment patterns |
200 | 200 |
|
201 | 201 | ### Database isolation and event flow |
202 | 202 |
|
@@ -465,7 +465,7 @@ async def startup(): |
465 | 465 | app.state.event_bus = event_bus |
466 | 466 | ``` |
467 | 467 |
|
468 | | -**CDC Publishing:** Kafka Connect with Debezium CDC automatically detects outbox table changes and publishes to Kafka. See [`debezium-cdc-architecture.md`](https://python-eventing.readthedocs.io/en/latest/debezium-cdc-architecture.html) for configuration. |
| 468 | +**CDC Publishing:** Kafka Connect with Debezium CDC automatically detects outbox table changes and publishes to Kafka. See [`debezium-cdc-architecture.md`](https://messagekit.readthedocs.io/en/latest/debezium-cdc-architecture.html) for configuration. |
469 | 469 |
|
470 | 470 | ## Quick Start: Transactional Outbox |
471 | 471 |
|
|
0 commit comments