<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Microservices on ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/tags/microservices/</link><description>Recent content in Microservices on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Sat, 27 Sep 2025 14:00:00 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/tags/microservices/index.xml" rel="self" type="application/rss+xml"/><item><title>Distributed Heartbeats and Failure Detection: Partitions, Leases, and Deterministic Design</title><link>https://blog.baifan.site/en/distributed-system-heartbeat-mechanism/</link><pubDate>Sat, 27 Sep 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/distributed-system-heartbeat-mechanism/</guid><description>&lt;p&gt;Anyone who has debugged an early-morning production outage knows that the most dangerous failure in a distributed system is rarely a clean crash (Fail-Stop). It is the gray failure: transient unresponsiveness caused by Stop-the-World garbage collection, virtual machine CPU steal time, packet drops in network switches, or TCP half-open sockets. In an asynchronous network, physical wall-clock time offers no causal order guarantees. Handing a periodic ping packet the unilateral authority to decide node mortality turns that probe into a hair-trigger for cascading failovers and split-brain states.&lt;/p&gt;</description></item></channel></rss>