haitham911 / email-microservice

Go, gRPC Clean Architecture microservice, gRPC Getway .Message-Based Systems email-microservice and generates a reverse-proxy server which translates a RESTful JSON

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Message-Based Systems email-microservice and generates a reverse-proxy server which translates a RESTful JSON

Advantages of Message-Based Systems are: The sender only needs to know the location of the message broker, not the addresses of all possible receivers. It’s possible to have multiple receivers for a message. We can easily add new receivers without any changes in the sender. Messages can be queued, ensuring delivery after a receiver has been down.

Go, gRPC Clean Architecture microservice, gRPC Getway

Full list what has been used

Recommendation for local development most comfortable usage

make local // run all containers
make run // run the application

πŸ™ŒπŸ‘¨β€πŸ’»πŸš€ Docker-compose files

docker-compose.local.yml - run  postgresql, jaeger, prometheus, grafana containers
docker-compose.yml - run all in docker

Docker development usage

make docker

Local development usage

make local
make run

Jaeger UI

http://localhost:16686

Prometheus UI

http://localhost:9090

Grafana UI

http://localhost:3000

protoc
-I=/usr/local/include
-I=./proto
-I=${GOPATH}/src
-I=${GOPATH}/src/grpc-gateway/third_party/googleapis
--go_out=plugins=grpc:./proto
--grpc-gateway_out=logtostderr=true:./proto
./proto/*.proto

About

Go, gRPC Clean Architecture microservice, gRPC Getway .Message-Based Systems email-microservice and generates a reverse-proxy server which translates a RESTful JSON


Languages

Language:Go 95.9%Language:Makefile 3.5%Language:Dockerfile 0.6%