No Description

Dimitrij Denissenko 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
examples af448a6f24 Fix names as a_name to be aName 10 years ago
mocks 03d03b3c61 Minor lint changes 10 years ago
tools 9008214b35 Rename topicConsumer tool to just consumer 10 years ago
vagrant b841795c04 Add kafka 0.9 10 years ago
.gitignore d3bc825c36 Add Vagrantfile, and provisioning scripts that set up a working 5-node cluster. 11 years ago
.travis.yml 5dfbdd353d Bump CI from 1.5.1 to 1.5.2 10 years ago
CHANGELOG.md 87ec8d76e8 Prep for 1.7 10 years ago
CONTRIBUTING.md 6aacbb7d86 Some additions 11 years ago
MIT-LICENSE 86b4691cdd Add license information 12 years ago
Makefile 44d2339061 Put a 60s limit on the test suite 10 years ago
README.md 7cdfc5b3e0 Replace 'other' with 'contributing' and make it more friendly 10 years ago
Vagrantfile f3aa1b53de Upgrade vagrant from precise to trusty 10 years ago
async_producer.go b8b4670075 Merge pull request #562 from Shopify/producer-syn-fin 10 years ago
async_producer_test.go 733c74f30d Refactor the producer, part 2 10 years ago
broker.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
broker_test.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
client.go 12d29331cf A few minor suggestions from golint 10 years ago
client_test.go 1874f69e22 Shuffle seed brokers so we don't always connect to the first one provided 10 years ago
config.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
config_test.go 616ac5daa4 Unify configuration structures into config.go 10 years ago
consumer.go 6facece8ef Wrap godoc to 80 chars, round 2 10 years ago
consumer_metadata_request.go aa411f16fd Add decode method to request types 10 years ago
consumer_metadata_request_test.go aa411f16fd Add decode method to request types 10 years ago
consumer_metadata_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
consumer_metadata_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
consumer_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
crc32_field.go 8fa523b125 Use an optimized crc32 library which is faster 10 years ago
describe_groups_request.go 7611ea6ab0 Add DescribeGroup request and response pair. 10 years ago
describe_groups_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
describe_groups_response.go 7611ea6ab0 Add DescribeGroup request and response pair. 10 years ago
describe_groups_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
encoder_decoder.go 66411d8222 Cleanup a bunch more error formats 10 years ago
errors.go 2bac783afa Add new protocol errors with their respective messages. 10 years ago
fetch_request.go aa411f16fd Add decode method to request types 10 years ago
fetch_request_test.go aa411f16fd Add decode method to request types 10 years ago
fetch_response.go 900e4f4595 Centralize and unify getSubset error checking 10 years ago
fetch_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
functional_client_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_consumer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_offset_manager_test.go 390dbcda99 Skip offset tests against 0.9 for now 10 years ago
functional_producer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 10 years ago
group_members.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
group_members_test.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
heartbeat_request.go b1d40bdba9 Add Heartbeat request and response pair. 10 years ago
heartbeat_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
heartbeat_response.go b1d40bdba9 Add Heartbeat request and response pair. 10 years ago
heartbeat_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
join_group_request.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
join_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
join_group_response.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
join_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
leave_group_request.go ccec1aae54 Add LeaveGroup request and response pair. 10 years ago
leave_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
leave_group_response.go ccec1aae54 Add LeaveGroup request and response pair. 10 years ago
leave_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
length_field.go 66411d8222 Cleanup a bunch more error formats 10 years ago
list_groups_request.go 037310ad5d Add ListGroups request and response pair. 10 years ago
list_groups_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
list_groups_response.go 037310ad5d Add ListGroups request and response pair. 10 years ago
list_groups_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
message.go 2594b8edd6 Fix and simplify message decoding 10 years ago
message_set.go 2018fd405e Prefix error variables with Err 10 years ago
message_test.go 9675a91962 Added Gzip test. Simplified a little. 12 years ago
metadata_request.go aa411f16fd Add decode method to request types 10 years ago
metadata_request_test.go aa411f16fd Add decode method to request types 10 years ago
metadata_response.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 10 years ago
metadata_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
mockbroker_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
mockresponses_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
offset_commit_request.go aa411f16fd Add decode method to request types 10 years ago
offset_commit_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_commit_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_fetch_request.go aa411f16fd Add decode method to request types 10 years ago
offset_fetch_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_fetch_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_manager.go 12d29331cf A few minor suggestions from golint 10 years ago
offset_manager_test.go 5109f975f5 OffsetManager: make initial offset configurable 10 years ago
offset_request.go aa411f16fd Add decode method to request types 10 years ago
offset_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_response.go 39823e3af9 Check some errors 11 years ago
offset_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
packet_decoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
packet_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
partitioner.go 6facece8ef Wrap godoc to 80 chars, round 2 10 years ago
partitioner_test.go faec514115 Add an example for different partitioning per topic. 10 years ago
prep_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
produce_request.go 900e4f4595 Centralize and unify getSubset error checking 10 years ago
produce_request_test.go aa411f16fd Add decode method to request types 10 years ago
produce_response.go 5509b4a29c wip 12 years ago
produce_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
produce_set.go 52c880384b Extract produceSet and add tests 10 years ago
produce_set_test.go ec382518ee Fix errcheck 10 years ago
real_decoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
real_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
request.go a050648142 Register new request type keys in request.go 10 years ago
request_test.go 9dbdf89484 Better assertion failure messages from request_test. 10 years ago
response_header.go 66411d8222 Cleanup a bunch more error formats 10 years ago
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. 12 years ago
sarama.go 2ca3f4f970 Update and simplify doc for MaxResponseSize 10 years ago
snappy.go 0aeb8f0f95 Update snappy repo path and encoding interface 10 years ago
snappy_test.go 03d03b3c61 Minor lint changes 10 years ago
sync_group_request.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
sync_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
sync_group_response.go 2795466945 More 0.9 protocol additions. Add broker accessors 10 years ago
sync_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
sync_producer.go 12d29331cf A few minor suggestions from golint 10 years ago
sync_producer_test.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 10 years ago
utils.go 766d1bfaac Simplify how we manage seed brokers 10 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.

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.4 and 1.5, and Kafka 0.8.1 and 0.8.2, 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