.. | ||
acl_bindings.go | ||
acl_create_request.go | ||
acl_create_response.go | ||
acl_delete_request.go | ||
acl_delete_response.go | ||
acl_describe_request.go | ||
acl_describe_response.go | ||
acl_filter.go | ||
acl_types.go | ||
add_offsets_to_txn_request.go | ||
add_offsets_to_txn_response.go | ||
add_partitions_to_txn_request.go | ||
add_partitions_to_txn_response.go | ||
admin.go | ||
alter_configs_request.go | ||
alter_configs_response.go | ||
api_versions_request.go | ||
api_versions_response.go | ||
async_producer.go | ||
broker.go | ||
BUILD | ||
CHANGELOG.md | ||
client.go | ||
config_resource_type.go | ||
config.go | ||
consumer_group_members.go | ||
consumer_metadata_request.go | ||
consumer_metadata_response.go | ||
consumer.go | ||
crc32_field.go | ||
create_partitions_request.go | ||
create_partitions_response.go | ||
create_topics_request.go | ||
create_topics_response.go | ||
delete_groups_request.go | ||
delete_groups_response.go | ||
delete_records_request.go | ||
delete_records_response.go | ||
delete_topics_request.go | ||
delete_topics_response.go | ||
describe_configs_request.go | ||
describe_configs_response.go | ||
describe_groups_request.go | ||
describe_groups_response.go | ||
dev.yml | ||
encoder_decoder.go | ||
end_txn_request.go | ||
end_txn_response.go | ||
errors.go | ||
fetch_request.go | ||
fetch_response.go | ||
find_coordinator_request.go | ||
find_coordinator_response.go | ||
heartbeat_request.go | ||
heartbeat_response.go | ||
init_producer_id_request.go | ||
init_producer_id_response.go | ||
join_group_request.go | ||
join_group_response.go | ||
leave_group_request.go | ||
leave_group_response.go | ||
length_field.go | ||
LICENSE | ||
list_groups_request.go | ||
list_groups_response.go | ||
Makefile | ||
message_set.go | ||
message.go | ||
metadata_request.go | ||
metadata_response.go | ||
metrics.go | ||
mockbroker.go | ||
mockresponses.go | ||
offset_commit_request.go | ||
offset_commit_response.go | ||
offset_fetch_request.go | ||
offset_fetch_response.go | ||
offset_manager.go | ||
offset_request.go | ||
offset_response.go | ||
packet_decoder.go | ||
packet_encoder.go | ||
partitioner.go | ||
prep_encoder.go | ||
produce_request.go | ||
produce_response.go | ||
produce_set.go | ||
README.md | ||
real_decoder.go | ||
real_encoder.go | ||
record_batch.go | ||
record.go | ||
records.go | ||
request.go | ||
response_header.go | ||
sarama.go | ||
sasl_handshake_request.go | ||
sasl_handshake_response.go | ||
sync_group_request.go | ||
sync_group_response.go | ||
sync_producer.go | ||
timestamp.go | ||
txn_offset_commit_request.go | ||
txn_offset_commit_response.go | ||
utils.go | ||
Vagrantfile |
sarama
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
- Get started by checking our contribution guidelines.
- Read the Sarama wiki for more technical and design details.
- The Kafka Protocol Specification contains a wealth of useful information.
- For more general issues, there is a google group for Kafka client developers.
- If you have any questions, just ask!