-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
For quering data our microservice has GetByID and Search handlers. Full source code and list of all used tools you can find here 👨💻 :) I hope this article is usefully and helpfully, I'll be happy to receive any feedbacks or questions :)
-
At the start of application we load yaml config using viper, initialize all that we need and run application:
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
For REST http i used echo, another good popular choice on my opinion is gin, and swag for generate RESTful API documentation. Create email handler accept requests, start tracing span, validate input using validator and call usecase method:
-
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
For REST http i used echo, another good popular choice on my opinion is gin, and swag for generate RESTful API documentation. Create email handler accept requests, start tracing span, validate input using validator and call usecase method:
-
opentracing-javascript
Discontinued OpenTracing API for Javascript (both Node and browser). 🛑 This library is DEPRECATED! https://github.com/opentracing/specification/issues/163
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
validator
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
For REST http i used echo, another good popular choice on my opinion is gin, and swag for generate RESTful API documentation. Create email handler accept requests, start tracing span, validate input using validator and call usecase method:
-
go-simple-mail
Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.
MailHog is good solution for email testing, and for go smtp client here used go-simple-mail.
-
processCreateEmail handling create email events, it's start tracing span, increase metrics counters, then unmarshal message data, and call usecase create method, if it fails, we retry for 3 times using retry-go, if it still fails, we check is the current message redelivered and if redelivery count > maxRedeliveryCount(it's up to your business logic, here is 3 times limit), handling error cases can be very different and depends on your service business logic, in this example used Dead Letter Queue approach.
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Hi, in this article I've tried to make microservice using: 🚀 NATS as message 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 MailHog Web and API based SMTP testing Redis Type-safe Redis client for Golang Nginx HTTP and reverse proxy server swag Swagger for Go
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives