todo-api-microservice-example
kafka-go
todo-api-microservice-example | kafka-go | |
---|---|---|
17 | 13 | |
979 | 7,144 | |
- | 1.4% | |
8.6 | 6.7 | |
8 days ago | 5 days ago | |
Go | Go | |
MIT License | 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.
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.
kafka-go
-
book about golang and kafka
There are two main libraries that people use to write clients Confluent Kafka and segment io kafka
-
Klient - a native, statically-compiled, command line client for Kafka
Unlike the standard scripts, and many binary clients, it's a native, statically-compiled, binary. It uses segmentio/go-kafka internally, which means CGO can be disabled during compilation.
-
Is Kafka the Key? The Evolution of Highlight's Ingest
Scaling up our producers/consumers proved to be more cost-effective than adding more CPU/brokers to the Kafka cluster. To accomplish this, we used the segmentio/kafka-go client library which provides an excellent abstraction for interacting with the cluster and will handle data compression completely transparently.
-
Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch πβ¨π«
PostgeSQL as event store database Kafka as messages broker gRPC Go implementation of gRPC Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB MongoDB database Elasticsearch Elasticsearch client for Go. Echo web framework Kibana Kibana is data visualization dashboard software for Elasticsearch Migrate for migrations
-
Kafkagosaur - First release
I want to announce the first release of a kafkagosaur, a new Kafka client. It's built using WebAssembly and binds to the kafka-go library. The first release includes functionality to read and write Kafka messages and SASL support.
-
Switching from Celery and Python to Go
Use the Segment Kafka library, not Sarama, itβs much easier to use https://github.com/segmentio/kafka-go
-
I share my authentication server.
Kafaka - kafka-go, Debezium Outbox
-
Hunting down a C memory leak in a Go program
Segment learned quite some time ago that librdkafka-go has problems like these (and doesnβt support Contexts either), so they wrote a pure Go replacement instead. https://github.com/segmentio/kafka-go
-
Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing ππ§βπ»
In this article let's try to create closer to real world CQRS microservices with tracing and monitoring using: π Kafka as messages broker gRPC Go implementation of gRPC PostgreSQL as database Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB Web and API based SMTP testing Redis Type-safe Redis client for Golang swag Swagger for Go Echo web framework
- confluent-kafka-go or Shopify/sarama
What are some alternatives?
fx - A dependency injection based application framework for Go.
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
svc-fizzbuzz - A simple fizzbuzz microservice
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
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.
waypoint - A tool to build, deploy, and release any application on any platform.
retry-go - Simple golang library for retry mechanism
exposure-notifications-server - Exposure Notification Reference Server | Covid-19 Exposure Notifications
kafka-rust - Rust client for Apache Kafka
explicit-architecture-php - This repository is a demo of Explicit Architecture, using the Symfony Demo Application.
cobra - A Commander for modern Go CLI interactions