karp

module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2025 License: MIT

README

KAfka gRPc bridge

karp logo

Motivation

  • Publishing Kafka clusters over HTTP (in this case, HTTP/2 and gRPC)
  • Synchronizing Kafka clusters across different data centers
  • Simpler than Kafka REST API, thanks to bidirectional HTTP/2 streaming
  • One connection = one Kafka client – disconnection gracefully and immediately terminates the Kafka client.
  • Support multiple connections to a single topic with rebalancing
  • Consistent repartition a topic on the fly using different methods
  • Message filtering and mangling using Lua script

Components

1. karpserver

A gRPC server that streams messages from requested topics in configured Kafka clusters. Supports multiple connections to the same topic within a single consumer group, with proper rebalancing handling.

2. karpclient

A gRPC client that connects to the server and writes the message stream to configured Kafka clusters.

3. karp

A public Go client library for connecting to Karp Server.

Usage example

4. karp.proto

Protocol definition for other languages.

Docker images

Directories

Path Synopsis
cmd
karpclient command
karpserver command
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL