Ironstream Integration Components has an internal Kafka producer that publishes data to Kafka brokers via a single topic. Each message is sent in JSON formatted field/value pairs, which are sent by the Kafka producer to the broker using TCP/IP, with an option to secure the connection using TLS. If the Kafka broker is temporarily unavailable, there is an option to cache the messages locally until the broker is available.
The Ironstream Proxy Server uses the Sarama library. The producer that uses the AsyncProducer, which publishes Kafka messages using a non-blocking API. It routes messages to the correct broker for the provided topic-partition, refreshing metadata as appropriate, and parses responses for errors.