Skip to content

Latest commit

 

History

History
37 lines (23 loc) · 2.47 KB

index.md

File metadata and controls

37 lines (23 loc) · 2.47 KB

SOFIA Tutorial Series: Federated Service Orchestration

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.

Tutorial Chapters

  1. Chapter 1: Creating and Registering Services Learn how to build a standard Erlang service and register it with SOFIA's decentralized registry.

  2. 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.

  3. Chapter 3: Distributed Configuration and Swarms Set up local multi-node clusters (swarms), connect nodes, and observe configuration synchronization in real-time.

  4. Chapter 4: Common Design Patterns Explore out-of-the-box implementations for brokerless Publish-Subscribe (Pub-Sub), Push-Pull Pipelines, and Scatter-Gather.

  5. Chapter 5: Advanced Federation Patterns Understand service-level multitenancy isolation, decentralized service function chaining (SFC), and sidecar-less QoS-aware adaptive routing (sofia_router).

  6. Chapter 6: Hypergraph Service Workflows Define, parse, and execute service workflows in the form of directed hypergraphs using YAML notation.

  7. Chapter 7: Self-Describing Federated Services Implement service contract registry mappings and perform client-side schema verification prior to actor invocation.

  8. Chapter 8: External Edge Gateway with Cowboy Expose federated services externally via HTTP/JSON API endpoints, complete with dynamic schema validation and error mapping.

  9. Chapter 9: Supervised Orchestration and Sagas Implement process supervision, state-recovery timers, and compensating sagas inside SFC and Hypergraph Workflows.

  10. Chapter 10: Distributed Observability and Tracing Monitor execution latency, reconstruct call trees using distributed traces, and leverage the automated telemetry-driven routing feedback loop.