awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
IBM avatar

IBM/sarama

0
View on GitHub↗
12,490 stars·1,843 forks·Go·MIT·15 views

Sarama

Sarama is an Apache Kafka Go client library that provides native support for the Kafka protocol. It includes a protocol client for managing offsets and timestamps, a producer implementation for sending messages, and a consumer group coordinator to balance workloads across multiple instances.

The library enables high throughput data streaming through concurrent message production and maintains strict partition ordering during network retries. It supports secure communication with Kafka brokers using certificate-based encryption to protect data traffic.

The project covers a broad range of distributed streaming capabilities, including consumer group management, time-based message retrieval, and partition-level data controls. These features allow for the distribution of message processing across service instances and the ability to initiate reading from precise points in time.

Features

  • Kafka Client Integrations - Provides a native Go client library for producing and consuming data streams from Apache Kafka clusters.
  • Kafka Connectors - Serves as a comprehensive Go client library for producing and consuming messages from Kafka clusters.
  • High-Throughput Data Streaming - Optimized for the continuous flow and high-throughput processing of massive volumes of Kafka event data.
  • Binary Protocols - Implements the Kafka binary protocol for efficient data transmission over raw TCP connections.
  • Consumer Cursor Tracking - Provides consumer cursor tracking to manage read positions within partitions for reliable message delivery.
  • Consumer Group Coordinators - Implements consumer group coordinators to maintain active membership and trigger workload rebalancing via heartbeats.
  • Consumer Group Managers - Implements infrastructure for organizing consumers into groups to distribute and scale message processing tasks.
  • Message Broker Producers - Provides a high-throughput producer implementation that supports concurrent execution and maintains partition ordering.
  • Protocol Clients - Implements the low-level Apache Kafka wire protocol for managing offsets, timestamps, and broker connections.
  • Event Buffering - Provides event buffering mechanisms to accumulate messages in memory and improve production throughput.
  • Timestamp-Based Offset Lookups - Allows retrieving specific message offsets for given timestamps to initiate reading from precise points in time.
  • Temporal Offset Retrieval - Enables looking up specific message offsets based on timestamps to read data from precise points in time.
  • Concurrent Message Production - Uses concurrent execution threads to maximize data throughput when sending large volumes of messages.
  • Message Ordering Guarantees - Ensures strict message ordering within a single partition is maintained even during network retries.
  • SSL/TLS Certificate Management - Implements SSL/TLS certificate management to secure data transmission between the client and Kafka brokers.
  • Secure Connection Handlers - Manages TLS encryption and certificate validation for secure connections between the client and Kafka brokers.
  • Broker Communication Encryption - Encrypts data traffic between Go applications and Kafka brokers using security certificates.
  • Broker Route Tracking - Maintains local maps of partition leaders to route messages without querying the cluster for every request.
  • Messaging - Listed in the “Messaging” section of the Awesome Go awesome list.

Star history

Star history chart for ibm/saramaStar history chart for ibm/sarama

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Sarama

Similar open-source projects, ranked by how many features they share with Sarama.
  • tulios/kafkajstulios avatar

    tulios/kafkajs

    3,997View on GitHub↗

    KafkaJS is a pure JavaScript client for Apache Kafka, providing the necessary tools to produce and consume messages from a Kafka cluster without requiring native dependencies or external addons. It functions as a comprehensive integration library for Node.js applications to engage in distributed message processing and real-time event streaming. The project is distinguished by its native implementation of the Kafka wire protocol, avoiding C++ dependencies. It features a security client supporting SSL, TLS, and SASL authentication, alongside transactional capabilities that allow for atomic mess

    JavaScriptkafkakafka-clientnodejs
    View on GitHub↗3,997
  • segmentio/kafka-gosegmentio avatar

    segmentio/kafka-go

    8,581View on GitHub↗

    Kafka library in Go

    Goconsumergogolang
    View on GitHub↗8,581
  • vectordotdev/vectorvectordotdev avatar

    vectordotdev/vector

    22,071View on GitHub↗

    Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network

    Rusteventsforwarderhacktoberfest
    View on GitHub↗22,071
  • twmb/franz-gotwmb avatar

    twmb/franz-go

    2,700View on GitHub↗

    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 transac

    Goclientgogolang
    View on GitHub↗2,700
See all 30 alternatives to Sarama→

Frequently asked questions

What does ibm/sarama do?

Sarama is an Apache Kafka Go client library that provides native support for the Kafka protocol. It includes a protocol client for managing offsets and timestamps, a producer implementation for sending messages, and a consumer group coordinator to balance workloads across multiple instances.

What are the main features of ibm/sarama?

The main features of ibm/sarama are: Kafka Client Integrations, Kafka Connectors, High-Throughput Data Streaming, Binary Protocols, Consumer Cursor Tracking, Consumer Group Coordinators, Consumer Group Managers, Message Broker Producers.

What are some open-source alternatives to ibm/sarama?

Open-source alternatives to ibm/sarama include: tulios/kafkajs — KafkaJS is a pure JavaScript client for Apache Kafka, providing the necessary tools to produce and consume messages… segmentio/kafka-go — Kafka library in Go. vectordotdev/vector — Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and… twmb/franz-go — franz-go is a low-level Go client library and wire protocol implementation for producing, consuming, and administering… redpanda-data/connect — Connect is a Kafka data integration platform and stream processing engine used to build declarative pipelines that… redpanda-data/console — Console is a web-based management tool for monitoring and administering Kafka clusters. It provides a graphical…