Producer/consumer programming is essentially a collaboration pattern. Different groups or teams can independently handle their own responsibilities. Teams can use different programming languages from each other, different infrastructure, and so on, allowing groups to collaborate with each other without being constrained by the other groups’ processes. The producer/consumer pattern also allows for scaling out an application, for offloading work from the main application to reduce bottlenecks, and reducing the impact of severe traffic spikes. The producer/consumer pattern is also one way of introducing microservices. The code for this talk continues our file-import project.