spring cloud微服务分布式云架构Spring Cloud Zuul
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 三五三六二四七二五九POM依赖 org.springframewor
千家信息网最后更新 2025年01月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安全错误
数据库的锁怎样保障安全
崩坏3服务器区别
全基因组数据的数据库
曙光服务器硬盘灯橘色
网络安全风险架构
腾讯云数据库管理员权限
数据库表中添加一个字段
photon服务器网络框架
公网服务器跑程序
bvms服务器
上海系统软件开发公司排名
tp5 数据库操作删除
小米手机收件服务器授权码
电视服务器端口是什么
洛阳工匠软件开发有限公司电话
解读网络安全环保
多台服务器安装ssh
襄阳定制软件开发多少钱
穿越火线预备服务器怎么进
网站转换app软件开发
浙江企业软件开发哪个好
已检测到许可证服务器nx12
信息与网络安全相关证书
阿里云系列 服务器
网络技术服务项目心得
想学网络技术培训班
软件开发各阶段范例
吴江区网络安全调查
有需要软件开发的老板吗
mc基岩版服务器菜单
网络安全宣传周手势舞