Microservices communication using gRPC Protocol
In this article, Dineshchandgr, a top technology writer, explains the benefits of using gRPC for microservices communication. gRPC uses HTTP/2 and protocol buffers, which offer advantages over using X...
Outboxer - A Simple and Broker Agnostic Implementation of Outbox Pattern with Entity Framework
Outboxer is a library available at Nuget that provides a simple and broker agnostic Outbox Pattern implementation. To use Outboxer, you need to use Entity Framework as it uses its built-in Unit-Of-Wor...
React Error Boundaries | Complete Guide
A complete guide to implementing React Error Boundaries, and how to use a third-party tool for handling more sophisticated scenarios. This article covers how to implement Error Boundaries in your appl...
Richard Dawkins: Evolution, Intelligence, Simulation, and Memes | Lex Fridman Podcast #87

Evolutionary biologist and author Richard Dawkins believes that the probability of intelligent life existing in the universe is high, given the sheer number of planets estimated to exist. While the or...
The functional journey of C# - Mads Torgersen - NDC Copenhagen 2022

The speaker, who works on the C Sharp language for Microsoft, gives a talk on the evolution of C Sharp 1 through 10, examining how functional programming has influenced it over the years. He notes tha...
AsyncAPI Initiative for Event-Driven APIs
The AsyncAPI Initiative offers open-source tools to easily build and maintain event-driven architectures. Powered by the AsyncAPI specification, the industry standard for defining asynchronous APIs, A...
Build Services on a Backbone of Events
For many, microservices are built on a protocol of requests and responses. REST etc. This approach is very natural. It is after all the way we write programs: we make calls to other code modules, awai...
Building a Microservices Ecosystem with Kafka Streams and KSQL
Today, we operate in ecosystems where services work towards higher level business goals. When we make these systems event-driven, it comes with advantages such as rethinking services as a cascade of n...
Chain Services with Exactly-Once Guarantees
This fourth post in the microservices series looks at how we can sew together complex chains of services, efficiently, and accurately, using Apache Kafka’s Exactly-Once guarantees. Any service-based a...
Distributed Transaction Management in Microservices — Part 1 | by Dineshchandgr
In this article, Dineshchandgr - A Top writer in Technology, discusses the concept of distributed transaction management across Microservices. A transaction is a series of actions that must execute su...
Distributed Transaction Management in Microservices — Part 2 — Saga Pattern
In this article, Dineshchandgr, a top writer in technology, continues his discussion on distributed transaction management in microservices. The focus of this article is on the Saga pattern, an asynch...
Domain-Driven Refactoring: Defactoring and Pushing Behavior Down
In this post, Jimmy Bogard shares about the process of domain-driven refactoring by defactoring and pushing behavior down into domain models. He discusses the importance of both extract method and inl...
Domain-Driven Refactoring: Encapsulating Collections
In this post, Jimmy Bogard discusses the Encapsulate Collection refactoring technique, which is used to prevent access to collections in public APIs of domain models. The article covers a step-by-step...
Domain-Driven Refactoring: Encapsulating Data
In this blog post, Jimmy Bogard explains the importance of properly encapsulating data in a domain model and shares some helpful strategies for doing so through refactoring. He examines the Offer and ...
Domain-Driven Refactoring: Extracting Domain Services
In this post, Jimmy Bogard discusses the process of domain-driven refactoring as a means of arriving at a domain-driven design. He starts by explaining the model building blocks of domain-driven desig...
Domain-Driven Refactoring: Long Methods
In this post by Jimmy Bogard, he discusses the issue of long methods in code and how to refactor them using domain-driven design principles. He walks through an example of a long method and identifies...
Domain-Driven Refactoring: Procedural Beginnings
In this post, the author talks about their approach to writing dumb, procedural code during the red-green-refactor TDD process, and how it helps them let code smells guide them into where the code sho...
Improving Microservices Reliability - Part 2: Outbox Pattern
In this blog post, David Guida discusses the Outbox Pattern as a solution to the challenges of distributed transactions in microservices architecture. He explains how by persisting the state as much a...
Leveraging the Power of a Database Unbundled
When building microservices with Apache Kafka, using the log for event storage can create a single source of truth that spans many independent services. However, adding stream processing turns this se...
Messaging as the Single Source of Truth
This post discusses Event Sourcing in the context of Apache Kafka, examining the need for a single source of truth that spans entire service estates. In service-oriented systems there is no single sou...