Hi there, you need to understand that redis pub/sub and vert.x eventbus are 2 distinct components. Although it is common to use redis pub/sub to create a a message bus, vert.x does not uses this, it has its own bus.
Imagine the scenario where you have multiple verticles (see a verticle as a worker process), each verticle does a task in your application, in order to then to communicate, they use vert.x eventbus, now imagine that you need to communicate with another application that for example runs on another platform. One possible solution here is to use redis pub/sub between the two platforms vert.x and say for example node.js.
So while your verticle communicate internally using vert.x event bus, between platforms verticles communicate to node.js using redis, now the probably not so obvious thing is that since all verticles do not know anything about redis, (they only know about a module mod-redis) they send messages to the vert.x eventbus for the mod-redis execute on redis and the module, will reply to the verticle what redis replies.
I hope this makes it clear...