推荐 Spring Cloud 视频:
Spring Cloud Zuul作为API网关实现请求路由转发教程
当我们的架构实现前后端分离以后,前端和后端之间交互就是通过API网关进行,API网关两个职责:
1.设计上的适配层,或称Facade模式,后端微服务可能过于细粒度,通过API网关进行内外适配,前后端转换,如果220v转换成110v一样。
2.运行阶段:将外部请求路由分发到内部各个微服务,负载平衡和路由策略是需要的。
API网关,即边缘服务,为一组微服务提供统一的接口,以便客户无需了解微服务内部的所有细节。但是,在微服务架构中使用API网关模式有一些优缺点。
优点:
- 为客户提供更简单的界面
- 可用于防止将内部微服务结构暴露给客户端
- 允许重构微服务而不强制客户端重构消耗逻辑
- 可以集中安全,监控,速率限制等交叉问题
缺点:
- 如果不采取适当措施使其具有高可用性,它可能会成为单点故障
- 各种微服务API的知识可能会渗透到API网关中
Spring Cloud提供类似于Nginx的代理 Zuul,可用于创建API网关。最新版本已经使用非堵塞的Spring Cloud Gateway替代了Zuul,当然我们还是能通过Zuu