Welcome to the SOFIA step-by-step tutorial series. This documentation is structured to guide you from building your first federated service to implementing advanced communication patterns in a decentralized environment.
-
Chapter 1: Creating and Registering Services Learn how to build a standard Erlang service and register it with SOFIA's decentralized registry.
-
Chapter 2: Invoking Services with Circuit Breaker Protection Understand how to discover active services, leverage client stub QoS endpoint selection, and shield invocations against failures using client-side circuit breakers.
-
Chapter 3: Distributed Configuration and Swarms Set up local multi-node clusters (swarms), connect nodes, and observe configuration synchronization in real-time.
-
Chapter 4: Common Design Patterns Explore out-of-the-box implementations for brokerless Publish-Subscribe (Pub-Sub), Push-Pull Pipelines, and Scatter-Gather.
-
Chapter 5: Advanced Federation Patterns Understand service-level multitenancy isolation, decentralized service function chaining (SFC), and sidecar-less QoS-aware adaptive routing (
sofia_router). -
Chapter 6: Hypergraph Service Workflows Define, parse, and execute service workflows in the form of directed hypergraphs using YAML notation.
-
Chapter 7: Self-Describing Federated Services Implement service contract registry mappings and perform client-side schema verification prior to actor invocation.
-
Chapter 8: External Edge Gateway with Cowboy Expose federated services externally via HTTP/JSON API endpoints, complete with dynamic schema validation and error mapping.
-
Chapter 9: Supervised Orchestration and Sagas Implement process supervision, state-recovery timers, and compensating sagas inside SFC and Hypergraph Workflows.
-
Chapter 10: Distributed Observability and Tracing Monitor execution latency, reconstruct call trees using distributed traces, and leverage the automated telemetry-driven routing feedback loop.