Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mubarokahh/microservices-project
- Owner: Mubarokahh
- Created: 2024-01-25T12:41:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-15T13:35:54.000Z (3 months ago)
- Last Synced: 2024-11-15T13:39:55.140Z (3 months ago)
- Topics: helm, jenkins, jenkins-pipeline, kubernetes, kubernetes-cluster
- Homepage:
- Size: 1.53 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.