Gateway网关的作用:
路由: Gateway负责将来自客户端的请求路由到正确的微服务。这可以基于请求的路径、主机头、HTTP方法等条件进行路由。
负载均衡: Gateway可以执行负载均衡,将请求分发到多个相同或不同的微服务实例,以确保各个实例都能够处理相应的负载,提高系统的性能和可用性。
安全性: Gateway通常用于处理安全性方面的任务,例如身份验证、授权和加密。它可以拦截请求并验证用户的身份,确保只有经过身份验证的用户才能访问受保护的微服务。
监控和日志: Gateway可以收集有关请求和响应的信息,用于监控和日志记录。这些信息可以用于分析性能问题、跟踪请求流程,以及生成有关系统行为的报告。
协议转换: Gateway可以执行协议转换,将外部请求从一个协议转换为另一个协议。例如,将HTTP请求转换为WebSocket请求,或者将请求从HTTP/1.1转换为HTTP/2。
缓存: Gateway可以实现请求和响应的缓存,以降低对微服务的负载,提高响应速度。这对于处理频繁请求相同资源的情况很有用。
限流: 通过在Gateway上实现限流策略,可以控制对微服务的请求流量,防止过多的请求导致系统过载。
断路器模式: Gateway可以实现断路器模式,用于在微服务发生故障或不可用时防止请求继续传递,从而提高系统的稳定性。
API管理: Gateway可以用于集中管理和监控微服务的API。这包括API版本控制、文档生成、请求转换等。
工具: SpringCloud官方的Gateway
SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。
测试:
第一步:新建模块
添加插件
在pom文件中添加common依赖
第二步:开启网关的注册发现
在application类上添加@EnableDiscoveryClient注解
配置nacos的服务中心地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
配置bootstrap.properties
添加排除数据源的注解
更改端口为88
启动网关
第三步:对网关进行配置
新建application.yml文件
重新运行