todo-api-microservice-example
franz-go
Our great sponsors
todo-api-microservice-example | franz-go | |
---|---|---|
17 | 16 | |
965 | 1,469 | |
- | - | |
8.6 | 9.1 | |
4 days ago | 11 days ago | |
Go | Go | |
MIT License | BSD 3-clause "New" or "Revised" 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.
todo-api-microservice-example
-
While Learning Haskell Developing Project
Hello guys im a self teach coder. im working with golang atm because this great project speed up my learning curve: https://github.com/MarioCarrion/todo-api-microservice-example
-
Open source projects to look at for best practices?
With that being said, if you're looking for something friendlier, I share my own educational repo, still a WIP but it should help you with the basics.
-
Is there a standard file in Golang from which packages could be installed? Yes, I am aware about go.mod, but hear me out.
internal/tools and
-
Hexagonal architecture and mocking
You are going to need to add a domain package where the Beer type and all the logic associated to that type is defined to avoid the cyclical dependency. I typically follow this approach by using internal as the domain package that then other packages like services, data stores or transport use.
- Working with microservices in a monorepo
-
DDD file structure & cyclic dependencies
Here's my approach; a few worth-mentioning packages in there: * service defines the use cases, it's a glue between the domain model and repositories. * rest defines the http handlers uses the service types via dependency injection (see main.go) * postgresql concrete repository example (there are other implementations for other data stores like kafka, redis, etcetera.
-
Example of a well written and structured RESTful API or web service?
Other redditors mentioned some good resources, I'm going to shamelessly plug mine as well; either way after you are done with whatever tutorial you use I recommend you to look at the Exposure Notifications Server, reading the source code should help you learn other best practices.
-
Golang for backend
One word of advise I can give you is that building a production-grade microservice in Go takes a bit; not because of the language but because you have consider the tradeoffs when choosing different packages to connect everything to make it work (because there's no Django, Ruby on Rails or Spring), I have an educational repository (still work in progress) trying to describe what I've learned from the last 5 years after successfully deploying multiple services to production where multiple engineers contribute and collaborate together; perhaps that could help you.
-
How to avoid "import cycle not allowed" when defining related models in different packages?
With all of that being said I have an educational repository demonstrating this structure, I've been using it in real life for about 5 years already and I've successfully delivered services to production multiple times where multiple engineers contribute and collaborate together.
-
Good example of production grade rest api without an ORM
You may want to checkout the "Exposure Notifications Server" project; I also have a similar (educational) project that uses the Repository Pattern.
franz-go
-
Ingesting Data into OpenSearch using Apache Kafka and Go
Thankfully, Kafka and OpenSearch provide client libraries for a variety of programming languages which make it possible to write your own integration layer. This is exactly what's covered in this blog! We will make use of a custom Go application to ingest data using Go clients for Kafka and OpenSearch.
-
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
-
New Winner of Kafka Consumers: Scala to Go Journey
Can you post the code for that? Franz-go itself publishes benchmark samples for all clients here, so easy to run on your own machine and also review/adapt settings as needed: https://github.com/twmb/franz-go/tree/master/examples/bench
- Which Kafka client library should I use?
-
Use CDK to deploy a complete solution with Kafka, App Runner, EKS and DynamoDB
The MSK producer and consumer app use the franz-go library (it also supports MSK IAM authentication).
-
Getting started with MSK Serverless and AWS Lambda using Go
How to use the franz-go Go Kafka client to connect to MSK Serverless using IAM authentication.
-
Show HN: A native macOS client for Apache Kafka
Franz is a fairly obvious name for a Kafka related tool/library so hopefully it won't get confused with https://github.com/twmb/franz-go
-
Oracle DB support in Benthos
github.com/twmb/franz-go -> also early days but this is looking like a fantastic option for a kafka client library if you fancy being an early adopter. I've done the rounds on many kafka client libraries and they always seem to be a harsh compromise in some form or another, but I feel good about this one
-
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.
-
Which library/project do you wish was ported to golang?
Redpanda isn’t implemented in Go, but I second its use over the Apache server. Plenty of clients out there in pure go. https://github.com/twmb/franz-go is a personal favorite
What are some alternatives?
fx - A dependency injection based application framework for Go.
kafka-go - Kafka library in Go
svc-fizzbuzz - A simple fizzbuzz microservice
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
waypoint - A tool to build, deploy, and release any application on any platform.
rust-rdkafka - A fully asynchronous, futures-based Kafka client library for Rust based on librdkafka
exposure-notifications-server - Exposure Notification Reference Server | Covid-19 Exposure Notifications
sarama - Sarama is a Go library for Apache Kafka.
explicit-architecture-php - This repository is a demo of Explicit Architecture, using the Symfony Demo Application.
go-ora - Pure go oracle client
go-rest-api-course
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client