成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么在SpringCloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)

今天就跟大家聊聊有關(guān)怎么在Spring Cloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、電商網(wǎng)站制作開(kāi)發(fā)、微信小程序開(kāi)發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開(kāi)發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

Spring Cloud Zuul

 - 路由+過(guò)濾器
 - 核心是一系列的過(guò)濾器

怎么在Spring Cloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)

怎么在Spring Cloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)

Zuul路由配置

management:
  security:
    enabled: false // 權(quán)限設(shè)置
zuul: 
  routes:
    # myProduct:  // 這個(gè)名稱可以隨便填
    #   path: /myProduct/**
    #   serviceId: product
    #   sensitiveHeader: //敏感頭過(guò)濾
    # 簡(jiǎn)潔寫(xiě)法
    product: /myProduct/**
  ignored-patterns: 
    - /**/product/listForOrder // 不對(duì)外部訪問(wèn)(-代表set集合)
查看所有的路由規(guī)則:localhost:port/application/routes
{
  /myProduct/**: "product",
  /config/**: "config",
  /product/**: "product",
}

Zuul配置的動(dòng)態(tài)注入(也可以寫(xiě)入啟動(dòng)類中)

@Compoent
public class ZuulConfig{
  @ConfigurationProperties("zuul")
  @RefreshScope
  public ZuulProperties zuulProperties(){
    return new ZuulProperties();
  }
}

典型應(yīng)用場(chǎng)景

前置過(guò)濾器

 - 限流
 - 鑒權(quán)
 - 參數(shù)校驗(yàn)調(diào)整

后置過(guò)濾器

- 統(tǒng)計(jì)
- 日志

要想實(shí)現(xiàn)Filter,需要以下幾個(gè)步驟:

1、繼承ZuulFilter類,為了驗(yàn)證Filter的特性,我們這里創(chuàng)建3個(gè)Filter

根據(jù)用戶名來(lái)過(guò)濾

package com.chhliu.springcloud.zuul; 
 
import javax.servlet.http.HttpServletRequest; 
 
import com.netflix.zuul.ZuulFilter; 
import com.netflix.zuul.context.RequestContext; 
 
public class AccessUserNameFilter extends ZuulFilter { 
  @Override 
  public Object run() { 
    RequestContext ctx = RequestContext.getCurrentContext(); 
    HttpServletRequest request = ctx.getRequest(); 
 
    System.out.println(String.format("%s AccessUserNameFilter request to %s", request.getMethod(), request.getRequestURL().toString())); 
 
    String username = request.getParameter("username");// 獲取請(qǐng)求的參數(shù) 
    if(null != username && username.equals("chhliu")) {// 如果請(qǐng)求的參數(shù)不為空,且值為chhliu時(shí),則通過(guò) 
      ctx.setSendZuulResponse(true);// 對(duì)該請(qǐng)求進(jìn)行路由 
      ctx.setResponseStatusCode(200); 
      ctx.set("isSuccess", true);// 設(shè)值,讓下一個(gè)Filter看到上一個(gè)Filter的狀態(tài) 
      return null; 
    }else{ 
      ctx.setSendZuulResponse(false);// 過(guò)濾該請(qǐng)求,不對(duì)其進(jìn)行路由 
      ctx.setResponseStatusCode(401);// 返回錯(cuò)誤碼 
      ctx.setResponseBody("{\"result\":\"username is not correct!\"}");// 返回錯(cuò)誤內(nèi)容 
      ctx.set("isSuccess", false); 
      return null; 
    } 
  } 
 
  @Override 
  public boolean shouldFilter() { 
    return true;// 是否執(zhí)行該過(guò)濾器,此處為true,說(shuō)明需要過(guò)濾 
  } 
 
  @Override 
  public int filterOrder() { 
    return 0;// 優(yōu)先級(jí)為0,數(shù)字越大,優(yōu)先級(jí)越低 
  } 
 
  @Override 
  public String filterType() { 
    return "pre";// 前置過(guò)濾器 
  } 
}

看完上述內(nèi)容,你們對(duì)怎么在Spring Cloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章題目:怎么在SpringCloud中使用Zuul實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)
鏈接分享:http://jinyejixie.com/article48/ppeiep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站企業(yè)建站、企業(yè)網(wǎng)站制作做網(wǎng)站、商城網(wǎng)站靜態(tài)網(wǎng)站

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
绥芬河市| 三原县| 富蕴县| 盐池县| 兰考县| 石门县| 潼南县| 庆安县| 九龙城区| 汉中市| 肥东县| 西青区| 鲁山县| 宝清县| 沐川县| 西乌| 渑池县| 兰州市| 陈巴尔虎旗| 婺源县| 麟游县| 沙田区| 太谷县| 绥化市| 徐闻县| 屏山县| 白朗县| 思南县| 永胜县| 衡南县| 天峨县| 汝南县| 远安县| 泰顺县| 阿鲁科尔沁旗| 涪陵区| 三门峡市| 来凤县| 龙南县| 彩票| 永仁县|