Brak opisu

RussellLuo 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
.github 376a293238 Update ISSUE_TEMPLATE.md 7 lat temu
examples fe841de91b Fix tiny typo in examples README link 7 lat temu
mocks e9f0281763 Increase test coverage of SyncProducer 6 lat temu
tools bcc8fb3014 Fix config for calling NewSyncProducer() 7 lat temu
vagrant eaafcb0eeb Make vagrant up work again 6 lat temu
.gitignore d1539ef689 Added coverage badge 6 lat temu
.travis.yml 5a0b61f03d Test against kafka 0.11.0.2 6 lat temu
CHANGELOG.md f7be6aa2bc Prep for 1.16 6 lat temu
LICENSE 8da9fa72b8 Technically Shopify owns the repo 6 lat temu
Makefile dfdbc3f570 Increase test timeout 6 lat temu
README.md 5a0b61f03d Test against kafka 0.11.0.2 6 lat temu
Vagrantfile 609cb1c1db Use sensible heap size for JVMs in Vagrant 7 lat temu
acl_bindings.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_create_request.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_create_request_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_create_response.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_create_response_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_delete_request.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_delete_request_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_delete_response.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_delete_response_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_describe_request.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_describe_request_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_describe_response.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_describe_response_test.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_filter.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
acl_types.go 86d6f390cf add Describe/Create/DeleteAcls 6 lat temu
add_offsets_to_txn_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_offsets_to_txn_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_offsets_to_txn_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_offsets_to_txn_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_partitions_to_txn_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_partitions_to_txn_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_partitions_to_txn_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
add_partitions_to_txn_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
alter_configs_request.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
alter_configs_request_test.go 6ce9e9249a Fix flaky TestAlterConfigsRequest 6 lat temu
alter_configs_response.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
alter_configs_response_test.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
api_versions_request.go 90a4cc632e Fix race in broker version check 8 lat temu
api_versions_request_test.go c5f4248429 Add support for latest protocol messages 8 lat temu
api_versions_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
api_versions_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
async_producer.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 6 lat temu
async_producer_test.go 1596275bc3 Add timeout to async_producer_test 6 lat temu
broker.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
broker_test.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
client.go 8a87ca8bca Merge branch 'master' into master 6 lat temu
client_test.go e06b9a2882 add Controller() method to Client interface 6 lat temu
client_tls_test.go f933fb4b0b Add NewMockBrokerListener() so that it's possible to test TLS connections 6 lat temu
config.go e42dc76c4e Add missing Kafka versions 6 lat temu
config_resource_type.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
config_test.go 515a490ec1 Addressing review comments 6 lat temu
consumer.go eae91468c2 consumer: don't stop the ticker if we time out 6 lat temu
consumer_group_members.go 83f973c2d6 More feedback, renamed structs 8 lat temu
consumer_group_members_test.go cecb3d9807 Formating all files with gofmt -s 7 lat temu
consumer_metadata_request.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response 6 lat temu
consumer_metadata_request_test.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response 6 lat temu
consumer_metadata_response.go d0340489e8 remove deprecated fields 6 lat temu
consumer_metadata_response_test.go d0340489e8 remove deprecated fields 6 lat temu
consumer_test.go d9ef2bef2e advance partition consumer offset after compacted messages 6 lat temu
crc32_field.go 07a5840e2e Make polynomial a type 6 lat temu
create_partitions_request.go 7957e72eca factor out getStringLength, use putArrayLength 6 lat temu
create_partitions_request_test.go b3f149d4d2 add create partitions 6 lat temu
create_partitions_response.go b3f149d4d2 add create partitions 6 lat temu
create_partitions_response_test.go b3f149d4d2 add create partitions 6 lat temu
create_topics_request.go b5ace411a0 add CreateTopicsRequest/Response 6 lat temu
create_topics_request_test.go b5ace411a0 add CreateTopicsRequest/Response 6 lat temu
create_topics_response.go b5ace411a0 add CreateTopicsRequest/Response 6 lat temu
create_topics_response_test.go b5ace411a0 add CreateTopicsRequest/Response 6 lat temu
delete_groups_request.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
delete_groups_request_test.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
delete_groups_response.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
delete_groups_response_test.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
delete_records_request.go 76a6b90ec2 Add DeleteRecords operation to Broker 6 lat temu
delete_records_request_test.go 76a6b90ec2 Add DeleteRecords operation to Broker 6 lat temu
delete_records_response.go 76a6b90ec2 Add DeleteRecords operation to Broker 6 lat temu
delete_records_response_test.go 76a6b90ec2 Add DeleteRecords operation to Broker 6 lat temu
delete_topics_request.go 796e8cc60f Added support for DeleteTopicsRequest V1 6 lat temu
delete_topics_request_test.go 796e8cc60f Added support for DeleteTopicsRequest V1 6 lat temu
delete_topics_response.go 620549d3ed add DeleteTopicsRequest/Response 6 lat temu
delete_topics_response_test.go 620549d3ed add DeleteTopicsRequest/Response 6 lat temu
describe_configs_request.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
describe_configs_request_test.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
describe_configs_response.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
describe_configs_response_test.go f7466ea37d Add Describe + AlterConfigs (#1014) 6 lat temu
describe_groups_request.go 90a4cc632e Fix race in broker version check 8 lat temu
describe_groups_request_test.go 1621c4959a Add tests for all new request types. 8 lat temu
describe_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
describe_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
dev.yml 66fbffdee6 [bot] remove unused 'packages' dev.yml element [skip ci] 6 lat temu
encoder_decoder.go 124e7c647e Expose producer metrics with go-metrics 7 lat temu
end_txn_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
end_txn_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
end_txn_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
end_txn_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
errors.go 6ccaccd799 fix typo in ErrControllerNotAvailable string 6 lat temu
fetch_request.go e42dc76c4e Add missing Kafka versions 6 lat temu
fetch_request_test.go 953231c528 Add support for Kafka 0.11 in consumer 6 lat temu
fetch_response.go 5468405d94 Expose Records union fields 6 lat temu
fetch_response_test.go 5468405d94 Expose Records union fields 6 lat temu
find_coordinator_request.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response 6 lat temu
find_coordinator_request_test.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response 6 lat temu
find_coordinator_response.go 5a23d49f7a remove rack from FindCoordinatorResponse and hardcode Broker-decode/encode version to 0 6 lat temu
find_coordinator_response_test.go 5a23d49f7a remove rack from FindCoordinatorResponse and hardcode Broker-decode/encode version to 0 6 lat temu
functional_client_test.go e931cc00ed Stop test if client.Coordinator fails somehow 7 lat temu
functional_consumer_test.go dfdbc3f570 Increase test timeout 6 lat temu
functional_offset_manager_test.go ccab789d44 OffsetManager: match upstream mark/next behaviour 8 lat temu
functional_producer_test.go 7b655373d8 Expose request latency metric 7 lat temu
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 8 lat temu
heartbeat_request.go 90a4cc632e Fix race in broker version check 8 lat temu
heartbeat_request_test.go 1621c4959a Add tests for all new request types. 8 lat temu
heartbeat_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
heartbeat_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
init_producer_id_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
init_producer_id_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
init_producer_id_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
init_producer_id_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
join_group_request.go 4351c00d43 Permit protocol ordering in JoinGroup requests 7 lat temu
join_group_request_test.go 4351c00d43 Permit protocol ordering in JoinGroup requests 7 lat temu
join_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
join_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
leave_group_request.go 90a4cc632e Fix race in broker version check 8 lat temu
leave_group_request_test.go 1621c4959a Add tests for all new request types. 8 lat temu
leave_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
leave_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
length_field.go ff1f79c54b Add dynamicPushDecoder interface 6 lat temu
list_groups_request.go 90a4cc632e Fix race in broker version check 8 lat temu
list_groups_request_test.go 1621c4959a Add tests for all new request types. 8 lat temu
list_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
list_groups_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
message.go e42dc76c4e Add missing Kafka versions 6 lat temu
message_set.go 885c1b09e5 Do not choke on MessageSet without version 6 lat temu
message_test.go a7c9c9d6ef Drop testing empty gzip encoding with the pre-1.8 encoder 6 lat temu
metadata_request.go bbdeda9fd2 Added support for Metadata Request/Response up to v5 6 lat temu
metadata_request_test.go bbdeda9fd2 Added support for Metadata Request/Response up to v5 6 lat temu
metadata_response.go bbdeda9fd2 Added support for Metadata Request/Response up to v5 6 lat temu
metadata_response_test.go bbdeda9fd2 Added support for Metadata Request/Response up to v5 6 lat temu
metrics.go 124e7c647e Expose producer metrics with go-metrics 7 lat temu
metrics_test.go 124e7c647e Expose producer metrics with go-metrics 7 lat temu
mockbroker.go f933fb4b0b Add NewMockBrokerListener() so that it's possible to test TLS connections 6 lat temu
mockresponses.go e06b9a2882 add Controller() method to Client interface 6 lat temu
offset_commit_request.go 6e796b14dc Add method to inspect OffsetCommitRequest offsets 6 lat temu
offset_commit_request_test.go aa411f16fd Add decode method to request types 9 lat temu
offset_commit_response.go e42dc76c4e Add missing Kafka versions 6 lat temu
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 9 lat temu
offset_fetch_request.go e42dc76c4e Add missing Kafka versions 6 lat temu
offset_fetch_request_test.go aa411f16fd Add decode method to request types 9 lat temu
offset_fetch_response.go e42dc76c4e Add missing Kafka versions 6 lat temu
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 9 lat temu
offset_manager.go 96fa1c8378 Allow resetting manager to the same offset 6 lat temu
offset_manager_test.go b966238f31 adds ResetOffset to reset to earlier offset values. #554 6 lat temu
offset_request.go e42dc76c4e Add missing Kafka versions 6 lat temu
offset_request_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 7 lat temu
offset_response.go e42dc76c4e Add missing Kafka versions 6 lat temu
offset_response_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] 7 lat temu
packet_decoder.go b3f149d4d2 add create partitions 6 lat temu
packet_encoder.go b3f149d4d2 add create partitions 6 lat temu
partitioner.go 8637e89db9 Minor changes to reflect comments to PR 7 lat temu
partitioner_test.go f3b2363114 Fix concurrency issue in hashedPartitioner 7 lat temu
prep_encoder.go b3f149d4d2 add create partitions 6 lat temu
produce_request.go 5468405d94 Expose Records union fields 6 lat temu
produce_request_test.go 7ad9a62d7d Fix TestProduceRequest 6 lat temu
produce_response.go e42dc76c4e Add missing Kafka versions 6 lat temu
produce_response_test.go ca457b7003 Support ProduceResponse v1 and v2 encoding 6 lat temu
produce_set.go 97f65c7894 Document recordbatch offset changes 6 lat temu
produce_set_test.go 5468405d94 Expose Records union fields 6 lat temu
real_decoder.go 7957e72eca factor out getStringLength, use putArrayLength 6 lat temu
real_encoder.go b3f149d4d2 add create partitions 6 lat temu
record.go 5fd60c2be0 Add producer support for Kafka 0.11 Records 6 lat temu
record_batch.go 1f78d8a7f1 Add support for compression levels, closes #1042 6 lat temu
record_test.go 780ea152be Fix gzip compression encode/decode test 6 lat temu
records.go 5468405d94 Expose Records union fields 6 lat temu
records_test.go 5468405d94 Expose Records union fields 6 lat temu
request.go 0f1c3e9b87 Add support for DeleteGroups 6 lat temu
request_test.go f4fbc32080 Simple validation of required version 6 lat temu
response_header.go 66411d8222 Cleanup a bunch more error formats 9 lat temu
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. 10 lat temu
sarama.go 7b655373d8 Expose request latency metric 7 lat temu
sasl_handshake_request.go 90a4cc632e Fix race in broker version check 8 lat temu
sasl_handshake_request_test.go c5f4248429 Add support for latest protocol messages 8 lat temu
sasl_handshake_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
sasl_handshake_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
sync_group_request.go 124e7c647e Expose producer metrics with go-metrics 7 lat temu
sync_group_request_test.go 1621c4959a Add tests for all new request types. 8 lat temu
sync_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return 7 lat temu
sync_group_response_test.go 37654da7e1 Add support for decoding versioned responses 8 lat temu
sync_producer.go 8268907a6b Tweak documentation of Close/AsyncClose methods 7 lat temu
sync_producer_test.go cecb3d9807 Formating all files with gofmt -s 7 lat temu
timestamp.go ed80c61d79 Make timestamp fields of type time.Time and time.Duration 6 lat temu
txn_offset_commit_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
txn_offset_commit_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
txn_offset_commit_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
txn_offset_commit_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) 6 lat temu
utils.go fffd68343c Add support for Kafka 1.1.0 6 lat temu
utils_test.go a709f2d5ca String functions for KafkaVersion (#989) 6 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.8 through 1.10, and Kafka 0.11 through 1.1, 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