spring cloud微服務分散式雲架構Spring Cloud Zuul
Spring Cloud大型企業分散式微服務雲構建的B2B2C電子商務平臺原始碼請加企鵝求求: 三五三六二四七二五九
POM依賴
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> </dependencies>
啟動類加上: @EnableZuulProxy 註解
配置:
spring: application: name: zuul-gateway eureka: client: service-url: defaultZone: server: port: 9501 zuul: 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: 8000 ribbon: ReadTimeout: 10000 #讀取超時時間 ConnectTimeout: 10000
ignored-patterns 為忽略指定的API
自定義過濾器需要實現ZuulFilter介面:
/** * 使用者訪問時觸發 * * @author 阮勝 * @date 2018/7/19 21:48 */ @Component public 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 */ @Component public 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; } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952307/viewspace-2675595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- spring cloud微服務分散式雲架構-Spring Cloud NetflixSpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Spring Cloud BusSpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- (一)spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- (一)spring cloud微服務分散式雲架構-Spring Cloud簡介SpringCloud微服務分散式架構
- Java架構-(一)spring cloud微服務分散式雲架構 - Spring Cloud簡介Java架構SpringCloud微服務分散式
- spring cloud微服務分散式雲架構-Spring Cloud Config環境庫SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構 - Spring Cloud整合專案簡介SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Spring Cloud 分散式的五大重點SpringCloud微服務分散式架構
- (三)spring cloud微服務分散式雲架構 - Spring Cloud整合專案簡介SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構--hystrix的使用SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Gateway入門SpringCloud微服務分散式架構Gateway
- spring cloud微服務分散式雲架構-Commons 普通抽象SpringCloud微服務分散式架構抽象
- spring cloud微服務分散式雲架構(一)-spring cloud 服務註冊與發現SpringCloud微服務分散式架構
- Spring Cloud Spring Boot mybatis分散式微服務雲架構CloudSpring BootMyBatis分散式微服務架構
- (六)spring cloud微服務分散式雲架構-服務閘道器Zuul高階篇SpringCloud微服務分散式架構Zuul
- (三)spring cloud微服務分散式雲架構-服務閘道器zuul初級篇SpringCloud微服務分散式架構Zuul
- Spring Cloud分散式微服務雲架構構建SpringCloud分散式微服務架構
- spring cloud微服務分散式雲架構- Config 快速開始SpringCloud微服務分散式架構
- (十七)spring cloud微服務分散式雲架構-eureka 基礎SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構--服務註冊(consul)SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構(四)-斷路器(Hystrix)SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-單點登入(SSO)SpringCloud微服務分散式架構
- Spring Cloud微服務分散式雲架構—整合專案簡介SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-服務消費者FeignSpringCloud微服務分散式架構
- spring cloud + spring boot + springmvc+mybatis分散式微服務雲架構CloudSpring BootSpringMVCMyBatis分散式微服務架構
- spring cloud springboot mybatis 分散式 微服務 架構原始碼CloudSpring BootMyBatis分散式微服務架構原始碼
- (十六)spring cloud微服務分散式雲架構-整合專案簡介SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構(三)-服務消費者(Feign)SpringCloud微服務分散式架構
- Spring Cloud雲服務架構 - 企業分散式微服務雲架構構建SpringCloud架構分散式微服務
- spring cloud分散式微服務:Spring Cloud ConfigSpringCloud分散式微服務
- Spring Cloud微服務分散式雲架構 - 整合企業架構的技術點SpringCloud微服務分散式架構
- 整合spring cloud雲架構 --spring cloud分散式系統中實現分散式鎖SpringCloud架構分散式
- Spring Cloud構建微服務架構:分散式配置中心(加密解密)SpringCloud微服務架構分散式加密解密
- (十五)spring cloud微服務分散式雲架構-commonservice-config配置服務搭建SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-服務閘道器過濾器SpringCloud微服務分散式架構過濾器
- spring cloud + spring boot + springmvc+mybatis微服務雲架構CloudSpring BootSpringMVCMyBatis微服務架構
- spring cloud微服務分散式雲架構-config配置自動重新整理SpringCloud微服務分散式架構