1
- Confluent's Apache Kafka client for Golang
2
- ==========================================
1
+ Confluent's Golang Client for Apache Kafka<sup >TM</sup >
2
+ =====================================================
3
+
4
+ ** confluent-kafka-go** is Confluent's Golang client for [ Apache Kafka] ( http://kafka.apache.org/ ) and the
5
+ [ Confluent Platform] ( https://www.confluent.io/product/compare/ ) .
6
+
7
+ Features:
8
+
9
+ - ** High performance** - confluent-kafka-go is a lightweight wrapper around
10
+ [ librdkafka] ( https://github.com/edenhill/librdkafka ) , a finely tuned C
11
+ client.
12
+
13
+ - ** Reliability** - There are a lot of details to get right when writing an Apache Kafka
14
+ client. We get them right in one place (librdkafka) and leverage this work
15
+ across all of our clients (also [ confluent-kafka-python] ( https://github.com/confluentinc/confluent-kafka-python )
16
+ and [ confluent-kafka-dotnet] ( https://github.com/confluentinc/confluent-kafka-dotnet ) ).
17
+
18
+ - ** Supported** - Commercial support is offered by
19
+ [ Confluent] ( https://confluent.io/ ) .
20
+
21
+ - ** Future proof** - Confluent, founded by the
22
+ creators of Kafka, is building a [ streaming platform] ( https://www.confluent.io/product/compare/ )
23
+ with Apache Kafka at its core. It's high priority for us that client features keep
24
+ pace with core Apache Kafka and components of the [ Confluent Platform] ( https://www.confluent.io/product/compare/ ) .
3
25
4
- Confluent's Kafka client for Golang wraps the [ librdkafka] ( https://github.com/edenhill/librdkafka ) C library, providing
5
- full Kafka protocol support with great performance and reliability.
6
26
7
27
The Golang bindings provides a high-level Producer and Consumer with support
8
28
for the balanced consumer groups of Apache Kafka 0.9 and above.
@@ -12,11 +32,12 @@ See the [API documentation](http://docs.confluent.io/current/clients/confluent-k
12
32
** License** : [ Apache License v2.0] ( http://www.apache.org/licenses/LICENSE-2.0 )
13
33
14
34
15
- API strands
35
+ API Strands
16
36
===========
37
+
17
38
There are two main API strands: channel based or function based.
18
39
19
- Channel based consumer
40
+ Channel Based Consumer
20
41
----------------------
21
42
22
43
Messages, errors and events are posted on the consumer.Events channel
@@ -38,7 +59,7 @@ See [examples/consumer_channel_example](examples/consumer_channel_example)
38
59
39
60
40
61
41
- Function based consumer
62
+ Function Based Consumer
42
63
-----------------------
43
64
44
65
Messages, errors and events are polled through the consumer.Poll() function.
@@ -57,7 +78,7 @@ See [examples/consumer_example](examples/consumer_example)
57
78
58
79
59
80
60
- Channel based producer
81
+ Channel Based Producer
61
82
----------------------
62
83
63
84
Application writes messages to the producer.ProducerChannel.
76
97
See [ examples/producer_channel_example] ( examples/producer_channel_example )
77
98
78
99
79
- Function based producer
100
+ Function Based Producer
80
101
-----------------------
81
102
82
103
Application calls producer.Produce() to produce messages.
@@ -121,7 +142,7 @@ Build
121
142
$ go install
122
143
123
144
124
- Static builds
145
+ Static Builds
125
146
=============
126
147
127
148
** NOTE** : Requires pkg-config
@@ -155,7 +176,7 @@ See [kafka/README](kafka/README.md)
155
176
156
177
157
178
158
- Getting started
179
+ Getting Started
159
180
===============
160
181
161
182
Installing librdkafka
@@ -182,7 +203,7 @@ Build from source:
182
203
sudo make install
183
204
184
205
185
- Build the Go client
206
+ Build the Go Client
186
207
-------------------
187
208
188
209
From the confluent-kafka-go directory which should reside
0 commit comments