I am using Spring Cloud for Creating Microservice Architecture.
I was using the below feature from the Spring Cloud
- Zuul – API gateway service that provides dynamic routing, monitoring, resiliency, security, and more -
- Ribbon – Client side load balancer
- Feign – Declarative REST client
- Eureka – Service registration and discovery
- Sleuth – Distributed tracing via logs
- Zipkin – Distributed tracing system with request visualization.
- Hystrix - Circuit Breaker, Fault Tolerance, Hystrix Dashboard for all API
Now Lets say if I have 100 microservices, then we need 100 servers to maintain each microservices. So I thought of using Kubernetes to solve this issue by deploying each microservices in a separate docker container, so now since Kubernetes takes care of microserivice health check, autoscaling, load-balancing so do I need to again use Ribbon, Eureka and Zuul.
Can anyone please help me on this