Chris Patterson, founder and principal architect of MassTransit, joins host Jeff Doolittle to discuss MassTransit, a message bus framework for building distributed systems. The conversation begins with an exploration of message buses, their role in asynchronous and durable application design, and how frameworks like MassTransit simplify event-driven programming in .NET. Chris explains concepts like pub/sub, durable messaging, and the benefits of decoupled architectures for scaling and reliability.
The discussion also delves into advanced topics such as sagas, stateful consumers for orchestrating complex processes, and how MassTransit supports patterns like outbox and routing slips for ensuring transactional consistency. Chris highlights the importance of observability in distributed systems, sharing how MassTransit integrates with tools like OpenTelemetry to provide comprehensive monitoring. The episode includes advice on adopting event-driven approaches, overcoming leadership hesitancy, and ensuring secure and efficient implementations. Chris emphasizes the balance between leveraging cutting-edge tools and addressing real-world challenges in software architecture.
Brought to you by IEEE Computer Society and IEEE Software magazine.
Show Notes
- MassTransit
- GitHub – MassTransit/MassTransit: Distributed Application Framework for .NET
- RabbitMQ: One broker to queue them all | RabbitMQ
- Introduction to Azure Service Bus, an enterprise message broker – Azure Service Bus
- Amazon Simple Queue Service
- PostgreSQL
From IEEE Computer Society
- From a Monolithic Big Data System to a Microservices Event-Driven Architecture
- Testing for Event-Driven Microservices Based on Consumer-Driven Contracts and State Models
- Event-driven modeling for context-aware information systems
- Improvement and Implementation of a High Performance CQRS Architecture
- A Scalable, Reactive Architecture for Cloud Applications
- The dark side of event sourcing: Managing data conversion
- Microservices Configurations and the Impact on the Performance in Cloud Native Environments
Related SE Radio Episodes
- SE Radio 539: Adam Dymitruk on Event Modeling
- SE Radio 351: Bernd Rücker on Orchestrating Microservices with Workflow Management
- SE Radio 218: Udi Dahan on CQRS (Command Query Responsibility Segregation)
- SE Radio 447: Michael Perry on Immutable Architecture
- SE Radio 487: Davide Bedin on Dapr Distributed Application Runtime
- SE Radio 470: L. Peter Deutsch on the Fallacies of Distributed Computing