Debopam
Debopam

Reputation: 3356

Spring netflix eureka, zuul vs Spring cloud data flow

I am new to the microservice world. Would like to know when to use Spring eureka, zuul vs spring data flow.

I am building a service which in turns will consume multiple granular services(aka micro service), aggregate all the data and returns aggregated data to the consumer. All the services will run in local intranet within company infrastructure. Also, I would like to load balance individual microservices.

What should be the choice of technology for microservices deployment?

I am using Spring 4.3, Spring boot, Rest, Spring data.

Upvotes: 5

Views: 3269

Answers (2)

Touraj Ebrahimi
Touraj Ebrahimi

Reputation: 576

I suggest this architecture:

  1. Netflix Eureka : for Service discovery
  2. Consul or Config Server : for saving configurations in environment base on 12 factors
  3. Zuul : for Intelligent and programmable routing
  4. Netflix Ribbon : for Client-Side Load Balancing
  5. Zipkin : for tracing
  6. Turbine : for metrics aggregation
  7. Netflix Feign : for Declarative REST API implementation
  8. Hysterix : for circuit breaker (one of the EIP patterns)
  9. RabbitMQ (Spring-AMQP) or Kafka (Spring-Kafka and Kafka Stream) for having asynchronous communication style
  10. Grafana + Prometheus + Prometheus-jmx-exporter for monitoring system
  11. Docker : for virtualization and container base architecure
  12. Docker Swarm or Kubernetes : for scalability, automation and Container Management

note : Prometheus is a time-series database (including monitoring features) you can also use InfluxDb or Graphite instead of it.

Upvotes: 12

Ilayaperumal Gopinathan
Ilayaperumal Gopinathan

Reputation: 4179

I think the best place to start with is to read through the overview of all these projects here to get a better understanding of the objectives each of these projects achieve.

Upvotes: 0

Related Questions