【发布时间】:2018-01-03 21:55:39
【问题描述】:
我创建了两个 java spring-boot 微服务,它们是 1) 生产者 2) 消费者 我已经使用 spring eureka 服务器进行服务注册和发现。它工作得很好。那么Netflix Zuul有什么用。
【问题讨论】:
标签: spring-boot microservices spring-cloud spring-cloud-netflix
我创建了两个 java spring-boot 微服务,它们是 1) 生产者 2) 消费者 我已经使用 spring eureka 服务器进行服务注册和发现。它工作得很好。那么Netflix Zuul有什么用。
【问题讨论】:
标签: spring-boot microservices spring-cloud spring-cloud-netflix
如果您在该领域有足够的经验,您可以将 zuul 视为像 Apigee 一样的 API 网关。它功能非常丰富,涉及许多不同的问题,例如路由、监控,最重要的是安全性。 eureka 作为服务发现平台,允许您在服务实例之间进行负载平衡(在 Linux 中是 nginx 或 haproxy)和故障转移。
【讨论】:
假设您有 20 个用户可以与之交互的服务,当然我们不会公开每个服务,因为这太疯狂了(因为所有服务都有不同的端口和上下文),所以最好方法将是使用 API 网关,它将充当对我们的应用程序(以微服务模式开发)的单一入口点访问,这就是 Zuul 出现的地方。 Zuul 充当您在其后面运行的所有微服务的反向代理,并且能够跟踪
身份验证
动态路由
服务迁移
减载
安全
静态响应处理
主动/主动流量管理
您可以查看文档here
【讨论】:
由于多种原因,执行服务器端业务操作(即核心)的后端服务通常不会公开。它们被一些也用作反向代理的网关层屏蔽。 Netflix Zuul 用作此网关层,可轻松为您提供@Apollo 和here 提到的功能
【讨论】: