对网关的理解:
1.我们之前使用的nginx就可以实现代理多个http服务,ngixn就是一个统一网关,
我们可以在nginx做一些负载均衡,限流等操作,对于公网服务,把nginx部署在DMZ区,真实服务部署在内望区,通过nginx代码内网服务 ,还可以做到提高应用安全的作用。
2.项目中写的flfter过滤器,封装的统一服务入口控制器都可以说是网关
但是每个项目都自己内部实现网关很是不方便
在微服务通过一个统一的网关服务,转发请求到其他微服务上,
这样可以统一管理所有的微服务,统一日志管理,权限管理,负载均衡,熔断机制等。
gateway不仅能转发api接口请求,也能转发页面请求,返回页面。
目前因为spirng cloud提供了配套的gateway网关,在srpingcloud项目中更加倾向于使用springcloud gateway替代nginx网关。nginx只是一个工具,C语言写的,不好扩展,而
springcloud gateway是一个java web项目,我们可以编码实现gateay 统一日志收集,自定义路由规则等扩展。
1.抄一段SpringCloud Gateway简介
SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project R