/pheonix-microservice

This is a micro-service pet project done for experiment.

Pheonix

Pheonix is a pet project for experimenting different frontiers of microservice architecture and also get hands on experience with different tools particulary needed to build microservices.

Another goal of this project is to test the scalibility of the services in response to changing demand/load/traffic. Also, to testify the latency or the speed of the microservice application in comparison to monolith application.

Architecture :

The microservice application we build here as a experiment has following architecture: alt text

Tools Used :

  • RabbitMq/Kafka
  • Redis
  • Mysql
  • Mongodb
  • API Gateway
  • Oauth
  • Minikube
  • Skaffold
  • Prometheus
  • Grafana
  • Postman

Prerequsites SetUp

  • minikube: Minikube is a tool that creates a single node(Virtual Machine) Kubernetes cluster on your computer using VirtualBox or Docker. To install minikube follow this link.
  • kubectl: kubectl is CLI tool that can be used to deploy applications, inspect and manage cluster resources and view logs. To installl kubectl follow this link.
  • skaffold: Skaffold is a CLI tool that facilates the continuous development and deployment of kubernetes native-applications. It also handles the workflow for building, pushing and deploying applications and provide building blocks for creating CI/CD pipelines for local as well as remote Kubernetes cluster. To install skaffold follow this link.