{"id":18191,"date":"2020-09-04T12:06:06","date_gmt":"2020-09-04T12:06:06","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=18191"},"modified":"2022-04-13T15:58:33","modified_gmt":"2022-04-13T15:58:33","slug":"what-is-saga-pattern-in-microservices","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-saga-pattern-in-microservices\/","title":{"rendered":"What is Saga pattern in Microservices?"},"content":{"rendered":"\n<p>The Saga pattern is a design pattern way to manage data consistency across microservices in distributed transaction scenarios. It is a sequence of transactions that updates each service and publishes a message or event to excess next transaction.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"blob:https:\/\/www.devopsschool.com\/f63a1dbd-7daf-47a6-af72-7de41fa82f12\" alt=\"\"\/><\/figure>\n\n\n\n<p>Saga pattern manage distributed transactions in a event diffeerent architecture.Originally will describe be research paper Princeton University in 1987. It describe as<\/p>\n\n\n\n<p><strong>Long -lived transactions (LLTs)<\/strong><\/p>\n\n\n\n<p>Hours or days<br>same database<br>fine-grained trasactions<br>compensating operations<\/p>\n\n\n\n<p><strong>extended to distributed system<\/strong><\/p>\n\n\n\n<p>Centralize transaction state<br>Message routing<br>failure compensation<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"469\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/saga-pattern-architecture-1.png\" alt=\"\" class=\"wp-image-18198\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/saga-pattern-architecture-1.png 959w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/saga-pattern-architecture-1-300x147.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/saga-pattern-architecture-1-768x376.png 768w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\" \/><\/figure>\n\n\n\n<p>Saga patter complete to use Social media platform all over World<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Saga pattern is a design pattern way to manage data consistency across microservices in distributed transaction scenarios. It is a sequence of transactions that updates each service and publishes&#8230; <\/p>\n","protected":false},"author":1,"featured_media":18288,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5124],"tags":[],"class_list":["post-18191","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microservices"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=18191"}],"version-history":[{"count":4,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18191\/revisions"}],"predecessor-version":[{"id":18201,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18191\/revisions\/18201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/18288"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=18191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=18191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=18191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}