Building Event-Driven services lets you decouple the data your ecosystem creates from the systems that create them, leading to autonomous systems with very few runtime dependencies. It opens the path to greenfield applications and Elixir, with its fault-tolerance and concurrency models, is the perfect language in which to build such a system.
In this course, we'll build our very own Elixir wrapper for a RabbitMQ-backed IPC messaging system, and we'll use Google Protobuf, Google's language and platform-neutral mechanism for serializing data, to structure and synchronize message contracts between services. You'll walk away with a roadmap for integrating an Elixir service into your existing technical ecosystem. You’ll have the tools you need to understand when and why to reach for IPC and what makes Elixir uniquely suited to build this type of communication.
This course is for anyone that wants to bring Elixir into your existing tech stack. You’ll create an ecosystem of rich messages whose utility extends beyond their source application, moving you towards a Microservice-Oriented Architecture. Moderate Elixir experience is a plus but no prior knowledge of RabbitMQ or Google Protobuf is assumed.
Elixir and Inter-Process Communication create the blueprint for integrating Elixir into your existing tech stack. By the end of the day, you’ll understand when and why to reach for IPC and how to leverage Elixir’s fault-tolerance and concurrency capabilities to create an event-driven system that seamlessly brings Elixir into your existing ecosystem..
We'll learn how to identify scenarios that can benefit from IPC, and then we’ll dive right into building an IPC system. Starting with the basics of RabbitMQ and how to interact with it in Elixir, we’ll move on to discussing the challenges of message synchronization and how Google Protobuf solves some of these problems.
We'll see how Elixir's concurrency and fault tolerance features--in particular supervision trees and the "let it crash" mentality--make Elixir the perfect fit for building IPC. We'll wrap up with a look at some deployment concerns and strategies.