<?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>DEV Community: David Abaev</title>
    <description>The latest articles on DEV Community by David Abaev (@quorummind).</description>
    <link>https://dev.to/quorummind</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%2F3022091%2F0ee6867d-1b4c-4ccc-8228-dc518927e8ad.png</url>
      <title>DEV Community: David Abaev</title>
      <link>https://dev.to/quorummind</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quorummind"/>
    <language>en</language>
    <item>
      <title>Real-Time vs Near-Time: Making the Latency Tradeoff</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Sat, 07 Jun 2025 10:06:48 +0000</pubDate>
      <link>https://dev.to/quorummind/real-time-vs-near-time-making-the-latency-tradeoff-38o2</link>
      <guid>https://dev.to/quorummind/real-time-vs-near-time-making-the-latency-tradeoff-38o2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6z8lre9l9xtzzhqgfsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6z8lre9l9xtzzhqgfsi.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
🧠 Everyone wants “real-time,” but do you really need it?&lt;br&gt;
In this deep dive, I explore Real-Time vs Near-Time latency choices — when to stream, queue, poll, or batch.&lt;br&gt;
Includes real-world examples, C# code, decision matrix, and architecture tips.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://quorum-mind.medium.com/real-time-vs-near-time-making-the-latency-tradeoff-4b9ba28eefa3" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/real-time-vs-near-time-making-the-latency-tradeoff-4b9ba28eefa3&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Return of the Modular Monolith</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Fri, 30 May 2025 12:57:20 +0000</pubDate>
      <link>https://dev.to/quorummind/the-return-of-the-modular-monolith-869</link>
      <guid>https://dev.to/quorummind/the-return-of-the-modular-monolith-869</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudthwf01bmrl4zzcj2s0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudthwf01bmrl4zzcj2s0.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
The Return of the Modular Monolith&lt;br&gt;
Microservices aren’t always the answer.&lt;br&gt;
Sometimes, the smartest architecture… is one deploy.&lt;br&gt;
With strict boundaries. Clean contracts. No distributed pain.&lt;br&gt;
🧱 Modular Monolith =&lt;br&gt;
✅ Fast dev&lt;br&gt;
✅ Clear domains&lt;br&gt;
✅ No premature ops overhead&lt;br&gt;
✅ Easy to test + refactor&lt;br&gt;
✅ Future-ready for microservices&lt;/p&gt;

&lt;p&gt;💡 In .NET? Use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;InternalsVisibleTo for encapsulation&lt;/li&gt;
&lt;li&gt;DI modules per domain&lt;/li&gt;
&lt;li&gt;Lean shared kernel (e.g. IClock, ITenantService)&lt;/li&gt;
&lt;li&gt;Don’t break things apart yet.&lt;/li&gt;
&lt;li&gt;Just don’t build a ball of mud.
👊 Monoliths aren’t dead — just misused.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read more: &lt;a href="https://quorum-mind.medium.com/modular-monoliths-the-comeback-architecture-0a1eda4b580f" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/modular-monoliths-the-comeback-architecture-0a1eda4b580f&lt;/a&gt; &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Build .NET libraries like a pro: clean, pluggable, provider-based. The OSS way extensible by design.</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Mon, 19 May 2025 19:53:47 +0000</pubDate>
      <link>https://dev.to/quorummind/build-net-libraries-like-a-pro-clean-pluggable-provider-based-the-oss-way-extensible-by-49a3</link>
      <guid>https://dev.to/quorummind/build-net-libraries-like-a-pro-clean-pluggable-provider-based-the-oss-way-extensible-by-49a3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4fzjx3x7h5od5fkmn1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4fzjx3x7h5od5fkmn1r.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Build .NET libraries like a pro: clean, pluggable, provider-based. The OSS way → extensible by design.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://quorum-mind.medium.com/pluggable-architecture-in-net-the-oss-way-35af73b8a653" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/pluggable-architecture-in-net-the-oss-way-35af73b8a653&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>opensource</category>
      <category>programming</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Chaos in Production? Bring it on.</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Sun, 11 May 2025 04:48:57 +0000</pubDate>
      <link>https://dev.to/quorummind/chaos-in-production-bring-it-on-4jfj</link>
      <guid>https://dev.to/quorummind/chaos-in-production-bring-it-on-4jfj</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn8rrvpr5cv4qzmc2fzn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn8rrvpr5cv4qzmc2fzn.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀 Chaos in Production? Bring it on.&lt;br&gt;
