architecture-paradigm-space-based
Applies data-grid architecture for high-traffic stateful workloads. Use when a single database cannot scale and in-memory partitioning is needed.
What this skill does
# The Space-Based Architecture Paradigm ## When To Use - High-traffic applications needing elastic scalability - Systems requiring in-memory data grids ## When NOT To Use - Low-traffic applications where distributed caching is overkill - Systems with strong consistency requirements over availability ## When to Employ This Paradigm - When traffic or state volume overwhelms a single database node. - When latency requirements demand in-memory data grids located close to processing units. - When linear scalability is required, achieved by partitioning workloads across many identical, self-sufficient units. ## Adoption Steps 1. **Partition Workloads**: Divide traffic and data into processing units, each backed by a replicated data cache. 2. **Design the Data Grid**: Select the appropriate caching technology, replication strategy (synchronous vs. asynchronous), and data eviction policies. 3. **Coordinate Persistence**: Implement a write-through or write-behind strategy to a durable data store, including reconciliation processes. 4. **Implement Failover Handling**: Design a mechanism for leader election or heartbeats to validate recovery from node loss without data loss. 5. **Validate Scalability**: Conduct load and chaos testing to confirm the system's elasticity and self-healing capabilities. ## Key Deliverables - An Architecture Decision Record (ADR) detailing the chosen grid technology, partitioning scheme, and durability strategy. - Runbooks for scaling processing units and for recovering from "split-brain" scenarios. - A monitoring suite to track cache hit rates, replication lag, and failover events. ## Risks & Mitigations - **Eventual Consistency Issues**: - **Mitigation**: Formally document data-freshness Service Level Agreements (SLAs) and implement compensation logic for data that is not immediately consistent. - **Operational Complexity**: - **Mitigation**: The orchestration of a data grid requires mature automation. Invest in production-grade tooling and automation early in the process. - **Cost**: - **Mitigation**: In-memory grids can be resource-intensive. Implement aggressive monitoring of utilization and auto-scaling policies to manage costs effectively. ## Concrete Components These vocabulary items name the concrete tools and abstractions that show up when the paradigm is implemented. They are not required dependencies and they are not part of the skill's ``tools:`` frontmatter (which is reserved for Claude Code tool restrictions). Use this list to disambiguate during architecture discussions. - ``data-grid-platform``: Hazelcast, Apache Ignite, or similar; in-memory partitioned data store - ``replication-manager``: moves writes asynchronously to durable storage and across regions - ``load-tester``: drives the grid past its single-region ceiling to validate scale-out
Related in architectural-pattern
architecture-paradigm-layered
IncludedApplies layered n-tier architecture with enforced boundaries. Use when designing moderate systems needing clear presentation, domain, and persistence layers.
architecture-paradigm-microservices
IncludedApplies microservices for independent deployment and per-service scaling. Use when teams need autonomous release cycles with distinct capability scaling needs.
architecture-paradigm-client-server
IncludedApplies client-server architecture for web/mobile apps. Use when designing systems with centralized backend services, trust boundaries, or offline-first sync.
architecture-paradigm-cqrs-es
IncludedApplies CQRS and Event Sourcing for read/write separation and audit trails. Use when designing systems with complex domain logic or full state-change history.
architecture-paradigm-event-driven
IncludedApplies event-driven async messaging to decouple producers and consumers. Use when designing real-time or multi-subscriber systems needing loose coupling.
architecture-paradigm-functional-core
IncludedApplies Functional Core, Imperative Shell to isolate logic from side effects. Use when business logic is entangled with I/O or unit tests are slow and brittle.