mirror of https://github.com/tidwall/tile38.git
cfc65a13f6
This commit includes updates that affects the build, testing, and deployment of Tile38. - The root level build.sh has been broken up into multiple scripts and placed in the "scripts" directory. - The vendor directory has been updated to follow the Go modules rules, thus `make` should work on isolated environments. Also some vendored packages may have been updated to a later version, if needed. - The Makefile has been updated to allow for making single binaries such as `make tile38-server`. There is some scaffolding during the build process, so from now on all binaries should be made using make. For example, to run a development version of the tile38-cli binary, do this: make tile38-cli && ./tile38-cli not this: go run cmd/tile38-cli/main.go - Travis.CI docker push script has been updated to address a change to Docker's JSON repo meta output, which in turn fixes a bug where new Tile38 versions were not being properly pushed to Docker |
||
---|---|---|
.. | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
Vagrantfile | ||
api_versions_request.go | ||
api_versions_response.go | ||
async_producer.go | ||
broker.go | ||
client.go | ||
config.go | ||
consumer.go | ||
consumer_group_members.go | ||
consumer_metadata_request.go | ||
consumer_metadata_response.go | ||
crc32_field.go | ||
describe_groups_request.go | ||
describe_groups_response.go | ||
dev.yml | ||
encoder_decoder.go | ||
errors.go | ||
fetch_request.go | ||
fetch_response.go | ||
heartbeat_request.go | ||
heartbeat_response.go | ||
join_group_request.go | ||
join_group_response.go | ||
leave_group_request.go | ||
leave_group_response.go | ||
length_field.go | ||
list_groups_request.go | ||
list_groups_response.go | ||
message.go | ||
message_set.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 | ||
real_decoder.go | ||
real_encoder.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 | ||
utils.go |
README.md
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.9 through 1.7, and Kafka 0.11 through 0.9, 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!