All Projects → riferrei → srclient

riferrei / srclient

Licence: Apache-2.0 license
Golang Client for Schema Registry

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to srclient

Schema Registry
Confluent Schema Registry for Kafka
Stars: ✭ 1,647 (+776.06%)
Mutual labels:  schema, avro, confluent
schema-registry
📙 json & avro http schema registry backed by Kafka
Stars: ✭ 23 (-87.77%)
Mutual labels:  registry, schema, avro
Schema Registry
A CLI and Go client for Kafka Schema Registry
Stars: ✭ 105 (-44.15%)
Mutual labels:  schema, avro, confluent
Open Bank Mark
A bank simulation application using mainly Clojure, which can be used to end-to-end test and show some graphs.
Stars: ✭ 81 (-56.91%)
Mutual labels:  avro, confluent
avrora
A convenient Elixir library to work with Avro schemas and Confluent® Schema Registry
Stars: ✭ 59 (-68.62%)
Mutual labels:  avro, confluent
confluent-spark-avro
Spark UDFs to deserialize Avro messages with schemas stored in Schema Registry.
Stars: ✭ 18 (-90.43%)
Mutual labels:  avro, confluent
avro turf
A library that makes it easier to use the Avro serialization format from Ruby.
Stars: ✭ 130 (-30.85%)
Mutual labels:  schema, avro
avro ex
An Avro Library that emphasizes testability and ease of use.
Stars: ✭ 47 (-75%)
Mutual labels:  schema, avro
avrow
Avrow is a pure Rust implementation of the avro specification https://avro.apache.org/docs/current/spec.html with Serde support.
Stars: ✭ 27 (-85.64%)
Mutual labels:  schema, avro
Insulator
A client UI to inspect Kafka topics, consume, produce and much more
Stars: ✭ 53 (-71.81%)
Mutual labels:  schema, avro
kafka-avro-confluent
Kafka De/Serializer using avro and Confluent's Schema Registry
Stars: ✭ 18 (-90.43%)
Mutual labels:  avro, confluent
avro-serde-php
Avro Serialisation/Deserialisation (SerDe) library for PHP 7.3+ & 8.0 with a Symfony Serializer integration
Stars: ✭ 43 (-77.13%)
Mutual labels:  avro, confluent
kafka-shell
⚡A supercharged, interactive Kafka shell built on top of the existing Kafka CLI tools.
Stars: ✭ 107 (-43.09%)
Mutual labels:  apache, confluent
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (+203.72%)
Mutual labels:  avro, confluent
Kaufmann ex
Kafka backed service library.
Stars: ✭ 86 (-54.26%)
Mutual labels:  schema, avro
schema-registry-php-client
A PHP 7.3+ API client for the Confluent Schema Registry REST API based on Guzzle 6 - http://docs.confluent.io/current/schema-registry/docs/index.html
Stars: ✭ 40 (-78.72%)
Mutual labels:  avro, confluent
sbt-avro
Plugin SBT to Generate Scala classes from Apache Avro schemas hosted on a remote Confluent Schema Registry.
Stars: ✭ 15 (-92.02%)
Mutual labels:  schema, avro
pulsar-io-kafka
Pulsar IO Kafka Connector
Stars: ✭ 24 (-87.23%)
Mutual labels:  schema
eyy-indexer
An image and video friendly directory indexer for web directories.
Stars: ✭ 53 (-71.81%)
Mutual labels:  apache
serde
🚝 (unmaintained) A framework for defining, serializing, deserializing, and validating data structures
Stars: ✭ 49 (-73.94%)
Mutual labels:  schema

Schema Registry Client for Go

Go Report Card Go Reference

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.

Features

  • Simple to Use - This client provides a very high-level abstraction over the operations developers writing programs for Apache Kafka typically need. Thus, it will feel natural for them to use this client's functions. Moreover, developers don't need to handle low-level HTTP details to communicate with Schema Registry.
  • Performance - This client provides caching capabilities. This means that any data retrieved from Schema Registry can be cached locally to improve the performance of subsequent requests. This allows programs not co-located with Schema Registry to reduce the latency necessary on each request. This functionality can be disabled programmatically.

License: Apache License v2.0

Installation

Module install:

This client is a Go module, therefore you can have it simply by adding the following import to your code:

import "github.com/riferrei/srclient"

Then run a build to have this client automatically added to your go.mod file as a dependency.

Manual install:

go get -u github.com/riferrei/srclient

Testing

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

Getting Started & Examples

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].