<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yash Khillare</title>
    <description>The latest articles on Forem by Yash Khillare (@yash_khillare_392e62d251a).</description>
    <link>https://forem.com/yash_khillare_392e62d251a</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3540889%2F8ed5639e-e2b8-478f-b56b-10d8759cdfb6.png</url>
      <title>Forem: Yash Khillare</title>
      <link>https://forem.com/yash_khillare_392e62d251a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yash_khillare_392e62d251a"/>
    <language>en</language>
    <item>
      <title>"Why Distributed Systems Break — and Still Work"</title>
      <dc:creator>Yash Khillare</dc:creator>
      <pubDate>Wed, 01 Oct 2025 04:51:23 +0000</pubDate>
      <link>https://forem.com/yash_khillare_392e62d251a/why-distributed-systems-break-and-still-work-1jl8</link>
      <guid>https://forem.com/yash_khillare_392e62d251a/why-distributed-systems-break-and-still-work-1jl8</guid>
      <description>&lt;p&gt;From what I’ve read (and hopefully understood correctly), failures can happen in lots of ways:&lt;br&gt;
Hardware breaks — servers crash, hard drives stop working, or cables get unplugged. With so many machines, something is always broken somewhere.&lt;br&gt;
Networks mess up — sometimes messages don’t get delivered, or they arrive late (kind of like when your WhatsApp message says “one tick” forever).&lt;br&gt;
Bugs in software — more machines mean more code, and more code means more chances for errors.&lt;br&gt;
Coordination is tricky — machines need to agree on who’s in charge or what’s the latest info, and that’s actually a hard problem.&lt;br&gt;
Humans make mistakes — a tiny wrong setting can bring down huge parts of the internet (yep, this has happened before!).&lt;br&gt;
Basically: failure is normal here, not unusual.&lt;br&gt;
How They Still Keep Running&lt;br&gt;
Now this is the clever part. Distributed systems don’t pretend that everything will work perfectly. Instead, they prepare for disaster all the time. Here are a few tricks I learned about:&lt;br&gt;
Copies everywhere — important data is saved in many places. If one machine dies, another one has it.&lt;br&gt;
Constant check-ups — systems keep checking if other machines are alive. If one goes quiet, it gets replaced or ignored automatically.&lt;br&gt;
Sharing the load — work gets divided across lots of machines. If one crashes, the others pick up the slack.&lt;br&gt;
Not always perfect, but good enough — sometimes, data takes a bit of time to catch up across all servers. It’s not instantly the same everywhere, but it eventually balances out.&lt;br&gt;
Practice failing — Netflix even has this thing called Chaos Monkey that randomly breaks their own system, just to make sure it can survive real failures. Crazy, but genius.&lt;br&gt;
What I Learned&lt;br&gt;
The main idea that stuck with me is this: distributed systems know they’ll fail, and that’s okay. Instead of fighting failure, they’re built to survive it.&lt;br&gt;
That’s why even when something actually breaks — like a server burning out or a whole data center going offline — we usually don’t even notice. We just keep watching movies, scrolling, or shopping online like nothing happened.&lt;br&gt;
Final Thought&lt;br&gt;
So yeah, distributed systems fail all the time. But the cool thing is… they also keep going all the time. And to me, that’s kind of amazing.&lt;/p&gt;

&lt;p&gt;Prepared By&lt;br&gt;
Yash Khillare, Krrish Wasan , Arsh Tulshyan , Aarya Panchal , Aryan Dabholkar , Yash Lokare &lt;br&gt;
(TE , Department of Computer Engineering, Vidyalankar Institute of Technology, Mumbai)&lt;br&gt;
Faculty : Dr. Amit Nerurkar &lt;br&gt;
(Department of Computer Engineering , Vidyalankar Institute of Technology , Mumbai)&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
