spring cloud微服务分布式云架构Spring Cloud Zuul
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 三五三六二四七二五九POM依赖 org.springframewor
千家信息网最后更新 2025年02月23日spring cloud微服务分布式云架构Spring Cloud Zuul
Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 三五三六二四七二五九
POM依赖
org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.cloud spring-cloud-starter-netflix-zuul
启动类加上: @EnableZuulProxy 注解
配置:
spring: application: name: zuul-gatewayeureka: client: service-url: defaultZone: http://localhost:9001/eureka/server: port: 9501zuul: routes: #把order-server服务映射到路径/my-order/** order-test-route: serviceId: order-server path: /my-order/** #过滤指定的url,即不路由指定的url ignored-patterns: - /*/order/list # 当hystrix的值小的时候,hystrix生效,当ribbon.ReadTimeout小的时候,ribbon生效 # 注意:只有zuul路由是url是才生效# 如果使用的是serviceId 需要使用 ribbon.ReadTimeout 和 ribbon.SocketTimeout)hystrix: command: default: execution: timeout: enabled: true isolation: #命令的执行超时时间 超时将执行回退 thread: timeoutInMilliseconds: 8000ribbon: ReadTimeout: 10000 #读取超时时间 ConnectTimeout: 10000
ignored-patterns 为忽略指定的API
自定义过滤器需要实现ZuulFilter接口:
/** * 用户访问时触发 * * @author 阮胜 * @date 2018/7/19 21:48 */@Componentpublic class TokenFilter extends ZuulFilter { private static final String TOKEN = "token"; /** * 过滤器类型 * * @return */ @Override public String filterType() { return FilterConstants.PRE_TYPE; } /** * 过滤器在过滤器链中的位置 * * @return */ @Override public int filterOrder() { return FilterConstants.PRE_DECORATION_FILTER_ORDER - 1; } /** * 返回值为true时执行过滤器,false则不执行当前过滤器 * * @return */ @Override public boolean shouldFilter() { return true; } /** * 用户访问时触发该过滤器 * * @return * @throws ZuulException */ @Override public Object run() throws ZuulException { RequestContext requestContext = RequestContext.getCurrentContext(); HttpServletRequest request = requestContext.getRequest(); String token = request.getParameter(TOKEN); if (StringUtils.isEmpty(token)) { requestContext.setSendZuulResponse(false); requestContext.setResponseStatusCode(HttpStatus.SC_UNAUTHORIZED); } return null; }}
/** * 用户访问完要返回的时候触发 * @author 阮胜 * @date 2018/7/19 21:57 */@Componentpublic class PostFilter extends ZuulFilter { @Override public String filterType() { return FilterConstants.POST_TYPE; } @Override public int filterOrder() { return FilterConstants.SEND_RESPONSE_FILTER_ORDER - 1; } @Override public boolean shouldFilter() { return true; } @Override public Object run() throws ZuulException { RequestContext requestContext = RequestContext.getCurrentContext(); HttpServletResponse resp = requestContext.getResponse(); resp.setHeader("auth", "test auth"); return null; }}
过滤器
时候
用户
服务
时间
路由
企业
企鹅
位置
只有
命令
商务
平台
接口
注解
源码
电子
电子商务
类型
路径
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
平台管理服务器
思科服务器报警声怎么关闭
软件开发项目转让协议书
4G网络安全科技馆
广播电视台网络安全措施
马鞍山软件开发价格
手机网络安全检查自查知识要点
百度云服务器域名
软件开发属服务类吗
鲁班网服务器在哪里
十九届五中全会网络安全
刚开服就服务器炸了的游戏有哪些
联合致盈网络技术公司简介
网络技术与继续教育
软件开发的重要性论文
dw数据库断了怎么办
富士康ftc软件开发
新建数据库用户并赋权
神话数据库教程
网络安全工程师去哪报名
国家实行网络安全法
邮件服务器如何锁定任天堂
更新数据库的java语句
网络安全漏洞一共有多少个
校园网络安全小标语
三星不安全连接到服务器
简述网络安全加密技术
非编码区数据库
广东餐饮软件开发外包
广东君信网络技术有限公司