v3.4.2-stable

System Architecture

Technical blueprint of FlowCMS's headless, API-first infrastructure. Designed for horizontal scaling, multi-region deployment, and developer-centric workflows.

High-Level Architecture

🌐
Client Apps
Web, Mobile, IoT, Static
🌍
Edge CDN
CloudFlare / Fastly
🔀
API Gateway
Rate Limit, Auth, Routing
⚙️
Microservices
Content, AI, Webhooks
💾
Data Stores
PostgreSQL, Redis, S3

FlowCMS utilizes a strictly decoupled headless architecture. All content is served via stateless REST & GraphQL endpoints. The edge layer handles caching, DDoS protection, and JWT validation before requests hit the core services. Multi-region active-active deployment ensures sub-50ms global latency.

Core Services

Content Engine API

GraphQL & REST endpoints for schema definition, content modeling, and version-controlled publishing. Supports real-time subscriptions via WebSockets.

Asset Pipeline Storage

Automated image/video optimization. WebP/AVIF conversion, CDN distribution, and metadata extraction. Stored in S3-compatible object storage.

AI Processing ML

Serverless inference cluster for auto-tagging, SEO scoring, content summarization, and multi-language translation using fine-tuned LLMs.

Auth & RBAC Security

JWT/OAuth2.0 with role-based access control. Supports SAML SSO, audit logging, IP allowlisting, and encrypted secret management.

Request Lifecycle

1

Client Request

Frontend application sends authenticated GraphQL/REST request to regional edge node.

2

Edge Validation

CDN validates JWT, applies rate limits, and checks cache layer. Cache hits return immediately.

3

Gateway Routing

API Gateway decrypts request, resolves tenant ID, and routes to appropriate microservice instance.

4

Service Execution

Content service queries PostgreSQL + Redis cache. AI hooks trigger asynchronously if configured.

5

Response & Cache

Payload is serialized, edge-cached with TTL, and returned. Webhooks fire for mutations.

API Schema Example

POST /api/v3/graphql
query { content(type: "blog_post", limit: 10) { id title slug status publishedAt }
}

// Response Structure
{
  "data": {
    "content": [
      {
        "id": "cnt_8f9a2b3c",
        "title": "FlowCMS Architecture Deep Dive",
        "slug": "/blog/architecture-deep-dive",
        "status": "published",
        "publishedAt": "2025-04-12T08:30:00Z"
      }
    ]
  }
}
MethodEndpointDescriptionAuth
GET/v3/content/{type}Retrieve content list with paginationRead Token
POST/v3/content/publishPush draft to production cacheWrite Token
PUT/v3/assets/{id}Replace media assetAdmin Token
GET/v3/audit-logsFetch system event historySSO Admin

Infrastructure Stack

RuntimeGo 1.21 + Rust
DatabasePostgreSQL 15
CacheRedis Cluster
QueueKafka / NATS
StorageS3 / MinIO
OrchestrationKubernetes
ObservabilityOpenTelemetry
EdgeCloudFlare Workers