Building a Reactive Application with Commands, Events and Actors – Oh My!

Sold OutDistributed applications are becoming more popular with the increasing popularity of microservices (however you want to define that term). But the principles of distributed application development are key if you want to build a system that is resilient, responsive, elastic and maintainable. In this workshop, we’ll review the principles of CQRS and the Reactive Manifesto, and how they complement each other. We’ll build an application that can handle a large stream of data, and allow users to still have a responsive experience while interacting with real-time and near-real-time data.
We’ll look at Akka.NET as the workhorse inside your services, and how the principles of CQRS can help with your service-to-service communications.
We’ll also look at how Event Sourcing can aid in managing your domain state, and how an event stream can be used to project data for your system for a number of different uses. We’ll build our own simple event store, but also look at commercially available stores, too.
This session will focus on using Akka.NET along with a few other tools and technologies, such as EventStore and MongoDB. The concepts learned in this session will be applicable to a number of different tools, technologies and languages.

David Hoerster

David Hoerster, a 5-time C# MVP, is a recovering corporate financial analyst and has been working with the Microsoft.NET Framework since the early 1.0 betas. He is the Sr. Solutions Architect for Confluence, a managed investments software product company. David is the conference chair of Pittsburgh TechFest, the leader of the Pittsburgh Reactive Systems user group (, the former president of the Pittsburgh .NET User’s Group (PGHDOTNET) and is also a regular speaker at Pittsburgh and regional user group and community conference events. David can be found rarely blogging at and tweets occasionally at @DavidHoerster.