{"id":593,"date":"2025-04-30T10:50:00","date_gmt":"2025-04-30T08:50:00","guid":{"rendered":"https:\/\/itsonix.laolaweb.com\/?p=593"},"modified":"2026-05-13T10:54:49","modified_gmt":"2026-05-13T08:54:49","slug":"saga-pattern","status":"publish","type":"post","link":"https:\/\/itsonix.eu\/en\/blog\/saga-pattern\/","title":{"rendered":"Saga Pattern"},"content":{"rendered":"<p class=\"wp-block-paragraph\">In modern software development\u2014especially when it comes to distributed systems and microservices architectures\u2014traditional transaction models such as ACID quickly reach their limits. How, then, can long-running business processes that span multiple services still be designed consistently without compromising system availability or fault tolerance?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our internal \u201ePlatform\u201c working group addressed precisely this issue\u2014and in doing so, took a closer look at the Saga pattern. This design pattern was first described in 1987 by Hector Garcia-Molina and Kenneth Salem and offers a pragmatic solution to this very challenge. It allows for the modeling of long transactions through a sequence of small, atomic transactions that can be rolled back via defined compensation actions in the event of errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This article provides a practical overview of the Saga pattern, presents typical use cases, and explores various implementation strategies in today's systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Background and Motivation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Distributed Data Storage<\/strong> In microservices architectures, each service manages its own database. As a result, centralized transaction control across multiple services is virtually impossible. This makes it difficult to ensure a consistent, holistic view of all the systems involved.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Long-running business processes<\/strong> Many business processes consist of several individual steps that span extended periods of time\u2014ranging from minutes to several hours. Traditional transaction models are unsuitable for such processes because they tie up system resources for extended periods and are prone to errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fault tolerance without global locks<\/strong> Global transactions spanning multiple services require locking mechanisms that limit system availability. If a partial failure occurs, it is often unclear how to handle inconsistent intermediate states.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Asynchronous Communication<\/strong> In modern system architectures, communication between services is often asynchronous\u2014for example, via events or messages. This makes centralized flow control more difficult and increases the complexity of error handling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Overview of the Saga Pattern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Saga Pattern was originally described in 1987 by Hector Garcia-Molina and Kenneth Salem as a transaction model for long-running processes within monolithic systems. The goal was to break down so-called long-lived transactions (LLTs) into several smaller, independent transactions. This was intended to optimize resource utilization in traditional database systems and reduce the risk of prolonged locks. Instead of a single, long-running transaction, the individual steps were to be executed atomically and, in the event of errors, rolled back through so-called compensation actions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today, the Saga Pattern has taken on new relevance\u2014particularly in the context of distributed systems and microservices architectures. The basic idea remains the same: an LLT is divided into several local transactions that are executed in an isolated and atomic manner. In contrast to classic two-phase commit (2PC) procedures, execution occurs sequentially. If an error occurs, the transactions that have already been executed are rolled back through defined compensation actions. This ensures that the consistency of the overall system is maintained even without global locks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A distributed saga typically consists of four key components:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Transaction Steps<\/strong><br>Individual actions that are performed locally within a service and do not require a global lock.<\/li>\n\n\n\n<li><strong>Compensation Actions<\/strong><br>Reversible actions that can be used to undo erroneous or inconsistent states.<\/li>\n\n\n\n<li><strong>Coordination<\/strong><br>Either centrally through a coordinator service (orchestration) or decentrally through communication between the participating services (choreography).<\/li>\n\n\n\n<li><strong>Status Tracking<\/strong><br>The current state of a saga is typically persisted\u2014for example, in a process table\u2014to ensure that errors are handled in a traceable manner and that the execution of the substeps is transparent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This structure makes it possible to map both long-running operations in monolithic applications and complex processes in distributed architectures in a consistent, fault-tolerant, and scalable manner.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example: Flight booking with hotel and rental car<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Transaction Step 1: Flight Booking<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Promotion:<\/strong> The flight booking service books a flight for the traveler and reserves a seat.<\/li>\n\n\n\n<li><strong>Success:<\/strong> The flight is successfully booked and confirmed.<\/li>\n\n\n\n<li><strong>Compensation:<\/strong> If the following steps fail, the flight reservation will be canceled.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Transaction Step 2: Hotel Reservation<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Promotion:<\/strong> The hotel booking service reserves a room for the traveler.<\/li>\n\n\n\n<li><strong>Success:<\/strong> The room has been successfully reserved and confirmed.<\/li>\n\n\n\n<li><strong>Compensation:<\/strong> If the next steps fail, the hotel reservation will be canceled.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Step 3: Rental Car Reservation<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Promotion:<\/strong> The car rental service reserves a vehicle for the traveler.<\/li>\n\n\n\n<li><strong>Success:<\/strong> The vehicle has been successfully reserved.<\/li>\n\n\n\n<li><strong>Compensation:<\/strong> If the rental car is unavailable or an error occurs, the rental car reservation will be canceled.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Procedure:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Success Run:<br><img fetchpriority=\"high\" decoding=\"async\" width=\"2250\" height=\"978\" class=\"wp-image-600\" style=\"width: 2250px;\" src=\"https:\/\/test.itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch.jpg\" alt=\"\" srcset=\"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch.jpg 1840w, https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch-300x130.jpg 300w, https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch-1024x445.jpg 1024w, https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch-768x334.jpg 768w, https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_01_deutsch-1536x668.jpg 1536w\" sizes=\"(max-width: 2250px) 100vw, 2250px\" \/><br>Error log: <img decoding=\"async\" class=\"wp-image-597\" style=\"width: 2250px;\" src=\"https:\/\/test.itsonix.eu\/wp-content\/uploads\/2026\/05\/Saga_02_deutsch.jpg\" alt=\"\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Advantages and Disadvantages of the Saga Pattern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Saga pattern offers a number of technical advantages\u2014particularly in the context of distributed systems. At the same time, however, it also imposes specific requirements on system architecture, error handling, and business logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Advantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No Global Blocks<\/strong><br>By breaking transactions down into local ones, there is no longer a need for global locking mechanisms that span system boundaries.<\/li>\n\n\n\n<li><strong>Transaction Control Without a Distributed Commit Protocol<\/strong><br>Sagas circumvent the complexity and liveness issues of classic two-phase commit (2PC) protocols. This increases system availability.<\/li>\n\n\n\n<li><strong>Error Handling via Defined Compensation Paths<\/strong><br>Errors in sub-steps are not handled by a full rollback, but rather through explicitly modeled compensatory actions.<\/li>\n\n\n\n<li><strong>Controllable State Management<\/strong><br>The progress of the saga can be tracked using a persistent process table and, in the event of an error, can be resumed or reactivated as needed.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Complexity of the Compensation Logic<\/strong><br>Compensations must be designed on a case-by-case basis. They cannot be automatically derived from the forward transactions and require in-depth subject matter expertise.<\/li>\n\n\n\n<li><strong>Difficulties in Monitoring Concurrency<\/strong><br>Parallel or competing sagas can cause race conditions and interference that cannot be resolved automatically.<\/li>\n\n\n\n<li><strong>Eventual Consistency Instead of Immediate Consistency<\/strong><br>Intermediate states may be inconsistent across the system until all steps have been completed or compensated for. This is not acceptable for all use cases.<\/li>\n\n\n\n<li><strong>Lack of Transitive Isolation<\/strong><br>There is no cross-process transaction isolation\u2014other processes may access inconsistent data before the saga is complete.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">When It's Worth Using the Saga Pattern\u2014and When It Isn't<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Saga Pattern offers a robust alternative to traditional transaction models in distributed system architectures. By eliminating global locks and centralized commit protocols, it improves scalability and availability\u2014especially in microservices-based applications. At the same time, it enables controlled error handling through clearly defined compensation paths and allows for the management of long-running business processes with many sub-steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Suitable Use Cases<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This pattern is particularly useful when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Processes consist of several steps that are logically independent of one another<\/li>\n\n\n\n<li>immediate consistency is not required (keyword: eventual consistency)<\/li>\n\n\n\n<li>High system availability is more important than complete isolation<\/li>\n\n\n\n<li>centralized coordination is not feasible or not desired (e.g., in event-driven architectures)<\/li>\n\n\n\n<li>or if compensation actions are already provided for in the business logic (e.g., for cancellations, chargebacks, and reversals).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Typical use cases include booking and payment processes, order fulfillment in e-commerce systems, and user onboarding processes that involve multiple subsystems. Sagas enable the implementation of distributed transactions without requiring all participating systems to be modified or deeply integrated at the same time. Compared to 2PC, this significantly reduces the effort required for interface design and coordination. This is particularly advantageous in early project phases or during external system integration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When Its Use Is Not Recommended<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Saga Pattern is not suitable for all scenarios. It is particularly not recommended when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>strict consistency across all systems is required at all times<\/li>\n\n\n\n<li>Business processes are highly intertwined, and it is not possible to identify clear sub-steps<\/li>\n\n\n\n<li>the compensation logic is too complex or cannot be clearly defined in technical terms<\/li>\n\n\n\n<li>or when controllability is essential in the presence of concurrency (e.g., in parallel processes with hard dependencies)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Particularly in security-critical applications\u2014such as in the financial sector or the healthcare industry\u2014failing to ensure immediate consistency and isolation can lead to unacceptable risks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Our Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Saga Pattern is a valuable tool for modern, distributed systems\u2014but it\u2019s not a surefire solution. Success depends heavily on how it\u2019s implemented. Those who use it must actively address the challenges of compensation, concurrency, and consistency. When used correctly, however, the pattern enables fault-tolerant, scalable, and transparently orchestrated processes in a microservices environment.<\/p>","protected":false},"excerpt":{"rendered":"<p>In der modernen Softwareentwicklung \u2013 insbesondere bei verteilten Systemen und Microservices-Architekturen \u2013 sto\u00dfen klassische Transaktionsmodelle wie ACID schnell an ihre Grenzen. Wie lassen sich lang andauernde, \u00fcber mehrere Services verteilte Gesch\u00e4ftsprozesse dennoch konsistent gestalten, ohne Systemverf\u00fcgbarkeit oder Fehlertoleranz zu gef\u00e4hrden? Mit genau dieser Fragestellung hat sich unser interner Arbeitskreis \u201ePlattform\u201c befasst \u2013 und dabei das [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":601,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Saga Pattern - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen<\/title>\n<meta name=\"description\" content=\"it Sonix Blog: Saga Pattern\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itsonix.eu\/en\/blog\/saga-pattern\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Saga Pattern - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\" \/>\n<meta property=\"og:description\" content=\"it Sonix Blog: Saga Pattern\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itsonix.eu\/en\/blog\/saga-pattern\/\" \/>\n<meta property=\"og:site_name\" content=\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-30T08:50:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-13T08:54:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"435\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Praktikant\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Praktikant\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/\"},\"author\":{\"name\":\"Praktikant\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/person\\\/829813e3a66c2dfbb030cd6647f3caf3\"},\"headline\":\"Saga Pattern\",\"datePublished\":\"2025-04-30T08:50:00+00:00\",\"dateModified\":\"2026-05-13T08:54:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/\"},\"wordCount\":1239,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png\",\"articleSection\":[\"Softwareentwicklung\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/\",\"name\":\"Saga Pattern - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png\",\"datePublished\":\"2025-04-30T08:50:00+00:00\",\"dateModified\":\"2026-05-13T08:54:49+00:00\",\"description\":\"it Sonix Blog: Saga Pattern\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#primaryimage\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png\",\"contentUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png\",\"width\":1000,\"height\":435,\"caption\":\"Illustration Saga Pattern.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/saga-pattern\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Saga Pattern\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\",\"name\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\",\"name\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/itsonix_rgb.png\",\"contentUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/itsonix_rgb.png\",\"width\":1755,\"height\":296,\"caption\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/person\\\/829813e3a66c2dfbb030cd6647f3caf3\",\"name\":\"Praktikant\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"caption\":\"Praktikant\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Saga Pattern - IT Sonix - Your Partner for Custom Software Solutions","description":"it Sonix Blog: Saga Pattern","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itsonix.eu\/en\/blog\/saga-pattern\/","og_locale":"en_US","og_type":"article","og_title":"Saga Pattern - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","og_description":"it Sonix Blog: Saga Pattern","og_url":"https:\/\/itsonix.eu\/en\/blog\/saga-pattern\/","og_site_name":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","article_published_time":"2025-04-30T08:50:00+00:00","article_modified_time":"2026-05-13T08:54:49+00:00","og_image":[{"width":1000,"height":435,"url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png","type":"image\/png"}],"author":"Praktikant","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Praktikant","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#article","isPartOf":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/"},"author":{"name":"Praktikant","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/person\/829813e3a66c2dfbb030cd6647f3caf3"},"headline":"Saga Pattern","datePublished":"2025-04-30T08:50:00+00:00","dateModified":"2026-05-13T08:54:49+00:00","mainEntityOfPage":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/"},"wordCount":1239,"commentCount":0,"publisher":{"@id":"https:\/\/itsonix.eu\/de\/#organization"},"image":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#primaryimage"},"thumbnailUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png","articleSection":["Softwareentwicklung"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/itsonix.eu\/blog\/saga-pattern\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/","url":"https:\/\/itsonix.eu\/blog\/saga-pattern\/","name":"Saga Pattern - IT Sonix - Your Partner for Custom Software Solutions","isPartOf":{"@id":"https:\/\/itsonix.eu\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#primaryimage"},"image":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#primaryimage"},"thumbnailUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png","datePublished":"2025-04-30T08:50:00+00:00","dateModified":"2026-05-13T08:54:49+00:00","description":"it Sonix Blog: Saga Pattern","breadcrumb":{"@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itsonix.eu\/blog\/saga-pattern\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#primaryimage","url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png","contentUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/Blogbeitrag_Header_Plattform_Saga_Pattern-e1788416654515.png","width":1000,"height":435,"caption":"Illustration Saga Pattern."},{"@type":"BreadcrumbList","@id":"https:\/\/itsonix.eu\/blog\/saga-pattern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/itsonix.eu\/de\/"},{"@type":"ListItem","position":2,"name":"Saga Pattern"}]},{"@type":"WebSite","@id":"https:\/\/itsonix.eu\/de\/#website","url":"https:\/\/itsonix.eu\/de\/","name":"IT Sonix - Your Partner for Custom Software Solutions","description":"","publisher":{"@id":"https:\/\/itsonix.eu\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itsonix.eu\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/itsonix.eu\/de\/#organization","name":"IT Sonix - Your Partner for Custom Software Solutions","url":"https:\/\/itsonix.eu\/de\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/logo\/image\/","url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/itsonix_rgb.png","contentUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/itsonix_rgb.png","width":1755,"height":296,"caption":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen"},"image":{"@id":"https:\/\/itsonix.eu\/de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/person\/829813e3a66c2dfbb030cd6647f3caf3","name":"Intern","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","caption":"Praktikant"}}]}},"_links":{"self":[{"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/posts\/593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/comments?post=593"}],"version-history":[{"count":1,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/posts\/593\/revisions"}],"predecessor-version":[{"id":602,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/posts\/593\/revisions\/602"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/media\/601"}],"wp:attachment":[{"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/media?parent=593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/categories?post=593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsonix.eu\/en\/wp-json\/wp\/v2\/tags?post=593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}