作者:霸气的gmail | 来源:互联网 | 2023-02-02 13:35
我是微服务世界的新手.想知道何时使用Spring eureka,zuul vs spring数据流.
我正在构建一个服务,它反过来将使用多个粒度服务(也就是微服务),聚合所有数据并将聚合数据返回给消费者.所有服务都将在公司基础架构内的本地Intranet中运行.此外,我想负载平衡个别微服务.
微服务部署的技术选择应该是什么?
我正在使用Spring 4.3,Spring启动,Rest,Spring数据.
1> 小智..:
我建议这个架构:
Netflix Eureka:用于服务发现
Consul或Config Server:用于基于12个因素保存环境中的配置
Zuul:用于智能和可编程路由
Netflix功能区:用于客户端负载平衡
Zipkin:用于追踪
Turbine:用于度量聚合
Netflix Feign:用于声明性REST API实现
Hysterix:用于断路器(EIP模式之一)
RabbitMQ(Spring-AMQP)或Kafka(Spring-Kafka和Kafka Stream)具有异步通信风格
Grafana + Prometheus + Prometheus-jmx-exporter用于监控系统
Docker:用于虚拟化和容器基础架构
Docker Swarm或Kubernetes:用于可扩展性,自动化和容器管理
注意:Prometheus是一个时间序列数据库(包括监控功能),您也可以使用InfluxDb或Graphite代替它.