Go-Kafka-gRPC-MongoDB-microservice
sarama
Go-Kafka-gRPC-MongoDB-microservice | sarama | |
---|---|---|
1 | 20 | |
145 | 10,115 | |
- | - | |
0.0 | 8.6 | |
about 3 years ago | 10 months ago | |
Go | Go | |
- | MIT License |
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.
Go-Kafka-gRPC-MongoDB-microservice
-
Go, Kafka, gRPC and MongoDB microservice with metrics and tracing 👋
On top layer of our app handling, logging errors and process metrics for Prometheus. Repository with the source code and list of all used tools u can find here 👨💻 :) I hope this article is usefully and helpfully, I'll be happy to receive any feedbacks or questions :)
sarama
-
Ingesting Data into OpenSearch using Apache Kafka and Go
Note: Since there are multiple Go clients for Kafka (including Sarama), please make sure to consult their client documentation to confirm whether they support IAM authentication.
-
book about golang and kafka
You might want to gradually replace that one with https://github.com/twmb/franz-go because Shopify is looking to find a new owner for Sarama and, until or if they do, it seems to be falling behind with maintenance: https://github.com/Shopify/sarama/issues/2461 For example, they still haven’t addressed this breaking change https://github.com/Shopify/sarama/issues/2358. franz-go has worked well so far in Benthos https://github.com/benthosdev/benthos/tree/main/internal/impl/kafka and it will likely end up as the only implementation once the Sarama-based one will be deprecated
-
Klient - a native, statically-compiled, command line client for Kafka
I've used mainly sarama wrapped with a bit of bespoke helper libraries. Never really looked into others, just grabbed one that was actively maintained and went for it.
-
Golang bad design reference
Well, as someone who reviews a lot of code, I don't like seeing 100s of little files when a handful of logically grouped files would do. For example, this popular go project: https://github.com/Shopify/sarama is currently 256 small .go files, largely following a one class/file rule.
-
Concurrency in Go is hard
The first example is something we ran into while working on a project. Up until recently, the sarama library (Go library for Apache Kafka) contained the following piece of code (at sarama/version.go):
-
AWS MSK with go sarama
Im using the go sarama library to connect to the cluster, using this basic example.
-
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.
- Sarama - Go library for Apache Kafka.
- Understanding Kafka with Factorio
-
Is segmentio/kafka-go production ready ?
There are a few factors that are stopping me from using kafka-go over Shopify's sarama.
What are some alternatives?
go-clean-architecture-web-application-boilerplate - A web application boilerplate built with go and clean architecture.
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
spring-petclinic-microservices - Distributed version of Spring Petclinic built with Spring Cloud
kafka-go - Kafka library in Go
goharvest - Transactional outbox harvester for Postgres → Kafka, written in Go
franz-go - franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 3.6+. Producing, consuming, transacting, administrating, etc.
csgo_exporter - A Prometheus exporter for Counter-Strike: Global Offensive.
librdkafka - The Apache Kafka C/C++ library
Zenko - Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
gorush - A push notification server written in Go (Golang).
postgres-kafka-cassandra - Data Pipeline between PostgreSQL and Cassandra using Kafka Connect
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications