Relay Domain Context
What Is Relay?
Relay handles events, notifications, and data feeds across the Violet platform. It's the central nervous system for asynchronous communication.
Core Capabilities
Event Processing
- Kafka-based event streaming
- Event routing and transformation
- Dead letter queue handling
- Event replay capabilities
Notifications
- Webhook delivery to external systems
- Email notifications
- In-app notifications
- Notification preferences management
Feed Management
- Product feed generation
- Order feed updates
- Inventory feed synchronization
- Custom feed formats
Key Kafka Topics
| Topic Pattern | Purpose |
|---------------|---------|
| orders.order.* | Order lifecycle events |
| products.product.* | Product update events |
| merchants.merchant.* | Merchant account events |
| fulfillment.* | Fulfillment tracking events |
| inventory.* | Stock level changes |
Event Schema Pattern
{
"event_type": "order.created",
"event_id": "uuid",
"timestamp": "2024-01-01T00:00:00Z",
"version": "1.0",
"payload": {
"order_id": 12345,
"app_id": 67890
},
"metadata": {
"source": "OrderService",
"correlation_id": "uuid"
}
}
Key Repositories
| Repo | Purpose |
|------|---------|
| FeedManagementService | Feed generation and delivery |
| NotificationService | Notification routing |
| EventBridge | Event processing infrastructure |
Integration Points
- Beam: Receives fulfillment events, sends order confirmations
- Prism: Receives order events, sends inventory updates
- Channels: Webhook delivery for order/fulfillment updates
- Merchants: Store update notifications
Scan to join WeChat group