Otus Final Project...
Description TBD To be honest, codebases requires refactoring due to problems in core functionality and architecture If you're going to review this distributed ball of mud, I sincerily apologize, It has been made in 8 days from Pre-Existing Services that I had written as part of previous homeworks in the Otus Microservice Course
- Kubernetes Cluster
- Helm
- Install istiod
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
kubectl create namespace istio-system
helm install istio-base istio/base -n istio-system
helm install istiod istio/istiod -n istio-system --wait
- Install istio-ingress
kubectl create namespace istio-ingress
kubectl label namespace istio-ingress istio-injection=enabled
helm install istio-ingress istio/gateway -n istio-ingress --wait
- Run
bootstrap.sh
in KubernetesDeployment folder. It will install everything needed into newly created namespacestream-processing
- Run
tear-down.sh
in KubernetesDeployment folder. kubectl delete ns stream-processing
Total: 20 Gi of Storage and ~4 Gi of RAM
git clone https://github.com/ReDestroyDeR/StreamProcessing
- Start all the dependencies via
docker-compose up -d
- Open
StreamProcessing
in IntelliJ as Project - (Optional) If modules haven't been detected automatically you need to:
- File -> Project Structure -> + -> Import module -> ( NotificationService/OrderService/BillingService/...) -> Maven
- Wait until they don't appear in Project Structure Menu
- Generate Avro schemas for each service
mvn avro:schema
- Mark
target/generated-sources
as generated sources folder in Project Structure- ... Service -> Sources -> Select target/generated-sources -> Alt + S -> (On the right panel) Source Folders target/generated-sources Edit properties (Pencil Symbol) -> Check For generated sources
- You have ready development deployment!