Sarama is a Go library for Apache Kafka 0.8, 0.9, and 0.10.
Go Shell Makefile
Latest commit 0fb560e Dec 20, 2016 @eapache eapache Prep for v1.11
Permalink
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE.md Oct 17, 2016
examples add config setting Dec 8, 2016
mocks fix mocks Oct 21, 2016
tools Fix config for calling NewSyncProducer() Dec 15, 2016
vagrant Use sensible heap size for JVMs in Vagrant Oct 25, 2016
.gitignore Add Vagrantfile, and provisioning scripts that set up a working 5-nod… Oct 16, 2014
.travis.yml Merge pull request #775 from jurriaan/list-offset-request-v1 Nov 22, 2016
CHANGELOG.md Prep for v1.11 Dec 20, 2016
MIT-LICENSE Add license information Jul 29, 2013
Makefile Drop go 1.4 and update tools/docs appropriately Apr 13, 2016
README.md Update supported versions Nov 22, 2016
Vagrantfile Use sensible heap size for JVMs in Vagrant Oct 25, 2016
api_versions_request.go Fix race in broker version check Jun 17, 2016
api_versions_request_test.go Add support for latest protocol messages Jun 9, 2016
api_versions_response.go Misc minor lint changes Jun 22, 2016
api_versions_response_test.go Add support for decoding versioned responses Jun 9, 2016
async_producer.go Producer: block in `Close` without `Return.Errors` Nov 22, 2016
async_producer_test.go Producer: block in `Close` without `Return.Errors` Nov 22, 2016
broker.go Fix segmentation fault on SASL failed Dec 1, 2016
broker_test.go Use a local registry for metrics Sep 7, 2016
client.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
client_test.go Make mock brokers and protocol packets available for outsider Feb 3, 2016
config.go Merge pull request #786 from rtreffer/master Nov 22, 2016
config_test.go Guard against using LZ4 with old kafka protocol versions Nov 22, 2016
consumer.go Tweak some docs Nov 29, 2016
consumer_group_members.go More feedback, renamed structs Dec 23, 2015
consumer_group_members_test.go Expose producer metrics with go-metrics Oct 25, 2016
consumer_metadata_request.go Fix race in broker version check Jun 17, 2016
consumer_metadata_request_test.go Add decode method to request types Jul 13, 2015
consumer_metadata_response.go Fix race in broker version check Jun 17, 2016
consumer_metadata_response_test.go Add mock responses for OffsetManager testing Aug 10, 2015
consumer_test.go Makes newMockMetadataResponse exported (fixes #609) Feb 19, 2016
crc32_field.go Use an optimized crc32 library which is faster Aug 31, 2015
describe_groups_request.go Fix race in broker version check Jun 17, 2016
describe_groups_request_test.go Add tests for all new request types. Dec 8, 2015
describe_groups_response.go fix nameconvention errors Oct 4, 2016
describe_groups_response_test.go Add support for decoding versioned responses Jun 9, 2016
dev.yml Bump go version in dev Nov 22, 2016
encoder_decoder.go Expose producer metrics with go-metrics Oct 25, 2016
errors.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
fetch_request.go Misc minor lint changes Jun 22, 2016
fetch_request_test.go Add decode method to request types Jul 13, 2015
fetch_response.go Misc minor lint changes Jun 22, 2016
fetch_response_test.go Add support for decoding versioned responses Jun 9, 2016
functional_client_test.go Stop test if client.Coordinator fails somehow Oct 25, 2016
functional_consumer_test.go Finalize most of the toxiproxy test framework May 1, 2015
functional_offset_manager_test.go OffsetManager: match upstream mark/next behaviour Jul 26, 2016
functional_producer_test.go Expose request latency metric Nov 22, 2016
functional_test.go Fix version.satisfies so all tests run against 0.9 Nov 26, 2015
heartbeat_request.go Fix race in broker version check Jun 17, 2016
heartbeat_request_test.go Add tests for all new request types. Dec 8, 2015
heartbeat_response.go Fix race in broker version check Jun 17, 2016
heartbeat_response_test.go Add support for decoding versioned responses Jun 9, 2016
join_group_request.go Expose producer metrics with go-metrics Oct 25, 2016
join_group_request_test.go Add tests for all new request types. Dec 8, 2015
join_group_response.go Fix race in broker version check Jun 17, 2016
join_group_response_test.go Add support for decoding versioned responses Jun 9, 2016
leave_group_request.go Fix race in broker version check Jun 17, 2016
leave_group_request_test.go Add tests for all new request types. Dec 8, 2015
leave_group_response.go Fix race in broker version check Jun 17, 2016
leave_group_response_test.go Add support for decoding versioned responses Jun 9, 2016
length_field.go Cleanup a bunch more error formats Jul 29, 2015
list_groups_request.go Fix race in broker version check Jun 17, 2016
list_groups_request_test.go Add tests for all new request types. Dec 8, 2015
list_groups_response.go Fix race in broker version check Jun 17, 2016
list_groups_response_test.go Add support for decoding versioned responses Jun 9, 2016
message.go Merge pull request #786 from rtreffer/master Nov 22, 2016
message_set.go Prefix error variables with Err Feb 24, 2015
message_test.go Add lz4 encoding test Nov 22, 2016
metadata_request.go Misc minor lint changes Jun 22, 2016
metadata_request_test.go Add decode method to request types Jul 13, 2015
metadata_response.go Misc minor lint changes Jun 22, 2016
metadata_response_test.go Add support for decoding versioned responses Jun 9, 2016
metrics.go Expose producer metrics with go-metrics Oct 25, 2016
metrics_test.go Expose producer metrics with go-metrics Oct 25, 2016
mockbroker.go Expose producer metrics with go-metrics Oct 25, 2016
mockresponses.go Add support for decoding versioned responses Jun 9, 2016
offset_commit_request.go Misc minor lint changes Jun 22, 2016
offset_commit_request_test.go Add decode method to request types Jul 13, 2015
offset_commit_response.go Fix race in broker version check Jun 17, 2016
offset_commit_response_test.go Add mock responses for OffsetManager testing Aug 10, 2015
offset_fetch_request.go Fix race in broker version check Jun 17, 2016
offset_fetch_request_test.go Add decode method to request types Jul 13, 2015
offset_fetch_response.go Misc minor lint changes Jun 22, 2016
offset_fetch_response_test.go Add mock responses for OffsetManager testing Aug 10, 2015
offset_manager.go OffsetManager: match upstream mark/next behaviour Jul 26, 2016
offset_manager_test.go OffsetManager: match upstream mark/next behaviour Jul 26, 2016
offset_request.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
offset_request_test.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
offset_response.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
offset_response_test.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
packet_decoder.go Add JoinGroup request and response pair. Dec 8, 2015
packet_encoder.go Expose producer metrics with go-metrics Oct 25, 2016
partitioner.go Fix documentation for HashPartitioner Aug 9, 2016
partitioner_test.go Fix HashPartitioner's negative result by applying modulo before check… Jul 18, 2016
prep_encoder.go Expose producer metrics with go-metrics Oct 25, 2016
produce_request.go Tweak some docs Nov 29, 2016
produce_request_test.go Add decode method to request types Jul 13, 2015
produce_response.go Don't try and parse a timestamp of -1 Jul 9, 2016
produce_response_test.go Add support for decoding versioned responses Jun 9, 2016
produce_set.go Expose producer metrics with go-metrics Oct 25, 2016
produce_set_test.go Fix compression timestamps (#759) Oct 6, 2016
real_decoder.go move to real_decoder and privatize. Jul 4, 2016
real_encoder.go Expose producer metrics with go-metrics Oct 25, 2016
request.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
request_test.go Expose producer metrics with go-metrics Oct 25, 2016
response_header.go Cleanup a bunch more error formats Jul 29, 2015
response_header_test.go Fix Golint errors, except for all the missing comments. Aug 30, 2013
sarama.go Expose request latency metric Nov 22, 2016
sasl_handshake_request.go Fix race in broker version check Jun 17, 2016
sasl_handshake_request_test.go Add support for latest protocol messages Jun 9, 2016
sasl_handshake_response.go Fix race in broker version check Jun 17, 2016
sasl_handshake_response_test.go Add support for decoding versioned responses Jun 9, 2016
sync_group_request.go Expose producer metrics with go-metrics Oct 25, 2016
sync_group_request_test.go Add tests for all new request types. Dec 8, 2015
sync_group_response.go Fix race in broker version check Jun 17, 2016
sync_group_response_test.go Add support for decoding versioned responses Jun 9, 2016
sync_producer.go Sync Producer: Don't change config in constructor Nov 24, 2016
sync_producer_test.go Sync Producer: Don't change config in constructor Nov 24, 2016
utils.go Support ListOffsetRequest v1 [KIP-79] Oct 31, 2016
utils_test.go Support configuring target kafka version Jun 9, 2016

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.

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.7 and 1.6, and Kafka 0.10.0 and 0.9.0, 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