<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Microservices on Akshay Deshpande</title>
    <link>https://akshayd-dev.pages.dev/tags/microservices/</link>
    <description>Recent content in Microservices on Akshay Deshpande</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 17 Nov 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://akshayd-dev.pages.dev/tags/microservices/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Message delivery in Distributed Systems</title>
      <link>https://akshayd-dev.pages.dev/posts/message-delivery-in-distributed-systems/</link>
      <pubDate>Sun, 17 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/message-delivery-in-distributed-systems/</guid>
      <description>&lt;p&gt;In distributed systems, the principle of message passing between nodes is a core concept. But this leads to an inevitable question: &lt;em&gt;How can we ensure that a message was successfully delivered to its destination?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://akshayd-dev.pages.dev/posts/message-delivery-in-distributed-systems/images/image.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;To address this, there are three types of delivery semantics commonly employed:&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;At Most Once&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;At Least Once&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;Exactly Once&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Each of these offers different guarantees and trade-offs when it comes to message delivery. Let’s break down each one:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
