Brak opisu

Evan Huus 0f6b831794 Merge pull request #982 from Shopify/consumer/fix-last-stable-offset 8 lat temu
.github 376a293238 Update ISSUE_TEMPLATE.md 9 lat temu
examples fe841de91b Fix tiny typo in examples README link 9 lat temu
mocks 21e1c0b874 Fix comment for mocks.NewConsumer 8 lat temu
tools bcc8fb3014 Fix config for calling NewSyncProducer() 9 lat temu
vagrant 8ee7f9bcbe Bump some versions 8 lat temu
.gitignore d1539ef689 Added coverage badge 8 lat temu
.travis.yml d9a51ed3de update readme, bump 0.11, remove 0.9 8 lat temu
CHANGELOG.md 240fd146ce update changelog 8 lat temu
LICENSE 59589985d3 Renaming MIT-LICENSE file to LICENSE and removing created LICENSE file 9 lat temu
Makefile d1539ef689 Added coverage badge 8 lat temu
README.md d9a51ed3de update readme, bump 0.11, remove 0.9 8 lat temu
Vagrantfile 609cb1c1db Use sensible heap size for JVMs in Vagrant 9 lat temu
api_versions_request.go 90a4cc632e Fix race in broker version check 9 lat temu
api_versions_request_test.go c5f4248429 Add support for latest protocol messages 9 lat temu
api_versions_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
api_versions_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
async_producer.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
async_producer_test.go cecb3d9807 Formating all files with gofmt -s 9 lat temu
broker.go e16f7f9221 add kafka 0.10.2.0 in version list 8 lat temu
broker_test.go e16f7f9221 add kafka 0.10.2.0 in version list 8 lat temu
client.go 34068369ff Merge pull request #975 from Shopify/return-partial-replicas 8 lat temu
client_test.go 240ddc7211 FIX: It shouldn't sort the replicas and isr while the order is 8 lat temu
config.go 298679cecd Merge pull request #933 from wmille/timer_performance 8 lat temu
config_test.go 515a490ec1 Addressing review comments 8 lat temu
consumer.go 10f33bec2a consumer: don't check LastStableOffset 8 lat temu
consumer_group_members.go 83f973c2d6 More feedback, renamed structs 10 lat temu
consumer_group_members_test.go cecb3d9807 Formating all files with gofmt -s 9 lat temu
consumer_metadata_request.go 90a4cc632e Fix race in broker version check 9 lat temu
consumer_metadata_request_test.go aa411f16fd Add decode method to request types 10 lat temu
consumer_metadata_response.go 90a4cc632e Fix race in broker version check 9 lat temu
consumer_metadata_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
consumer_test.go 953231c528 Add support for Kafka 0.11 in consumer 8 lat temu
crc32_field.go 07a5840e2e Make polynomial a type 8 lat temu
describe_groups_request.go 90a4cc632e Fix race in broker version check 9 lat temu
describe_groups_request_test.go 1621c4959a Add tests for all new request types. 10 lat temu
describe_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
describe_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
dev.yml aa3b526cc8 Fix test for gzip changes in go1.8 9 lat temu
encoder_decoder.go 124e7c647e Expose producer metrics with go-metrics 9 lat temu
errors.go 77f3449e67 Additional error codes 8 lat temu
fetch_request.go 5959a18af1 Make isolation level a type 8 lat temu
fetch_request_test.go 953231c528 Add support for Kafka 0.11 in consumer 8 lat temu
fetch_response.go 953231c528 Add support for Kafka 0.11 in consumer 8 lat temu
fetch_response_test.go 953231c528 Add support for Kafka 0.11 in consumer 8 lat temu
functional_client_test.go e931cc00ed Stop test if client.Coordinator fails somehow 9 lat temu
functional_consumer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 lat temu
functional_offset_manager_test.go ccab789d44 OffsetManager: match upstream mark/next behaviour 9 lat temu
functional_producer_test.go 7b655373d8 Expose request latency metric 9 lat temu
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 10 lat temu
heartbeat_request.go 90a4cc632e Fix race in broker version check 9 lat temu
heartbeat_request_test.go 1621c4959a Add tests for all new request types. 10 lat temu
heartbeat_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
heartbeat_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
join_group_request.go 4351c00d43 Permit protocol ordering in JoinGroup requests 9 lat temu
join_group_request_test.go 4351c00d43 Permit protocol ordering in JoinGroup requests 9 lat temu
join_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
join_group_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
leave_group_request.go 90a4cc632e Fix race in broker version check 9 lat temu
leave_group_request_test.go 1621c4959a Add tests for all new request types. 10 lat temu
leave_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
leave_group_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
length_field.go ff1f79c54b Add dynamicPushDecoder interface 8 lat temu
list_groups_request.go 90a4cc632e Fix race in broker version check 9 lat temu
list_groups_request_test.go 1621c4959a Add tests for all new request types. 10 lat temu
list_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
list_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
message.go ed80c61d79 Make timestamp fields of type time.Time and time.Duration 8 lat temu
message_set.go 2018fd405e Prefix error variables with Err 11 lat temu
message_test.go 5c2219768a fix TestMessageEncoding 8 lat temu
metadata_request.go 88a4afb3d1 Misc minor lint changes 9 lat temu
metadata_request_test.go aa411f16fd Add decode method to request types 10 lat temu
metadata_response.go 88a4afb3d1 Misc minor lint changes 9 lat temu
metadata_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
metrics.go 124e7c647e Expose producer metrics with go-metrics 9 lat temu
metrics_test.go 124e7c647e Expose producer metrics with go-metrics 9 lat temu
mockbroker.go 124e7c647e Expose producer metrics with go-metrics 9 lat temu
mockresponses.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
offset_commit_request.go 88a4afb3d1 Misc minor lint changes 9 lat temu
offset_commit_request_test.go aa411f16fd Add decode method to request types 10 lat temu
offset_commit_response.go 90a4cc632e Fix race in broker version check 9 lat temu
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_fetch_request.go 90a4cc632e Fix race in broker version check 9 lat temu
offset_fetch_request_test.go aa411f16fd Add decode method to request types 10 lat temu
offset_fetch_response.go 88a4afb3d1 Misc minor lint changes 9 lat temu
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 lat temu
offset_manager.go 96fa1c8378 Allow resetting manager to the same offset 8 lat temu
offset_manager_test.go b966238f31 adds ResetOffset to reset to earlier offset values. #554 8 lat temu
offset_request.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 9 lat temu
offset_request_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 9 lat temu
offset_response.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 9 lat temu
offset_response_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 9 lat temu
packet_decoder.go 5a79f9f5ac Add support for nullable strings. 8 lat temu
packet_encoder.go 5a79f9f5ac Add support for nullable strings. 8 lat temu
partitioner.go 8637e89db9 Minor changes to reflect comments to PR 9 lat temu
partitioner_test.go f3b2363114 Fix concurrency issue in hashedPartitioner 9 lat temu
prep_encoder.go 5a79f9f5ac Add support for nullable strings. 8 lat temu
produce_request.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
produce_request_test.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
produce_response.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
produce_response_test.go ca457b7003 Support ProduceResponse v1 and v2 encoding 8 lat temu
produce_set.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
produce_set_test.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
real_decoder.go 5a79f9f5ac Add support for nullable strings. 8 lat temu
real_encoder.go 5a79f9f5ac Add support for nullable strings. 8 lat temu
record.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
record_batch.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
record_test.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 8 lat temu
records.go e1067e3e2d Implement a sum type that can hold RecordBatch or MessageSet 8 lat temu
records_test.go 6d52b9931e Add test coverage for Records.isControl() and Records.isPartial() 8 lat temu
request.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 9 lat temu
request_test.go 4351c00d43 Permit protocol ordering in JoinGroup requests 9 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 7b655373d8 Expose request latency metric 9 lat temu
sasl_handshake_request.go 90a4cc632e Fix race in broker version check 9 lat temu
sasl_handshake_request_test.go c5f4248429 Add support for latest protocol messages 9 lat temu
sasl_handshake_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
sasl_handshake_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
sync_group_request.go 124e7c647e Expose producer metrics with go-metrics 9 lat temu
sync_group_request_test.go 1621c4959a Add tests for all new request types. 10 lat temu
sync_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 9 lat temu
sync_group_response_test.go 37654da7e1 Add support for decoding versioned responses 9 lat temu
sync_producer.go 8268907a6b Tweak documentation of Close/AsyncClose methods 9 lat temu
sync_producer_test.go cecb3d9807 Formating all files with gofmt -s 9 lat temu
timestamp.go ed80c61d79 Make timestamp fields of type time.Time and time.Duration 8 lat temu
utils.go 1408a8cdca add kafka 1.0.0 to travis and as kafka version constant 8 lat temu
utils_test.go 5e8b6ff817 Support configuring target kafka version 9 lat temu

README.md

sarama

GoDoc Build Status Coverage

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.9 through 1.7, and Kafka 1.0 through 0.10, 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