Go, RabbitMQ and gRPC Clean Architecture microservice đź’«đź‘‹

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Go-gRPC-RabbitMQ-microservice

    Go gRPC RabbitMQ email microservice

    Here is article about create the example of similar to real production mail microservice using RabbitMQ, gRPC, Prometheus, Grafana monitoring and Jaeger opentracing ⚡️ Source code GitHub repository

  • Gomail

    The best way to send emails in Go.

    I use Gomail for send emails, of course some SMTP server is required, but you can google many free variants for testing. Send method is very simple:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • gomock

    Discontinued GoMock is a mocking framework for the Go programming language. (by golang)

    Code for another gRPC methods and some tests you can find in th repository. For testing and mocking i can recomend testify and gomock.

  • go-grpc-middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

    And initialize our gRPC service, here i used gRPC Middleware repository for unary interceptors:

  • pgx

    PostgreSQL driver and toolkit for Go

    After successfully send email let's save it in postgres, for sql db is good combination of sqlx and pgx.

  • evans

    Evans: more expressive universal gRPC client

    For testing gRPC we can use evans and need add reflection:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts