Using clustering in the bookstore application
The original bookstore app was set up to run in a multi-server configuration, with each server containing and running a full copy of the application code. This was your basic example of simple horizontal scalability; if you need more throughput, just add another server with the full application deployed to it. The problem with this approach is that it treats all application components equally in how they need to scale, and that's a naive way to view things. In reality, we will want to fully separate our components and allow each to have its own scaling profile.
In this section, we will introduce clustering into the bookstore app. We won't fully separate out our components yet, as that will be the primary focus of the next chapter. This also means that we won't introduce any remote interactions when leveraging actors from different modules, like the sales-order-create flow does in its use of the inventory and user systems. We can set that up here...