In case of per host broker model, my understanding is each host does not have the whole picture of all the services available in the cluster. How does one service find another service effectively especially in a large cluster, say more than 500 nodes?
Events stream between brokers as clients and brokers from connections that form a cluster. Each broker eventually learns what the other broker knows - usually sub second. Connection metadata doesn’t require much space, and a broker can hold the information for million of connections with a few hundred megs. Connections don’t really need to know where things are are connected. They send a request to a broker and the broker then determines where to forward the request. Either to a client that is connected to that broker or another broker that can handle the request.