<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Architecture on Brilian Firdaus</title><link>https://brilianfirdaus.com/blog/tags/software-architecture/</link><description>Recent content in Software Architecture on Brilian Firdaus</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 23 Apr 2025 15:18:18 +0000</lastBuildDate><atom:link href="https://brilianfirdaus.com/blog/tags/software-architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Mastering Race Conditions: Strategies for Reliable Software Systems</title><link>https://brilianfirdaus.com/blog/mastering-race-conditions-strategies-for-reliable-software-systems/</link><pubDate>Tue, 22 Apr 2025 06:00:19 +0000</pubDate><guid>https://brilianfirdaus.com/blog/mastering-race-conditions-strategies-for-reliable-software-systems/</guid><description>Understand race conditions in multithreaded and distributed systems, with locking strategies, detection methods, and a banking transaction example.</description></item><item><title>A Developer’s Guide to Circuit Breakers: Protect Your Service from Failure</title><link>https://brilianfirdaus.com/blog/a-developers-guide-to-circuit-breakers-protect-your-service-from-failure/</link><pubDate>Tue, 08 Apr 2025 06:00:06 +0000</pubDate><guid>https://brilianfirdaus.com/blog/a-developers-guide-to-circuit-breakers-protect-your-service-from-failure/</guid><description>How circuit breakers isolate downstream failures, with state transitions, configuration, monitoring, and a Go example using Hystrix.</description></item><item><title>Why You Should Use Caching - Improve User Experience and Reduce Costs</title><link>https://brilianfirdaus.com/blog/why-you-should-use-caching/</link><pubDate>Thu, 02 May 2024 16:16:50 +0000</pubDate><guid>https://brilianfirdaus.com/blog/why-you-should-use-caching/</guid><description>Backend object caching explained: write patterns, cache misses, invalidation, replacement policies, performance tradeoffs, and when caching is unsuitable.</description></item><item><title>Designing A Retry Mechanism For Reliable Systems</title><link>https://brilianfirdaus.com/blog/designing-a-retry-mechanism-for-reliable-systems/</link><pubDate>Tue, 03 Jan 2023 02:00:10 +0000</pubDate><guid>https://brilianfirdaus.com/blog/designing-a-retry-mechanism-for-reliable-systems/</guid><description>Design retries for transient failures: choose retryable requests, set backoff periods, manage retry state, and account for timeouts and idempotency.</description></item></channel></rss>