srclient is a Golang client for Schema Registry, a software that provides a RESTful interface for developers to define standard schemas for their events, share them across the organization, and safely evolve them in a way that is backward compatible and future proof. Using this client allows developers to build Golang programs that write and read schema compatible records to/from Apache Kafka using Avro, Protobuf, and JSON Schemas while Schema Registry is used to manage the schemas used. Using this architecture, producers programs interact with Schema Registry to retrieve schemas and use it to serialize records. Then consumer programs can retrieve the same schema from Schema Registry to deserialize the records. You can read more about the benefits of using Schema Registry here.
License: Apache License v2.0
This client is a Go module, therefore you can have it simply by adding the following import to your code:
Then run a build to have this client automatically added to your go.mod file as a dependency.
go get -u github.com/riferrei/srclient
Unit testing can be run with the generic go test command:
go test -cover -v ./...
You can also run integration testing in your local machine given you have docker installed:
docker compose up --exit-code-from srclient-integration-test docker compose down --rmi local