<?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>Architecture on Akshay Deshpande</title>
    <link>https://akshayd-dev.pages.dev/tags/architecture/</link>
    <description>Recent content in Architecture on Akshay Deshpande</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 10 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://akshayd-dev.pages.dev/tags/architecture/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Leader/Follower relationship with Primary/Replicas</title>
      <link>https://akshayd-dev.pages.dev/posts/leader-follower-relationship-with-primary-replicas/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/leader-follower-relationship-with-primary-replicas/</guid>
      <description>&lt;p&gt;In most of distributed datastore systems, there are a lot of techical terms to describe the behavior of the system. While these terms, like, &amp;ldquo;Leader&amp;rdquo;, &amp;ldquo;Follower&amp;rdquo;, &amp;ldquo;Replication&amp;rdquo;, &amp;ldquo;Consistency&amp;rdquo;, etc., are widely used and helpful, what I feel missing are the details about internal relationship between these terms.&lt;br&gt;
Analogically, while the map of the field is great, it is also important to understand how the soil, water, and sunlight interact to help the plants grow.&lt;/p&gt;</description>
    </item>
    <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>
