Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mubarokahh/microservices-project

Orchestrating Containers Across Multiple Virtual Servers with Kubernetes.Deploying Applications Into Kubernetes Cluster.Persisting Data in Kubernetes.Building Elastic Kubernetes Service (EKS) With Terraform - Deploying and Packaging applications with Helm.Deploying and Packaging applications into Kubernetes with Helm.
https://github.com/mubarokahh/microservices-project

helm jenkins jenkins-pipeline kubernetes kubernetes-cluster

Last synced: 19 days ago
JSON representation

Orchestrating Containers Across Multiple Virtual Servers with Kubernetes.Deploying Applications Into Kubernetes Cluster.Persisting Data in Kubernetes.Building Elastic Kubernetes Service (EKS) With Terraform - Deploying and Packaging applications with Helm.Deploying and Packaging applications into Kubernetes with Helm.

Awesome Lists containing this project

README

        

# Voting Application with CI/CD(JENKINS),KUBERNETES. (GOLANG MICROSERVICE)
## Introduction
This repo consist of anmicroservice voting appliaction in GO.A multi branch repo with each branch representing a microservice.These branches include :
REDIS BRANCH, POSTGRES BRANCH, VOTING-SERVICE BRANCH, WORKER-SERVICE BRANCH, RESULT-SERVICE BRANCH
This application allows uders to vote for either cinema or netflix, it processes the votes in real-time and also displays the results. The application architecture includes JENKINS as the CI/CD tool, Kubernetes for orchestration of the microservices, Helm for deployment management, Prometheus for metic scrapping and Grafana for visualization.

## REQUIRED TOOLS
The following tools are installed:
Go 1.18 or later
Redis for in-memory data storage
PostgreSQL for persistent vote storage
Docker for containerization
Jenkins for CI/CD pipeline automation
Kubernetes for container orchestration
Docker Desktop for local containerization
Kubernetes in Docker (KIND) for managing Kubernetes clusters
Helm for Kubernetes deployment management
Prometheus & Grafana for monitoring and alerting

## DataFlow of the application
- User vote for either cinema or Netflix
- The votes are storedgit in redis
- The background worker syncs vote from Redis to PostgreSQL
- The result service then reads the results from PostgreSQL and displays the result
- Postgres then scap metric and grafana does the visualization.