The previous chapter introduced verticles. A Vert.x application is made up of one or more verticles, and each verticle forms a unit for processing asynchronous events. It is common to specialize verticles by functional and technical concerns, such as having one verticle for exposing an HTTP API and another for dealing with a data store. This design also encourages the deployment of several instances of a given verticle for scalability purposes.
What we have not covered yet is how verticles can communicate with each other. For example, an HTTP API verticle needs to talk to the data store verticle if the larger Vert.x application is to do anything useful.
Connecting verticles and making sure they can cooperate is the role of the event bus. This is important when building reactive applications--the event bus offers a way to transparently distribute event-processing work both inside a process and across several nodes over the network.