No Description

Kostas Christidis 21e1c0b874 Fix comment for mocks.NewConsumer 7 years ago
.github 376a293238 Update ISSUE_TEMPLATE.md 8 years ago
examples fe841de91b Fix tiny typo in examples README link 8 years ago
mocks 21e1c0b874 Fix comment for mocks.NewConsumer 7 years ago
tools bcc8fb3014 Fix config for calling NewSyncProducer() 8 years ago
vagrant 609cb1c1db Use sensible heap size for JVMs in Vagrant 8 years ago
.gitignore d3bc825c36 Add Vagrantfile, and provisioning scripts that set up a working 5-node cluster. 10 years ago
.travis.yml 48dbf68dcd Drop golang 1.6 from official support 8 years ago
CHANGELOG.md c01858abb6 Fix the year 8 years ago
LICENSE 59589985d3 Renaming MIT-LICENSE file to LICENSE and removing created LICENSE file 8 years ago
Makefile 5e89a31b27 Drop go 1.4 and update tools/docs appropriately 9 years ago
README.md 48dbf68dcd Drop golang 1.6 from official support 8 years ago
Vagrantfile 609cb1c1db Use sensible heap size for JVMs in Vagrant 8 years ago
api_versions_request.go 90a4cc632e Fix race in broker version check 8 years ago
api_versions_request_test.go c5f4248429 Add support for latest protocol messages 8 years ago
api_versions_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
api_versions_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
async_producer.go 5046283ff1 fix mention of Return.Successes 8 years ago
async_producer_test.go cecb3d9807 Formating all files with gofmt -s 8 years ago
broker.go e16f7f9221 add kafka 0.10.2.0 in version list 8 years ago
broker_test.go e16f7f9221 add kafka 0.10.2.0 in version list 8 years ago
client.go dbc0382c17 Rename client.Isr to client.InSyncReplicas 8 years ago
client_test.go dbc0382c17 Rename client.Isr to client.InSyncReplicas 8 years ago
config.go 686609495c Add a config warning for unusual flushes 8 years ago
config_test.go 645b0298c1 Guard against using LZ4 with old kafka protocol versions 8 years ago
consumer.go 7f63d35b79 Fix an additional possible alignment issue 8 years ago
consumer_group_members.go 83f973c2d6 More feedback, renamed structs 9 years ago
consumer_group_members_test.go cecb3d9807 Formating all files with gofmt -s 8 years ago
consumer_metadata_request.go 90a4cc632e Fix race in broker version check 8 years ago
consumer_metadata_request_test.go aa411f16fd Add decode method to request types 9 years ago
consumer_metadata_response.go 90a4cc632e Fix race in broker version check 8 years ago
consumer_metadata_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 9 years ago
consumer_test.go 5d23f48cfe Makes newMockMetadataResponse exported (fixes #609) 9 years ago
crc32_field.go e1fe80090f Go back to hash/crc32 8 years ago
describe_groups_request.go 90a4cc632e Fix race in broker version check 8 years ago
describe_groups_request_test.go 1621c4959a Add tests for all new request types. 9 years ago
describe_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
describe_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
dev.yml aa3b526cc8 Fix test for gzip changes in go1.8 8 years ago
encoder_decoder.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
errors.go 77f3449e67 Additional error codes 8 years ago
fetch_request.go bfebde69db fix return err 8 years ago
fetch_request_test.go aa411f16fd Add decode method to request types 9 years ago
fetch_response.go 88a4afb3d1 Misc minor lint changes 8 years ago
fetch_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
functional_client_test.go e931cc00ed Stop test if client.Coordinator fails somehow 8 years ago
functional_consumer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_offset_manager_test.go ccab789d44 OffsetManager: match upstream mark/next behaviour 8 years ago
functional_producer_test.go 7b655373d8 Expose request latency metric 8 years ago
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 9 years ago
heartbeat_request.go 90a4cc632e Fix race in broker version check 8 years ago
heartbeat_request_test.go 1621c4959a Add tests for all new request types. 9 years ago
heartbeat_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
heartbeat_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
join_group_request.go 4351c00d43 Permit protocol ordering in JoinGroup requests 8 years ago
join_group_request_test.go 4351c00d43 Permit protocol ordering in JoinGroup requests 8 years ago
join_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
join_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
leave_group_request.go 90a4cc632e Fix race in broker version check 8 years ago
leave_group_request_test.go 1621c4959a Add tests for all new request types. 9 years ago
leave_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
leave_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
length_field.go 66411d8222 Cleanup a bunch more error formats 9 years ago
list_groups_request.go 90a4cc632e Fix race in broker version check 8 years ago
list_groups_request_test.go 1621c4959a Add tests for all new request types. 9 years ago
list_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
list_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
message.go e6df07fb9c Merge pull request #786 from rtreffer/master 8 years ago
message_set.go 2018fd405e Prefix error variables with Err 10 years ago
message_test.go aa3b526cc8 Fix test for gzip changes in go1.8 8 years ago
metadata_request.go 88a4afb3d1 Misc minor lint changes 8 years ago
metadata_request_test.go aa411f16fd Add decode method to request types 9 years ago
metadata_response.go 88a4afb3d1 Misc minor lint changes 8 years ago
metadata_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
metrics.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
metrics_test.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
mockbroker.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
mockresponses.go 37654da7e1 Add support for decoding versioned responses 8 years ago
offset_commit_request.go 88a4afb3d1 Misc minor lint changes 8 years ago
offset_commit_request_test.go aa411f16fd Add decode method to request types 9 years ago
offset_commit_response.go 90a4cc632e Fix race in broker version check 8 years ago
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 9 years ago
offset_fetch_request.go 90a4cc632e Fix race in broker version check 8 years ago
offset_fetch_request_test.go aa411f16fd Add decode method to request types 9 years ago
offset_fetch_response.go 88a4afb3d1 Misc minor lint changes 8 years ago
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 9 years ago
offset_manager.go ccab789d44 OffsetManager: match upstream mark/next behaviour 8 years ago
offset_manager_test.go ccab789d44 OffsetManager: match upstream mark/next behaviour 8 years ago
offset_request.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 8 years ago
offset_request_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 8 years ago
offset_response.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 8 years ago
offset_response_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 8 years ago
packet_decoder.go 1badb8e8c4 Add JoinGroup request and response pair. 9 years ago
packet_encoder.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
partitioner.go 8637e89db9 Minor changes to reflect comments to PR 8 years ago
partitioner_test.go f3b2363114 Fix concurrency issue in hashedPartitioner 8 years ago
prep_encoder.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
produce_request.go 8d739a4669 Tweak some docs 8 years ago
produce_request_test.go aa411f16fd Add decode method to request types 9 years ago
produce_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
produce_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
produce_set.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
produce_set_test.go 133322fbfe Fix compression timestamps (#759) 8 years ago
real_decoder.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
real_encoder.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
request.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 8 years ago
request_test.go 4351c00d43 Permit protocol ordering in JoinGroup requests 8 years ago
response_header.go 66411d8222 Cleanup a bunch more error formats 9 years ago
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. 11 years ago
sarama.go 7b655373d8 Expose request latency metric 8 years ago
sasl_handshake_request.go 90a4cc632e Fix race in broker version check 8 years ago
sasl_handshake_request_test.go c5f4248429 Add support for latest protocol messages 8 years ago
sasl_handshake_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
sasl_handshake_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
sync_group_request.go 124e7c647e Expose producer metrics with go-metrics 8 years ago
sync_group_request_test.go 1621c4959a Add tests for all new request types. 9 years ago
sync_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 8 years ago
sync_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 years ago
sync_producer.go 8268907a6b Tweak documentation of Close/AsyncClose methods 8 years ago
sync_producer_test.go cecb3d9807 Formating all files with gofmt -s 8 years ago
utils.go e16f7f9221 add kafka 0.10.2.0 in version list 8 years ago
utils_test.go 5e8b6ff817 Support configuring target kafka version 8 years ago

README.md

sarama

GoDoc Build Status

Sarama is an MIT-licensed Go client library for Apache Kafka version 0.8 (and later).

Getting started

  • API documentation and examples are available via godoc.
  • Mocks for testing are available in the mocks subpackage.
  • The examples directory contains more elaborate example applications.
  • The tools directory contains command line tools that can be useful for testing, diagnostics, and instrumentation.

You might also want to look at the Frequently Asked Questions.

Compatibility and API stability

Sarama provides a "2 releases + 2 months" compatibility guarantee: we support the two latest stable releases of Kafka and Go, and we provide a two month grace period for older releases. This means we currently officially support Go 1.8 and 1.7, and Kafka 0.10 and 0.9, although older releases are still likely to work.

Sarama follows semantic versioning and provides API stability via the gopkg.in service. You can import a version with a guaranteed stable API via http://gopkg.in/Shopify/sarama.v1. A changelog is available here.

Contributing