In this post, I built a resilient microservice architecture in Go to test how real systems behave under failure. 💡 Two services: transaction-service and ledger-service ⚙️ Tech stack: Go + Kafka + PostgreSQL + Kubernetes 🎯 Injected real failure using Chaos Mesh — randomly killing pods to simulate crashes.&lt;br&gt;
📊 The result? Clean retry logic, no data loss, and bulletproof consistency even under stress.&lt;br&gt;
🧪 Plus: a clean architecture, full Docker + K8s setup, and a step-by-step breakdown in the blog.&lt;br&gt;
👉 Ideal for backend engineers, SREs, or anyone who cares about real-world reliability.&lt;br&gt;
🔗 Check it out and drop feedback!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Ten Signs Your Microservice Is Too Big — And What That Says About Your Understanding of Microservices</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Thu, 24 Apr 2025 18:41:43 +0000</pubDate>
      <link>https://dev.to/quorummind/ten-signs-your-microservice-is-too-big-and-what-that-says-about-your-understanding-of-1a18</link>
      <guid>https://dev.to/quorummind/ten-signs-your-microservice-is-too-big-and-what-that-says-about-your-understanding-of-1a18</guid>
      <description>&lt;p&gt;If your "micro" service knows too much, does too much, and changes too often — it’s not a microservice, it’s a monolith in disguise.&lt;br&gt;
This post breaks down the red flags and what they reveal about how you really think about microservices.&lt;br&gt;
💥 Time to cut the fat and refactor smart.&lt;/p&gt;

&lt;p&gt;Read: &lt;a href="https://quorum-mind.medium.com/ten-signs-your-microservice-is-too-big-and-what-that-says-about-your-understanding-of-c1d9f7d61f94" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/ten-signs-your-microservice-is-too-big-and-what-that-says-about-your-understanding-of-c1d9f7d61f94&lt;/a&gt; &lt;/p&gt;

</description>
      <category>microservices</category>
      <category>softwareengineering</category>
      <category>architecture</category>
      <category>refactoring</category>
    </item>
    <item>
      <title>Microservice Anti-Patterns to Avoid</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Mon, 21 Apr 2025 11:43:32 +0000</pubDate>
      <link>https://dev.to/quorummind/microservice-anti-patterns-to-avoid-205f</link>
      <guid>https://dev.to/quorummind/microservice-anti-patterns-to-avoid-205f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8825tydtwehx8xo3grqt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8825tydtwehx8xo3grqt.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚫 Microservice Anti-Patterns to Avoid&lt;br&gt;
Real stories. Real mistakes. Real fixes.&lt;br&gt;
Learn from production chaos so you don’t repeat it.&lt;br&gt;
💥 Avoid the traps. Architect smarter. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://quorum-mind.medium.com/microservice-anti-patterns-to-avoid-lessons-from-real-world-production-systems-6976c23ccc02" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/microservice-anti-patterns-to-avoid-lessons-from-real-world-production-systems-6976c23ccc02&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microservices</category>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>devops</category>
    </item>
    <item>
      <title>Remote Configuration and Feature Flags</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Wed, 16 Apr 2025 04:09:37 +0000</pubDate>
      <link>https://dev.to/quorummind/remote-configuration-and-feature-flags-k7c</link>
      <guid>https://dev.to/quorummind/remote-configuration-and-feature-flags-k7c</guid>
      <description>&lt;p&gt;Why redeploy when you can toggle like a boss?&lt;br&gt;
Why hardcode configs when you can change them live, 🧙‍♂️&lt;br&gt;
🔁 Feature Flags – flip features ON/OFF per user, per environment&lt;br&gt;
📦 Remote Config – change app behavior without redeploying, powered by IOptionsMonitor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://quorum-mind.medium.com/the-role-of-feature-flags-in-devops-safe-deployments-in-critical-systems-6c67f3dc48c7" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/the-role-of-feature-flags-in-devops-safe-deployments-in-critical-systems-6c67f3dc48c7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://quorum-mind.medium.com/remote-configuration-in-net-core-with-ioptionsmonitor-consul-kv-faaf10285ce9" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/remote-configuration-in-net-core-with-ioptionsmonitor-consul-kv-faaf10285ce9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo: &lt;br&gt;
&lt;a href="https://youtu.be/aqF_YDTRSkc" rel="noopener noreferrer"&gt;https://youtu.be/aqF_YDTRSkc&lt;/a&gt; &lt;/p&gt;

</description>
      <category>devops</category>
      <category>dotnet</category>
      <category>backend</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Who’s the leader? 🧑‍⚖️</title>
      <dc:creator>David Abaev</dc:creator>
      <pubDate>Fri, 11 Apr 2025 18:14:34 +0000</pubDate>
      <link>https://dev.to/quorummind/whos-the-leader-1jec</link>
      <guid>https://dev.to/quorummind/whos-the-leader-1jec</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsahqq8b8xg23k1t31q5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsahqq8b8xg23k1t31q5.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Who’s the leader? 🧑‍⚖️&lt;br&gt;
In a distributed system, that’s a real question.&lt;br&gt;
Here’s how I implemented leader election in .NET microservices 👇&lt;br&gt;
&lt;a href="https://quorum-mind.medium.com/distributed-leader-election-in-net-microservices-126af548b6b8" rel="noopener noreferrer"&gt;https://quorum-mind.medium.com/distributed-leader-election-in-net-microservices-126af548b6b8&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>microservices</category>
      <category>leadership</category>
    </item>
  </channel>
</rss>
