franz-go is a low-level Go client library and wire protocol implementation for producing, consuming, and administering Kafka clusters. It functions as a zero-allocation network driver that utilizes a direct TCP communication layer to handle requests and responses.
The project integrates a schema registry client for encoding and decoding structured data. It provides a programmatic interface for cluster administration, including the management of topics, access control lists, and broker configurations.
The library covers data consumption through consumer groups, message production with transaction support, and secure communication via encrypted and authenticated connections. It also includes hooks for monitoring client performance, network latencies, and throughput.