Application Layer Services
All MCSP application services are stateless microservices deployed on Kubernetes. Session state is externalised to Redis; persistent state is held in Postgres. Services communicate synchronously via REST/gRPC for user-facing queries and asynchronously via Kafka for all stateful domain transitions.User & Auth Service
OAuth2/JWT issuance, session management, 2FA, RBAC enforcement.
Upload Service
Presigned URL generation, upload session management, draft saving, pipeline trigger.
Content Service
Content metadata CRUD, visibility management, publication status, search indexing.
Playback Service
Manifest URL generation, entitlement checks, DRM pre-auth, resume position lookup.
Engagement Service
Likes, comments, shares, view counts, watch history, playlists, creator subscriptions.
Subscription Service
Subscription lifecycle state machine, plan management, billing coordination.
Notification Service
Push, email, and in-app notification dispatch for creator and viewer events.
Creator Dashboard
Analytics, revenue data, payout settings, audience insights.
Admin Control Plane
User lifecycle management, moderation workflow, residency policy administration, audit access.
Service Characteristics
| Service | RPS Class | State | Primary Database | Kafka Topics Produced |
|---|---|---|---|---|
| User & Auth | High | Stateless | Postgres + Redis | — |
| Upload | Medium | Stateless | Postgres + Redis | media.upload.initiated |
| Content | High | Stateless | Postgres + Elasticsearch | media.published |
| Playback | Very High | Stateless | Postgres + Redis | — |
| Engagement | Very High | Stateless | Postgres + Redis | user.engagement.events, engagement.subscription.changed |
| Subscription | Medium | Stateless | Postgres | — |
| Notification | Medium | Stateless | Postgres | — |
| Creator Dashboard | Low–Medium | Stateless | Postgres + TimescaleDB | — |
| Admin Control Plane | Low | Stateless | Postgres + Audit Store | — |