一级域名网站建设,wordpress图设置,移动端cpu天梯图,本地电商平台有哪些因为在使用微服务的时候#xff0c;会有多端请求。会产生以下问题#xff1a;
1.客户端需要记住每一个微服务的url
2.主机端口也会直接暴露
3.每一个微服务都需要认证
4.存在跨域问题
所以网关可以解决统一访问、隐藏真实的服务器地址、网关进行统一认证、解决跨域问题、…因为在使用微服务的时候会有多端请求。会产生以下问题
1.客户端需要记住每一个微服务的url
2.主机端口也会直接暴露
3.每一个微服务都需要认证
4.存在跨域问题
所以网关可以解决统一访问、隐藏真实的服务器地址、网关进行统一认证、解决跨域问题、限流等问题。
所以网关只需要处理网址基本上只需要处理配置文件和启动类
spring:cloud:gateway:globalcors:cors-configurations:[/**]: #匹配向网关发送的所有请求allowedOrigins: * #任何一个服务器都允许跨域操作allowedMethods:- POST- GET- DELETE- PUTroutes: # 路由- id: chessgame #自定义路由唯一标识uri: lb://USER # 网关管理的访问地址predicates: # 过滤的路径(只有路径匹配了url请求网关才会处理请求)- Path/user/**filters: # 可以对于url的请求进行拦截处理- PrefixPath/api #所有请求到网关的路径前添加这段内容- StripPrefix1 #忽略请求路径中的设定数值内容路径层级数量 #在真是使用时就关闭忽略#网关限流配置
# - name: RequestRateLimiter #限流工具类的名称
# args:
# key-resolver: #{ipKeyResolver} # 使用 SpEL表达式按名称引用 bean
# #每秒钟只能处理一个请求,测试效果明显
# redis-rate-limiter.replenishRate: 1 #令牌桶每秒填充速率
# redis-rate-limiter.burstCapacity: 1 #令牌桶总容量
将启动类发送到注册中心去 !--网关,与web有冲突的--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!--实现令牌桶--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis-reactive/artifactId/dependency
使用gateway的限流工具需要进行在启动类中添加bean /**** IP地址进行限流*return*/Bean(nameipKeyResolver)public KeyResolver userKeyResolver(){return new KeyResolver(){Overridepublic MonoString resolve(ServerWebExchange exchange){//获取远程客户端IPString hostName exchange.getRequest().getRemoteAddress().getAddress().getHostAddress();return Mono.just(hostName);}};}