Няма описание

Vlad Gorodetsky 07ff436a6d Fix linter errors преди 4 години
.github b8c5f7cfe1 Add GitHub Actions workflows, use golangci-lint преди 4 години
examples 5302f4bb5e Update documentation with Sarama instead of Sarma преди 4 години
mocks 8a09106c11 fix incorrect SetTopicMetadata name mentions (introduced in 2052bd9) преди 4 години
tools be7de1e156 add header to kafka-console-producer преди 4 години
vagrant 49a563683f Fix possible faulty metrics in TestFuncProducing* (#1545) преди 4 години
.gitignore 151daaac97 Addressing feeback преди 6 години
.golangci.yml 07ff436a6d Fix linter errors преди 4 години
.travis.yml b8c5f7cfe1 Add GitHub Actions workflows, use golangci-lint преди 4 години
CHANGELOG.md 829da79154 Adds changelog for 1.26.0 преди 4 години
LICENSE 8da9fa72b8 Technically Shopify owns the repo преди 6 години
Makefile b8c5f7cfe1 Add GitHub Actions workflows, use golangci-lint преди 4 години
README.md 0adc8d5a15 Add support for kafka 2.4.0 преди 4 години
Vagrantfile b8c5f7cfe1 Add GitHub Actions workflows, use golangci-lint преди 4 години
acl_bindings.go 29d30a3c4c Refactor misspelled word Resouce to Resource преди 5 години
acl_create_request.go 3328055d57 another pull request to please lint gods преди 5 години
acl_create_request_test.go 29d30a3c4c Refactor misspelled word Resouce to Resource преди 5 години
acl_create_response.go 3328055d57 another pull request to please lint gods преди 5 години
acl_create_response_test.go 86d6f390cf add Describe/Create/DeleteAcls преди 6 години
acl_delete_request.go 3328055d57 another pull request to please lint gods преди 5 години
acl_delete_request_test.go 66abce6c25 Implements v1 of {Create,Describe,Delete}AclRequest преди 5 години
acl_delete_response.go 3328055d57 another pull request to please lint gods преди 5 години
acl_delete_response_test.go 86d6f390cf add Describe/Create/DeleteAcls преди 6 години
acl_describe_request.go 3328055d57 another pull request to please lint gods преди 5 години
acl_describe_request_test.go 66abce6c25 Implements v1 of {Create,Describe,Delete}AclRequest преди 5 години
acl_describe_response.go 3328055d57 another pull request to please lint gods преди 5 години
acl_describe_response_test.go 86d6f390cf add Describe/Create/DeleteAcls преди 6 години
acl_filter.go 66abce6c25 Implements v1 of {Create,Describe,Delete}AclRequest преди 5 години
acl_types.go 483263c182 using iota for constants and some style fixes преди 5 години
add_offsets_to_txn_request.go 3328055d57 another pull request to please lint gods преди 5 години
add_offsets_to_txn_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
add_offsets_to_txn_response.go 3328055d57 another pull request to please lint gods преди 5 години
add_offsets_to_txn_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
add_partitions_to_txn_request.go 3328055d57 another pull request to please lint gods преди 5 години
add_partitions_to_txn_request_test.go 07ff436a6d Fix linter errors преди 4 години
add_partitions_to_txn_response.go 3328055d57 another pull request to please lint gods преди 5 години
add_partitions_to_txn_response_test.go 07ff436a6d Fix linter errors преди 4 години
admin.go 07ff436a6d Fix linter errors преди 4 години
admin_test.go 07ff436a6d Fix linter errors преди 4 години
alter_configs_request.go 3328055d57 another pull request to please lint gods преди 5 години
alter_configs_request_test.go 07ff436a6d Fix linter errors преди 4 години
alter_configs_response.go 3328055d57 another pull request to please lint gods преди 5 години
alter_configs_response_test.go 07ff436a6d Fix linter errors преди 4 години
api_versions_request.go 3328055d57 another pull request to please lint gods преди 5 години
api_versions_request_test.go c5f4248429 Add support for latest protocol messages преди 8 години
api_versions_response.go 3328055d57 another pull request to please lint gods преди 5 години
api_versions_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
async_producer.go 9f8650a8fa fix brokerProducer goroutine leak (#1442) преди 4 години
async_producer_test.go 07ff436a6d Fix linter errors преди 4 години
balance_strategy.go b29086bdaa Change type of unvisitedPartitions from []string to bool to economize преди 4 години
balance_strategy_test.go 07ff436a6d Fix linter errors преди 4 години
broker.go 07ff436a6d Fix linter errors преди 4 години
broker_test.go 07ff436a6d Fix linter errors преди 4 години
client.go 07ff436a6d Fix linter errors преди 4 години
client_test.go fe1b1849d0 Support timeout when fetching metadata преди 5 години
client_tls_test.go 07ff436a6d Fix linter errors преди 4 години
compress.go c65bdddf6c Remove cgo zstd package преди 4 години
config.go 5160d7db71 fix: retry topic request on ControllerNotAvailable преди 4 години
config_resource_type.go fb8b9b5a10 fix: use the broker for any admin on BrokerConfig преди 4 години
config_test.go 07ff436a6d Fix linter errors преди 4 години
consumer.go 37faed7ffc enables zstd bumping the right things преди 4 години
consumer_group.go 33aa349ead Merge pull request #1581 from matthewloring/deadlock-fix преди 4 години
consumer_group_members.go 12fa6736bd fixed some typo and added some comments преди 5 години
consumer_group_members_test.go cecb3d9807 Formating all files with gofmt -s преди 7 години
consumer_group_test.go a318f6ee7d CI test fixes преди 5 години
consumer_metadata_request.go 12fa6736bd fixed some typo and added some comments преди 5 години
consumer_metadata_request_test.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response преди 6 години
consumer_metadata_response.go 3006055aad simple typo fixes in consumer metadata response file преди 5 години
consumer_metadata_response_test.go e6c029ff1a Revert "Synced error names and descriptions with the kafka's protocol" преди 5 години
consumer_test.go b5630e543b bug: handle and log throttled FetchResponses преди 5 години
control_record.go 3328055d57 another pull request to please lint gods преди 5 години
control_record_test.go 57215a08ac midway on consumer test преди 5 години
crc32_field.go 47ae433aa8 Reuse lengthFields преди 5 години
create_partitions_request.go 7957e72eca factor out getStringLength, use putArrayLength преди 6 години
create_partitions_request_test.go 07ff436a6d Fix linter errors преди 4 години
create_partitions_response.go ec2cbc3814 Satisfy the error interface in create responses преди 5 години
create_partitions_response_test.go 07ff436a6d Fix linter errors преди 4 години
create_topics_request.go b5ace411a0 add CreateTopicsRequest/Response преди 6 години
create_topics_request_test.go 07ff436a6d Fix linter errors преди 4 години
create_topics_response.go ec2cbc3814 Satisfy the error interface in create responses преди 5 години
create_topics_response_test.go 07ff436a6d Fix linter errors преди 4 години
decompress.go f352e5cc8b Reuse compression writer objects преди 5 години
delete_groups_request.go 0f1c3e9b87 Add support for DeleteGroups преди 6 години
delete_groups_request_test.go 0f1c3e9b87 Add support for DeleteGroups преди 6 години
delete_groups_response.go 7d531e2557 Use native time type for ThrottleTime преди 6 години
delete_groups_response_test.go 7d531e2557 Use native time type for ThrottleTime преди 6 години
delete_records_request.go 76a6b90ec2 Add DeleteRecords operation to Broker преди 6 години
delete_records_request_test.go 76a6b90ec2 Add DeleteRecords operation to Broker преди 6 години
delete_records_response.go 76a6b90ec2 Add DeleteRecords operation to Broker преди 6 години
delete_records_response_test.go 76a6b90ec2 Add DeleteRecords operation to Broker преди 6 години
delete_topics_request.go 796e8cc60f Added support for DeleteTopicsRequest V1 преди 6 години
delete_topics_request_test.go 796e8cc60f Added support for DeleteTopicsRequest V1 преди 6 години
delete_topics_response.go 620549d3ed add DeleteTopicsRequest/Response преди 6 години
delete_topics_response_test.go 620549d3ed add DeleteTopicsRequest/Response преди 6 години
describe_configs_request.go 11800fbad1 Set correct Kafka version for DescribeConfigsRequest v1 преди 5 години
describe_configs_request_test.go 07ff436a6d Fix linter errors преди 4 години
describe_configs_response.go 07ff436a6d Fix linter errors преди 4 години
describe_configs_response_test.go 07ff436a6d Fix linter errors преди 4 години
describe_groups_request.go 90a4cc632e Fix race in broker version check преди 8 години
describe_groups_request_test.go 1621c4959a Add tests for all new request types. преди 8 години
describe_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
describe_groups_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
describe_log_dirs_request.go c3d174d3a2 Fix request decode преди 4 години
describe_log_dirs_request_test.go 07ff436a6d Fix linter errors преди 4 години
describe_log_dirs_response.go 91ff84ae8d Use KError for ErrorCodes преди 4 години
describe_log_dirs_response_test.go 07ff436a6d Fix linter errors преди 4 години
dev.yml 0adc8d5a15 Add support for kafka 2.4.0 преди 4 години
encoder_decoder.go 124e7c647e Expose producer metrics with go-metrics преди 7 години
end_txn_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
end_txn_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
end_txn_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
end_txn_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
errors.go fbe15c34cf Handle a few missed protocol errors and add the new one преди 4 години
fetch_request.go 1799d6c8db fix: fill in the Fetch{Request,Response} protocol преди 4 години
fetch_request_test.go 1799d6c8db fix: fill in the Fetch{Request,Response} protocol преди 4 години
fetch_response.go 07ff436a6d Fix linter errors преди 4 години
fetch_response_test.go 07ff436a6d Fix linter errors преди 4 години
find_coordinator_request.go 483263c182 using iota for constants and some style fixes преди 5 години
find_coordinator_request_test.go a5a9b835af refactor ConsumerMetadataRequest/Response to FindCoordinatorRequest/Response преди 6 години
find_coordinator_response.go 5a23d49f7a remove rack from FindCoordinatorResponse and hardcode Broker-decode/encode version to 0 преди 6 години
find_coordinator_response_test.go e6c029ff1a Revert "Synced error names and descriptions with the kafka's protocol" преди 5 години
functional_client_test.go e931cc00ed Stop test if client.Coordinator fails somehow преди 7 години
functional_consumer_group_test.go a318f6ee7d CI test fixes преди 5 години
functional_consumer_test.go 37faed7ffc enables zstd bumping the right things преди 4 години
functional_offset_manager_test.go ccab789d44 OffsetManager: match upstream mark/next behaviour преди 8 години
functional_producer_test.go 07ff436a6d Fix linter errors преди 4 години
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 преди 8 години
go.mod 8f8380c072 Update compress преди 4 години
go.sum 8f8380c072 Update compress преди 4 години
gssapi_kerberos.go 07ff436a6d Fix linter errors преди 4 години
heartbeat_request.go 90a4cc632e Fix race in broker version check преди 8 години
heartbeat_request_test.go 1621c4959a Add tests for all new request types. преди 8 години
heartbeat_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
heartbeat_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
init_producer_id_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
init_producer_id_request_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
init_producer_id_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
init_producer_id_response_test.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
join_group_request.go e1b85f3400 Added versioning for join-group requests and responses преди 6 години
join_group_request_test.go e1b85f3400 Added versioning for join-group requests and responses преди 6 години
join_group_response.go e1b85f3400 Added versioning for join-group requests and responses преди 6 години
join_group_response_test.go e1b85f3400 Added versioning for join-group requests and responses преди 6 години
kerberos_client.go 3ec45e581a Add kerberos support преди 5 години
kerberos_client_test.go 3ec45e581a Add kerberos support преди 5 години
leave_group_request.go 90a4cc632e Fix race in broker version check преди 8 години
leave_group_request_test.go 1621c4959a Add tests for all new request types. преди 8 години
leave_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
leave_group_response_test.go e6c029ff1a Revert "Synced error names and descriptions with the kafka's protocol" преди 5 години
length_field.go 47ae433aa8 Reuse lengthFields преди 5 години
list_groups_request.go 90a4cc632e Fix race in broker version check преди 8 години
list_groups_request_test.go 1621c4959a Add tests for all new request types. преди 8 години
list_groups_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
list_groups_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
message.go 07ff436a6d Fix linter errors преди 4 години
message_set.go 47ae433aa8 Reuse lengthFields преди 5 години
message_test.go 7d77064a4d Revert "Add workaround for an empty zstd message" преди 5 години
metadata_request.go c547697705 bug: V5 MetadataRequest nullable topics array преди 5 години
metadata_request_test.go c547697705 bug: V5 MetadataRequest nullable topics array преди 5 години
metadata_response.go 07ff436a6d Fix linter errors преди 4 години
metadata_response_test.go e6c029ff1a Revert "Synced error names and descriptions with the kafka's protocol" преди 5 години
metrics.go 82be3b4da9 Unregister all broker metrics on broker stop преди 5 години
metrics_test.go 124e7c647e Expose producer metrics with go-metrics преди 7 години
mockbroker.go 07ff436a6d Fix linter errors преди 4 години
mockkerberos.go 3ec45e581a Add kerberos support преди 5 години
mockresponses.go 5de8dba37c fix: set DescribeConfigRequest Version field преди 4 години
offset_commit_request.go c8f961f633 Address a few staticcheck suggestions преди 5 години
offset_commit_request_test.go 3f16fb0e7a Add support for newer OffsetCommit request/response преди 5 години
offset_commit_response.go 3f16fb0e7a Add support for newer OffsetCommit request/response преди 5 години
offset_commit_response_test.go 3f16fb0e7a Add support for newer OffsetCommit request/response преди 5 години
offset_fetch_request.go 6c7918ef5a Added OffsetFetch support up to v5 преди 5 години
offset_fetch_request_test.go 6c7918ef5a Added OffsetFetch support up to v5 преди 5 години
offset_fetch_response.go 6c7918ef5a Added OffsetFetch support up to v5 преди 5 години
offset_fetch_response_test.go 6c7918ef5a Added OffsetFetch support up to v5 преди 5 години
offset_manager.go 07ff436a6d Fix linter errors преди 4 години
offset_manager_test.go 07ff436a6d Fix linter errors преди 4 години
offset_request.go 374f0e3cd0 Use a boolean to check that replica ID was set преди 5 години
offset_request_test.go 8869e903fa Add a getter for replica ID преди 5 години
offset_response.go e42dc76c4e Add missing Kafka versions преди 6 години
offset_response_test.go d65b3fd46b Support ListOffsetRequest v1 [KIP-79] преди 7 години
packet_decoder.go 4ed1ab2ab8 Provide peekInt8 to reduce allocations преди 5 години
packet_encoder.go b3f149d4d2 add create partitions преди 6 години
partitioner.go a74fb772b5 update name of partitioner option so it makes more sense преди 6 години
partitioner_test.go 9b2c4d6e2c Make Partitioner.RequiresConsistency vary per-message преди 6 години
prep_encoder.go b3f149d4d2 add create partitions преди 6 години
produce_request.go 37faed7ffc enables zstd bumping the right things преди 4 години
produce_request_test.go 7ad9a62d7d Fix TestProduceRequest преди 6 години
produce_response.go 37faed7ffc enables zstd bumping the right things преди 4 години
produce_response_test.go 37faed7ffc enables zstd bumping the right things преди 4 години
produce_set.go 37faed7ffc enables zstd bumping the right things преди 4 години
produce_set_test.go 07ff436a6d Fix linter errors преди 4 години
real_decoder.go dec71e97e5 Remove use of magic number преди 5 години
real_encoder.go b3f149d4d2 add create partitions преди 6 години
record.go b68420a29b control record + isTransactional bit parsing преди 5 години
record_batch.go 47ae433aa8 Reuse lengthFields преди 5 години
record_test.go 780ea152be Fix gzip compression encode/decode test преди 6 години
records.go 4ed1ab2ab8 Provide peekInt8 to reduce allocations преди 5 години
records_test.go 6b86562f5c ut transactional flag преди 5 години
request.go 1799d6c8db fix: fill in the Fetch{Request,Response} protocol преди 4 години
request_test.go f4fbc32080 Simple validation of required version преди 6 години
response_header.go 55578535cf Add SASL SCRAM-SHA-512 and SCRAM-SHA-256 mechanismes преди 5 години
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. преди 10 години
sarama.go 483263c182 using iota for constants and some style fixes преди 5 години
sasl_authenticate_request.go 56ffac20e5 Clean up error handling преди 5 години
sasl_authenticate_request_test.go daa6ff523d Fix SaslAuthenticateRequest преди 5 години
sasl_authenticate_response.go 56ffac20e5 Clean up error handling преди 5 години
sasl_authenticate_response_test.go 07ff436a6d Fix linter errors преди 4 години
sasl_handshake_request.go f5b3e0ed01 Implement SASL/OAUTHBEARER support преди 5 години
sasl_handshake_request_test.go c5f4248429 Add support for latest protocol messages преди 8 години
sasl_handshake_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
sasl_handshake_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
sticky_assignor_user_data.go 01915cf82e Add sticky partition assignor преди 5 години
sticky_assignor_user_data_test.go 01915cf82e Add sticky partition assignor преди 5 години
sync_group_request.go 124e7c647e Expose producer metrics with go-metrics преди 7 години
sync_group_request_test.go 1621c4959a Add tests for all new request types. преди 8 години
sync_group_response.go fdebee00c4 Following Golint tips for if blocks who ends with a return преди 7 години
sync_group_response_test.go 37654da7e1 Add support for decoding versioned responses преди 8 години
sync_producer.go 1e2740380a Do not modify ProducerMessage.MetaData during the whole publishing process. преди 6 години
sync_producer_test.go e3ecf7b088 added offline replicas operation to client for kafka version >= 1.x преди 5 години
timestamp.go ed80c61d79 Make timestamp fields of type time.Time and time.Duration преди 6 години
txn_offset_commit_request.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
txn_offset_commit_request_test.go 07ff436a6d Fix linter errors преди 4 години
txn_offset_commit_response.go d81319704e add transaction-related request/responses (22, 24, 25, 26, 28) преди 6 години
txn_offset_commit_response_test.go 07ff436a6d Fix linter errors преди 4 години
utils.go 0adc8d5a15 Add support for kafka 2.4.0 преди 4 години
utils_test.go a709f2d5ca String functions for KafkaVersion (#989) преди 6 години
zstd.go 2fbc232314 Remove double newline преди 4 години

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.12 through 1.13, and Kafka 2.1 through 2.4, 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