Mobile Event Personalization Service
Event-based personalization service for Mobile Engage campaigns using V3 Personalization Service (event/PubSub-based). This service receives contact level personalization requests via Pub/Sub, processes them through the Personalization Service, and handles the results or errors accordingly.
The service implements three core processes:
-
Request Publishing - Batches and sends personalization requests (batch and/or transactional)
-
Results Handling - Processes successful personalizations and forwards to downstream services
-
Errors Handling - Manages failures with retry logic and error reporting
Features
-
Pipeline-based processing with composable steps
-
Channel abstraction for multiple communication channels (Push, Embedded Messaging)
-
Batch and transactional processing modes
-
Message batching and grouping
-
Graceful shutdown with configurable grace period
-
Automatic retry with exponential backoff
-
Retry count tracking and validation
-
Error alerting per channel
-
Permanent vs retryable error classification
-
Manual republishing tool for transient errors
-
Campaign/Template caching with LRU and TTL
-
OpenTelemetry metrics (processing duration and batch size)
-
Structured logging with zerolog
-
Campaign and customer abort/cancellation support
-
Multiple distribution groups support
-
Downstream service integration
Operations
-
The Operations & Error Handling for the service.
Architecture
-
The Architecture of the service.