In this part, we move beyond the theory and simplistic examples and dive into the use of Pulsar Functions as a development framework for microservices applications by walking through a much more realistic use case based on a fictional food delivery service called GottaEat. This section demonstrates how to implement common design patterns from both the enterprise integration world and the microservices world, highlighting the usage of various patterns, such as content-based routing and filtering, resiliency, and data access within a real-world scenario.
Chapter 8 demonstrates how to implement common messaging routing patterns, such as message splitting, content-based routing, and filtering. It also shows how to implement various message transformation patterns, such as value extraction and message translation.
Chapter 9 stresses the importance of having resiliency built into your microservices and demonstrates how to implement this inside your Java-based Pulsar functions with the help of the resiliency4j library. It covers various scenarios that can occur in an event-based program and the patterns you can use to insulate your microservices from these failure scenarios to maximize your application uptime.