Confluent Kafka Golang Client
confluent-kafka-python
Our great sponsors
Confluent Kafka Golang Client | confluent-kafka-python | |
---|---|---|
12 | 9 | |
4,426 | 3,632 | |
1.9% | 1.8% | |
8.1 | 6.3 | |
2 days ago | 1 day ago | |
HTML | Python | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Confluent Kafka Golang Client
-
book about golang and kafka
There are two main libraries that people use to write clients Confluent Kafka and segment io kafka
-
Getting sum type values from a map
As my first "real world" (ish) project in Vlang, I'm trying to copy https://github.com/confluentinc/confluent-kafka-go, which is a Go wrapper for Kafka C client library, https://github.com/edenhill/librdkafka
-
Fix it, Fork it, Fuck off
You are right, but in practice that's not what happens. Companies do not rely on open source libraries, the developers working for such companies do.
I can give you a realistic example. If you want to use Kafka and Go, your probably only option is to use https://github.com/confluentinc/confluent-kafka-go. Its LICENSE explicitly says "no warranty". Now, what if I find a bug in the library? Only two realistic solutions from my side:
1. I submit the issue and hope for the maintainers to fix it
2. I dig deeper and try to fix the issue. I submit the PR
None of the above scenarios are guaranteed to have a happy ending. The issue could be ignored, or piled up among thousand of other (maybe higher prio) issues. My solution may not be optimal and could be rejected (or if it's optimal, nobody is taking a look at it, and it could remain open for weeks/months).
> If that is a problem for you, negotiate a different contract up front - with the maintainer or someone else willing to do the work. That probably means paying them.
In the real world that would mean that I go to my manager and asks them to pay money to the maintainers of confluent-kafka-go to fix the issue I found. I don't think my manager would approve that, but let's imagine he does. The guys at confluent-kafka-go may not want money to fix the issue. These guys have probably already jobs that pay them well, and they work on the library at will.
Note: I'm talking about confluent-kafka-go, which I know is behind the Confluent software company. But I could as well be talking about libraries maintained by individuals like https://github.com/edenhill/librdkafka
-
What are Golang competitors in 2022 when it comes to one-file binary deployment?
it can be completely statically linked binaries. example: https://github.com/confluentinc/confluent-kafka-go/blob/db57ef6235/kafka/librdkafka_vendor/README.md
-
Benthos - Fancy stream processing made operationally mundane
If you find the kafka input slow, try kafka_franz. It might be a bit faster, since it’s based on https://github.com/twmb/franz-go. The kafka one is based on https://github.com/Shopify/sarama. You can also write a custom input based on https://github.com/confluentinc/confluent-kafka-go, but this library relies on CGo, which can be annoying.
-
Sharing event schema ( type ) between producer and a consumer
Last time I checked Confluent does not have a Schema Registry for Go, only for Java, so instead of that I rely on using the guidelines defined for the serialized data, specifically I've used gPRC+Protobuf for doing this, together with buf to detect breaking changes; buf has their own schema registry perhaps that could be something you could explore as well.
-
Hunting down a C memory leak in a Go program
So, in the interests of full transparency - we at Zendesk are actually running a fork of confluent-kafka-go, which I forked to add, amongst other things, context support: https://github.com/confluentinc/confluent-kafka-go/pull/626
This bug actually happened because I mis-merged upstream into our fork and missed an important call to rd_kafka_poll_set_consumer: https://github.com/zendesk/confluent-kafka-go/commit/6e2d889...
-
Create page view analytics system using Kafka, Go, Postgres & GraphQL in 5 steps
Setup Kafka Producer using confluent-kakfka-go
-
Is segmentio/kafka-go production ready ?
I'd suggest https://github.com/confluentinc/confluent-kafka-go we switched from sarama-cluster with minimal work and it works fine. And we process approx 1.2M messages per hour.
-
Go and Kafka
In my company we use this https://github.com/confluentinc/confluent-kafka-go,
confluent-kafka-python
-
Show HN: Confluent Kafka support added to FastStream v0.4.0rc0
Responding to popular demand, the latest 0.4.0rc0 version introduces support for Kafka stream processing using Confluent Kafka's Python library - https://github.com/confluentinc/confluent-kafka-python.
-
confluent-kafka-python VS quix-streams - a user suggested alternative
2 projects | 7 Dec 2023
-
Recently joined a DE team and I've been asked to study async, multiprocessing, queuing, and Kafka. Can anybody tell me how to proceed and also share resources that I can use.
- confluent kafka library (https://github.com/confluentinc/confluent-kafka-python) uses librdkafka, and is faster that kafka-python - https://www.bytewax.io/(https://github.com/bytewax/bytewax) is another option. Handles the dirty work of exchanging data across processes for parallel stateful processing
-
New to kafka..
Here are examples https://github.com/confluentinc/confluent-kafka-python
-
On Efficiently Partitioning a Topic in Apache Kafka
I just wanted to mention that pykafka is currently unmaintained and archived on GitHub:
https://github.com/Parsely/pykafka
pykafka was originally developed and maintained by my team at Parse.ly, but we no longer maintain it. We instead encourage folks to use confluent-kafka-python, which is what we have ourselves switched to in our production systems:
https://github.com/confluentinc/confluent-kafka-python
(pykafka was developed at a time before Confluent invested in their own Python binding. Some of the history of the project is described in this 2016 blog post[1] and our original 2015 announcement[2].)
[1]: https://blog.parse.ly/pykafka-now/
[2]: https://blog.parse.ly/announcing-pykafka-python-support-for-...
-
Is there a Python API for event-driven Kafka consumer?
confluent-kafka
-
Kafla producer over internet
I also found that there is a library provided by confluent https://github.com/confluentinc/confluent-kafka-python which maybe helpful here. Is that right? I see a section "SSL certificates" but couldnt get much insight out of this.
-
Confluent Kafka Python Schema Registry: Why the consumer does not need it?
ProtobugDeserializer does not allow anything but the protoBuf message type (see here):
-
Learning Apache Kafka
I'd start off with some simple producer/consumer code to get an understanding of interacting with Kafka's APIs from Python - there's a Python client with some good examples of the producer and consumer as well as more complex examples.
What are some alternatives?
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
aiokafka - asyncio client for kafka
kafka-go - Kafka library in Go
kafka-python - Python client for Apache Kafka
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
quix-streams - A Python library for building containerized ML and Generative AI applications with Apache Kafka.
goka - Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
demo-scene - 👾Scripts and samples to support Confluent Demos and Talks. ⚠️Might be rough around the edges ;-) 👉For automated tutorials and QA'd code, see https://github.com/confluentinc/examples/
Benthos - Fancy stream processing made operationally mundane
pykafka - Apache Kafka client for Python; high-level & low-level consumer/producer, with great performance.
NATS - Golang client for NATS, the cloud native messaging system.
KQ - Kafka-based Job Queue for Python