国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[Spring cloud 一步步實現廣告系統] 3. 網關路由

miguel.jiang / 624人閱讀

摘要:獲取當前請求的請求上下文記錄請求進入時間需要最后一個執行的后續更新做一個好人。

Zuul(Router and Filter)

WIKI: 傳送門

作用

認證,鑒權(Authentication/Security)

預判(Insights)

壓力測試(Stress Testing)

灰度/金絲雀測試(Canary Testing)

動態路由(Dynamic Routing)

服務遷移(Service Migration)

降低負載(Load Shedding)

靜態響應處理(Static Response handling)

主動/主動交換管理(Active/Active traffic management)

關鍵配置:

The configuration property zuul.host.maxTotalConnections and zuul.host.maxPerRouteConnections, which default to 200 and 20 respectively.
創建mscx-ad-zuul

三步曲創建法:

添加依賴
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-zuul
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
    
加注解
@SpringCloudApplication
@EnableZuulProxy //啟用網關
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}
改配置
spring:
  application:
    name: ad-gateway-zuul
server:
  port: 1111
eureka:
  client:
    service-url:
      defaultZone: http://server1:7777/eureka/,http://server2:8888/eureka/,http://server3:9999/eureka/
  instance:
    hostname: ad-gateway-zuul
zuul:
  ignored-services: "*" # 過濾所有請求,除了下面routes中聲明過的服務
  routes:
    sponsor: #在路由中自定義服務路由名稱
      path: /ad-sponsor/**
      serviceId: mscx-ad-sponsor #微服務name
      strip-prefix: false
    search: #在路由中自定義服務路由名稱
      path: /ad-search/**
      serviceId: mscx-ad-search #微服務name
      strip-prefix: false
  prefix: /gateway/api
  strip-prefix: false #不對 prefix: /gateway/api 設置的路徑進行截取,默認轉發會截取掉配置的前綴
過濾器編寫

我們來編寫一個記錄請求時間周期的過濾器,根據Filter的三種類型:Pre filters,routing filtersPost filters,我們需要定義2個filter,用來記錄開始和結束時間,很明顯,我們需要實現Pre & Post2個過濾器。

@Slf4j
@Component
public class PreRequestFilter extends ZuulFilter {
    @Override
    public String filterType() {
        // pre filter
        return FilterConstants.PRE_TYPE;
    }

    @Override
    public int filterOrder() {
        return 0;
    }

    @Override
    public boolean shouldFilter() {
        return true;
    }

    @Override
    public Object run() throws ZuulException {
        //獲取當前請求的請求上下文
        RequestContext requestContext = RequestContext.getCurrentContext();
        //記錄請求進入時間
        requestContext.set("api_request_time", System.currentTimeMillis());
        return null;
    }
}

---
  
@Slf4j
@Component
public class AccessLogFilter extends ZuulFilter {

    @Override
    public String filterType() {
        return FilterConstants.POST_TYPE;
    }

    @Override
    public int filterOrder() {
        //需要最后一個執行的filter
        return FilterConstants.SEND_RESPONSE_FILTER_ORDER - 1;
    }

    @Override
    public boolean shouldFilter() {
        return true;
    }

    @Override
    public Object run() throws ZuulException {
        RequestContext requestContext = RequestContext.getCurrentContext();
        HttpServletRequest request = requestContext.getRequest();
        log.info("Request "{}" spent : {} seconds.", request.getRequestURI(),
                (System.currentTimeMillis() - Long.valueOf(requestContext.get("api_request_time").toString())) / 1000);
        return null;
    }
}
Gateway
后續更新---
做一個好人。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75587.html

相關文章

  • [Spring cloud 步步實現廣告系統] 7. 中期總結回顧

    摘要:在前面的過程中,我們創建了個服務發現我們使用作為服務發現組件,學習了的使用。加依賴加注解改配置使用項目三部曲,我們可以快速添加一個新組件,并正常使用這個我沒有在項目中實現,但是大家可以和一樣,三部曲搞定。 在前面的過程中,我們創建了4個project: 服務發現 我們使用Eureka 作為服務發現組件,學習了Eureka Server,Eureka Client的使用。 Eureka...

    cnsworder 評論0 收藏0
  • [Spring cloud 步步實現廣告系統] 6. Service實現&Zuul配置&a

    摘要:所以,沒必要過分糾結這種信息,咬文嚼字有時候反而會適得其反。若初通用錯誤信息異常類請求參數異常用戶已存在用戶不存在在下面創建一個工具類用來對用戶進行加密來獲取信息。工具類若初加密參考創建用戶的實現,依次實現其他表操作。 DAO層設計實現 這里我們使用Spring DATA JPA來實現數據庫操作,當然大家也可以使用Mybatis,都是一樣的,我們依然以用戶表操作為例: /** * A...

    孫淑建 評論0 收藏0
  • 微服務網關方案調研

    摘要:綜述經調研,使用解決方案的占多數,已經能滿足絕大多數公司需求。但除了一些超級公司外,比如阿里,京東,他們是自己擼的一套網關。 綜述 經調研,使用Spring Cloud Zuul解決方案的占多數,已經能滿足絕大多數公司需求。但除了一些超級公司外,比如阿里,京東,他們是自己擼的一套網關。此外,點評直接采用的nginx負載均衡前置網關,而沒用第七層網關,原因據說是七層網關會影響性能,但由于...

    Y3G 評論0 收藏0
  • [Spring cloud 步步實現廣告系統] 4. 通用代碼模塊設計

    摘要:對的配置和行為進行定制修改匹配路由請求規則注冊自定義的和添加靜態資源處理器添加自定義視圖控制器添加自定義方法參數處理器配置消息轉換器清空所有轉換器做一個好人。博客園掘金簡書頭條知乎 一個大的系統,在代碼的復用肯定是必不可少的,它能解決: 統一的響應處理(可以對外提供統一的響應對象包裝) showImg(https://segmentfault.com/img/remote/146000...

    since1986 評論0 收藏0
  • [Spring cloud 步步實現廣告系統] 8. 檢索系統配置&依賴

    摘要:工作流程項目依賴監控面板引入服務調用的組件依賴引入服務消費者的依賴數據庫鏈接依賴工具類集合類操作日志監聽解析開源工具類庫中的配置相關依賴圖片壓縮 工作流程 showImg(https://i.loli.net/2019/07/29/5d3ee1829df4d57461.png); 項目依賴 org.springframewo...

    dailybird 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<