欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何在springboot中使用zuul實現網關

如何在springboot中使用zuul實現網關?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創(chuàng)新互聯于2013年開始,是專業(yè)互聯網技術服務公司,擁有項目網站建設、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元墾利做網站,已為上家服務,為墾利各地企業(yè)和個人服務,聯系電話:18980820575

1 添加依賴

dependencies {
  implementation('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
  implementation('org.springframework.cloud:spring-cloud-starter-netflix-zuul')
  testImplementation('org.springframework.boot:spring-boot-starter-test')
  implementation('com.marcosbarbero.cloud:spring-cloud-zuul-ratelimit:1.3.2.RELEASE')
}

2 添加yml

server:
 port: 8300
spring:
 application:
  name: microservice-gateway-zuul
eureka:
 client:
  register-with-eureka: true
  fetch-registry: true
  service-url:
   defaultZone: http://localhost:6761/eureka
 instance:
  ip-address: true
zuul:
 routes:
  users:
    path: /lind/** #以lind開頭的路徑被重定向到lind服務
    serviceId: lind
 add-host-header: true #顯示真實的http頭
 retryable: false #關閉Hystrix的重試功能
 ratelimit:
  enabled: true
  # repository: redis
  behind-proxy: true
  policies:
    users:
     limit: 5 #限流,每分鐘請求5次
     refresh-interval: 60
     type:
      - user
      - origin
      - url
     #    url類型的限流就是通過請求路徑區(qū)分
     #    origin是通過客戶端IP地址區(qū)分
     #    user是通過授權用戶進行區(qū)分,也包括匿名用戶

3 添加實現代碼

http攔截器,獲取用戶ID,為子服務進行傳遞

public class PreRequestLogFilter extends ZuulFilter {
 private static final Logger logger = LoggerFactory.getLogger(PreRequestLogFilter.class);
 private final RateLimiter rateLimiter = RateLimiter.create(1000.0);
 @Override
 public Object run() {
  try {
   RequestContext currentContext = RequestContext.getCurrentContext();
   HttpServletResponse response = currentContext.getResponse();
   HttpServletRequest reqeust = currentContext.getRequest();
   currentContext.addZuulRequestHeader("userId","123");//向子系統(tǒng)http頭寫數據
   currentContext.addZuulRequestHeader("userName","test");
   PreRequestLogFilter.logger.info(
     String.format("send %s request to %s",
       reqeust.getMethod(),
       reqeust.getRequestURL().toString()));
   if (!rateLimiter.tryAcquire()) {
    HttpStatus httpStatus = HttpStatus.TOO_MANY_REQUESTS;
    response.setContentType(MediaType.TEXT_PLAIN_VALUE);
    response.setStatus(httpStatus.value());
    response.getWriter().append(httpStatus.getReasonPhrase());
    currentContext.setSendZuulResponse(false);
    throw new ZuulException(
      httpStatus.getReasonPhrase(),
      httpStatus.value(),
      httpStatus.getReasonPhrase()
    );
   }
  } catch (java.lang.Exception e) {
   ReflectionUtils.rethrowRuntimeException(e);
  }
  return null;
 }
 @Override
 public boolean shouldFilter() {
  // 判斷是否需要過濾
  return true;
 }
 @Override
 public String filterType() {
  return FilterConstants.PRE_TYPE;
 }
 @Override
 public int filterOrder() {
  return Ordered.HIGHEST_PRECEDENCE;
 }
}

在主程中注入這個過濾器

@Bean
 public PreRequestLogFilter preRequestLogFilter() {
  return new PreRequestLogFilter();
 }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝您對創(chuàng)新互聯的支持。

分享標題:如何在springboot中使用zuul實現網關
新聞來源:http://aaarwkj.com/article46/jjjieg.html

成都網站建設公司_創(chuàng)新互聯,為您提供域名注冊、網站內鏈、手機網站建設、標簽優(yōu)化、全網營銷推廣、微信公眾號

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

外貿網站制作
日韩欧美一区二区三区在线| 女同欲望一区二区三区久久| 女同欲望一区二区三区久久| 亚洲少妇插进去综合网| 国产乡下三级_三级全黄| 亚洲精品深夜福利视频| 中文字幕色视频在线观看| 国产成人啪精品视频免费| 老熟妇仑乱换频一区二区| 欧美日韩人美精品一区在线| 最新91熟女九色地址| 国产美女主播在线精品一区| 国产男女猛烈无遮挡网站| 国产三级黄色片免费看| 日韩精品中文字幕有码| 18禁黄久久久一区二区三区| av天堂精品一区二区三区| 深夜视频国产在线观看| av久久精品在线观看| 91免费版在线观看网址| 欧美黄色一区二区在线观看| 亚洲国产av国产av| 日本午夜免费在线视频| 欧美高清在线观看视频| 午夜精品久久99蜜桃| 中文字幕久久亚洲一区| 狠狠久久五月综合色和啪| 欧美高清一区二区三区精品| 国产一区二区精品久久岳√| 亚洲欧美综合区丁香六月| 国产毛片精品一区内射| 岛国大片日韩在线观看| 中文字幕乱码高清免费| 亚洲欧美日韩成人在线| 免费特黄特黄的欧美大片| 精品国产自在久久成人| 免费无遮挡午夜视频网站| 欧美成人精品资源在线观看| 免费av在线观看日韩| 亚洲一区在线观看激情| 精品人妻一区二区三区观看|