Kafka from client to server vs. "router" in the DC I want to use Kafka as a message broker on the server side of a distributed application.  We have clients that can be located around the world, and that send frequent messages to the server.  Right now those messages are just JSON over ZMQ.  I am considering changing the connection between client and server to Kafka (since I'm going to use Kafka in the server side anyway) but have the following confusion:


Is Kafka even meant to be used this way (distributed clients connecting to the server with it)?  I don't see that in the docs.
If I don't use Kafka, I'll have a single choke point at my server/DC entry.  What's the efficient alternative to get information from the software gateway (which is now ZMQ) into kafka, without having that software gateway be a bottleneck?
Kafka doesn't care how you use it; it does nothing except transporting your arbitrary messages for you. Yes, you can use it that way, and actually I do not see anything specific enough about it to make it necessary to be mentioned in the docs.

Obviously you need to take a  little care regarding security (SSL or SASL...) but aside from that, there should be no particular problem.