Loading...
Works

Communication Station Golang Microservices2022

Built Full stack of Communication Station GO application with all independent services including Broker, Listener, Authentication, Logging, and Mailing which can communicate in different methods (REST API – JSON, RPC, gRPC), store data in different usage (RabbitMQ, Mongo, Postgres), and scale themselves by containerizing in automating deployments (Docker, Docker Swarm, Kubernetes).

Usage

Architecture - 7 folders

1. project folder: configuration and environment for Docker, Docker Swarm, Kubernetes, Caddy, NGINX, RabbitMQ, PostgreSQL, and MongoDB.
2. broker-service folder
3. authentication-service folder
4. logger-service folder
5. listener-service folder
6. mail-service folder
7. front-end

p0

Functionality – six services

1. A Front End service: displays web pages
2. A Broker service: an optional single point of entry into the microservice cluster
3. An Authentication service: with a Postgres database
4. A Logging service: with a MongoDB database
5. A Listener service: receives messages from RabbitMQ and acts upon them
6. A Mail service: takes a JSON payload, converts into a formatted email, and send it out

Deployments

1. Docker Swarm: 2 Nodes (1 manager, 1 worker) with security configuration.
2. Kubernetes: 9 deployments, 9 services, and Ingresses (NGINX)

Configuration

docker-hubdomain-config

Demo

deployment1p1p2p3p4

Docker Swarm

p5p6p7p8p9p10p11p12

Kubernetes

k8s-p1k8s-p2k8s-p3k8s-p4k8s-p5k8s-p6k8s-p7k8s-p8k8s-p9k8s-p10k8s-p11
© 2025 Phu Nguyen. All Rights Reserved.