Brak opisu

Evan Huus 78fa41b269 Misc minor readme tweaks 10 lat temu
examples af448a6f24 Fix names as a_name to be aName 10 lat temu
mocks 3695413ed2 Collapse two sync.atomic calls 10 lat temu
tools 9008214b35 Rename topicConsumer tool to just consumer 10 lat temu
vagrant 30ddad94af Make sure the toxiproxy path is based in the repository root 10 lat temu
.gitignore d3bc825c36 Add Vagrantfile, and provisioning scripts that set up a working 5-node cluster. 11 lat temu
.travis.yml 00604524c5 Officially drop 1.3 (but it still works for now) 10 lat temu
CHANGELOG.md ce7cca6917 Fix changelog typo 10 lat temu
CONTRIBUTING.md 6aacbb7d86 Some additions 11 lat temu
MIT-LICENSE 86b4691cdd Add license information 12 lat temu
Makefile 44d2339061 Put a 60s limit on the test suite 10 lat temu
README.md 78fa41b269 Misc minor readme tweaks 10 lat temu
Vagrantfile cf5665ab9a Increase memory with vagrant virtualbox 11 lat temu
async_producer.go 52c880384b Extract produceSet and add tests 10 lat temu
async_producer_test.go 733c74f30d Refactor the producer, part 2 10 lat temu
broker.go b51603af22 Make dead brokers die harder 10 lat temu
broker_test.go 39f6444f59 Don't return from example functions 10 lat temu
client.go 12d29331cf A few minor suggestions from golint 10 lat temu
client_test.go 1874f69e22 Shuffle seed brokers so we don't always connect to the first one provided 10 lat temu
config.go 6facece8ef Wrap godoc to 80 chars, round 2 10 lat temu
config_test.go 616ac5daa4 Unify configuration structures into config.go 11 lat temu
consumer.go 6facece8ef Wrap godoc to 80 chars, round 2 10 lat temu
consumer_metadata_request.go aa411f16fd Add decode method to request types 10 lat temu
consumer_metadata_request_test.go aa411f16fd Add decode method to request types 10 lat temu
consumer_metadata_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
consumer_metadata_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
consumer_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 lat temu
crc32_field.go 8fa523b125 Use an optimized crc32 library which is faster 10 lat temu
encoder_decoder.go 66411d8222 Cleanup a bunch more error formats 10 lat temu
errors.go 66411d8222 Cleanup a bunch more error formats 10 lat temu
fetch_request.go aa411f16fd Add decode method to request types 10 lat temu
fetch_request_test.go aa411f16fd Add decode method to request types 10 lat temu
fetch_response.go 900e4f4595 Centralize and unify getSubset error checking 10 lat temu
fetch_response_test.go 87c89f868c Also prefix KError instances with Err. 11 lat temu
functional_client_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 lat temu
functional_consumer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 lat temu
functional_offset_manager_test.go e8c3c16e1a Add a functional test for the offset manager. 10 lat temu
functional_producer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 lat temu
functional_test.go e8c3c16e1a Add a functional test for the offset manager. 10 lat temu
length_field.go 66411d8222 Cleanup a bunch more error formats 10 lat temu
message.go 2594b8edd6 Fix and simplify message decoding 10 lat temu
message_set.go 2018fd405e Prefix error variables with Err 11 lat temu
message_test.go 9675a91962 Added Gzip test. Simplified a little. 12 lat temu
metadata_request.go aa411f16fd Add decode method to request types 10 lat temu
metadata_request_test.go aa411f16fd Add decode method to request types 10 lat temu
metadata_response.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 11 lat temu
metadata_response_test.go 87c89f868c Also prefix KError instances with Err. 11 lat temu
mockbroker_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 lat temu
mockresponses_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 lat temu
offset_commit_request.go aa411f16fd Add decode method to request types 10 lat temu
offset_commit_request_test.go aa411f16fd Add decode method to request types 10 lat temu
offset_commit_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_fetch_request.go aa411f16fd Add decode method to request types 10 lat temu
offset_fetch_request_test.go aa411f16fd Add decode method to request types 10 lat temu
offset_fetch_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_manager.go 12d29331cf A few minor suggestions from golint 10 lat temu
offset_manager_test.go 5109f975f5 OffsetManager: make initial offset configurable 10 lat temu
offset_request.go aa411f16fd Add decode method to request types 10 lat temu
offset_request_test.go aa411f16fd Add decode method to request types 10 lat temu
offset_response.go 39823e3af9 Check some errors 11 lat temu
offset_response_test.go 87c89f868c Also prefix KError instances with Err. 11 lat temu
packet_decoder.go 4969d24fa1 kafka->sarama 12 lat temu
packet_encoder.go 2f5cf8fd16 Fixed remaining test. 12 lat temu
partitioner.go 6facece8ef Wrap godoc to 80 chars, round 2 10 lat temu
partitioner_test.go faec514115 Add an example for different partitioning per topic. 11 lat temu
prep_encoder.go 12d29331cf A few minor suggestions from golint 10 lat temu
produce_request.go 900e4f4595 Centralize and unify getSubset error checking 10 lat temu
produce_request_test.go aa411f16fd Add decode method to request types 10 lat temu
produce_response.go 5509b4a29c wip 12 lat temu
produce_response_test.go 87c89f868c Also prefix KError instances with Err. 11 lat temu
produce_set.go 52c880384b Extract produceSet and add tests 10 lat temu
produce_set_test.go ec382518ee Fix errcheck 10 lat temu
real_decoder.go 12d29331cf A few minor suggestions from golint 10 lat temu
real_encoder.go 12d29331cf A few minor suggestions from golint 10 lat temu
request.go 66411d8222 Cleanup a bunch more error formats 10 lat temu
request_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
response_header.go 66411d8222 Cleanup a bunch more error formats 10 lat temu
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. 12 lat temu
sarama.go 2ca3f4f970 Update and simplify doc for MaxResponseSize 10 lat temu
snappy.go 0aeb8f0f95 Update snappy repo path and encoding interface 10 lat temu
snappy_test.go 0aeb8f0f95 Update snappy repo path and encoding interface 10 lat temu
sync_producer.go 12d29331cf A few minor suggestions from golint 10 lat temu
sync_producer_test.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 11 lat temu
utils.go 766d1bfaac Simplify how we manage seed brokers 11 lat temu

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.
  • There is a google group for Kafka client users and authors at https://groups.google.com/forum/#!forum/kafka-clients

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.

Other Links