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...
Processing Pipelines Series - Concepts
In this series, well explore technologies for processing data in pipelines and directed acyclic graphs. Well start with real-time processing on a single machine using .NET Core libraries, then move to...
Processing Pipelines Series - Reactive Extensions (Rx.NET)
This blog post discusses the use of Reactive Extensions (Rx.NET) in processing pipelines. The post provides an introduction to Rx.NET, discusses the benefits of using Rx.NET, and demonstrates how Rx.N...
Processing Pipelines Series - TPL Dataflow - Alternate Scenario
In this blog post, Jack Vanlightly introduces an alternate scenario for TPL Dataflow pipeline with different requirements around latency and data loss. The new scenario is that the producer can be slo...
Processing Pipelines Series - TPL Dataflow
TPL Dataflow is a data processing library from Microsoft that allows you to compose different blocks together to make a pipeline for data processing. In this blog, we will discuss the various types of...