国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

OpenFeign 奪命連環(huán) 9問(wèn),又掛這上了

共 14522字,需瀏覽 30分鐘

 ·

2021-09-27 15:12

1、前言

前面介紹了Spring Cloud 中的靈魂擺渡者Nacos,和它的前輩們相比不僅僅功能強(qiáng)大,而且部署非常簡(jiǎn)單。

今天介紹一款服務(wù)調(diào)用的組件:OpenFeign,同樣是一款超越先輩(Ribbon、Feign)的狠角色。

文章目錄如下:

2、Feign是什么?

Feign也是一個(gè)狠角色,F(xiàn)eign旨在使得Java Http客戶端變得更容易。

Feign集成了Ribbon、RestTemplate實(shí)現(xiàn)了負(fù)載均衡的執(zhí)行Http調(diào)用,只不過(guò)對(duì)原有的方式(Ribbon+RestTemplate)進(jìn)行了封裝,開發(fā)者不必手動(dòng)使用RestTemplate調(diào)服務(wù),而是定義一個(gè)接口,在這個(gè)接口中標(biāo)注一個(gè)注解即可完成服務(wù)調(diào)用,這樣更加符合面向接口編程的宗旨,簡(jiǎn)化了開發(fā)。

但遺憾的是Feign現(xiàn)在停止迭代了,當(dāng)然現(xiàn)在也是有不少企業(yè)在用。

有想要學(xué)習(xí)Feign的讀者可以上spring Cloud官網(wǎng)學(xué)習(xí),陳某這里也不再詳細(xì)介紹了,不是今天的重點(diǎn)。

3、openFeign是什么?

前面介紹過(guò)停止迭代的Feign,簡(jiǎn)單點(diǎn)來(lái)說(shuō):OpenFeign是springcloud在Feign的基礎(chǔ)上支持了SpringMVC的注解,如@RequestMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通過(guò)動(dòng)態(tài)代理的方式產(chǎn)生實(shí)現(xiàn)類,實(shí)現(xiàn)類中做負(fù)載均衡并調(diào)用其他服務(wù)。

官網(wǎng)地址:https://docs.spring.io/spring-cloud-openfeign/docs/2.2.10.BUILD-SNAPSHOT/reference/html

4、Feign和openFeign有什么區(qū)別?

FeignopenFiegn
Feign是SpringCloud組件中一個(gè)輕量級(jí)RESTful的HTTP服務(wù)客戶端,F(xiàn)eign內(nèi)置了Ribbon,用來(lái)做客戶端負(fù)載均衡,去調(diào)用服務(wù)注冊(cè)中心的服務(wù)。Feign的使用方式是:使用Feign的注解定義接口,調(diào)用這個(gè)接口,就可以調(diào)用服務(wù)注冊(cè)中心的服務(wù)OpenFeign 是SpringCloud在Feign的基礎(chǔ)上支持了SpringMVC的注解,如@RequestMapping等。OpenFeign 的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通過(guò)動(dòng)態(tài)代理的方式產(chǎn)生實(shí)現(xiàn)類,實(shí)現(xiàn)類中做負(fù)載均衡并調(diào)用其他服務(wù)。

5、環(huán)境準(zhǔn)備

本篇文章Spring Cloud版本、JDK環(huán)境、項(xiàng)目環(huán)境均和上一篇Nacos的環(huán)境相同:五十五張圖告訴你微服務(wù)的靈魂擺渡者Nacos究竟有多強(qiáng)?。

注冊(cè)中心就不再使用Eureka了,直接使用Nacos作為注冊(cè)和配置中心,有不會(huì)的可以查看Nacos文章。

本篇文章搭建的項(xiàng)目結(jié)構(gòu)如下圖:

注冊(cè)中心使用Nacos,創(chuàng)建個(gè)微服務(wù),分別為服務(wù)提供者Produce,服務(wù)消費(fèi)者Consumer。

6、創(chuàng)建服務(wù)提供者

既然是微服務(wù)之間的相互調(diào)用,那么一定會(huì)有服務(wù)提供者了,創(chuàng)建openFeign-provider9005,注冊(cè)進(jìn)入Nacos中,配置如下:

server:
  port: 9005
spring:
  application:
    ## 指定服務(wù)名稱,在nacos中的名字
    name: openFeign-provider
  cloud:
    nacos:
      discovery:
        # nacos的服務(wù)地址,nacos-server中IP地址:端口號(hào)
        server-addr: 127.0.0.1:8848
management:
  endpoints:
    web:
      exposure:
        ## yml文件中存在特殊字符,必須用單引號(hào)包含,否則啟動(dòng)報(bào)錯(cuò)
        include: '*'

注意:此處的spring.application.name指定的名稱將會(huì)在openFeign接口調(diào)用中使用。

項(xiàng)目源碼都會(huì)上傳,關(guān)于如何注冊(cè)進(jìn)入Nacos,添加什么依賴源碼都會(huì)有,結(jié)合陳某上篇Nacos文章,這都不是難事!

7、創(chuàng)建服務(wù)消費(fèi)者

新建一個(gè)模塊openFeign-consumer9006作為消費(fèi)者服務(wù),步驟如下。

1、添加依賴

除了Nacos的注冊(cè)中心的依賴,還要添加openFeign的依賴,如下:

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2、添加注解@EnableFeignClients開啟openFeign功能

老套路了,在Spring boot 主啟動(dòng)類上添加一個(gè)注解@EnableFeignClients,開啟openFeign功能,如下:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class OpenFeignConsumer9006Application
{
    public static void main(String[] args) {
        SpringApplication.run(OpenFeignConsumer9006Application.classargs);
    }
}

3、新建openFeign接口

新建一個(gè)openFeign接口,使用@FeignClient注解標(biāo)注,如下:

@FeignClient(value = "openFeign-provider")
public interface OpenFeignService {
}

注意:該注解@FeignClient中的value屬性指定了服務(wù)提供者在nacos注冊(cè)中心的服務(wù)名。

4、新建一個(gè)Controller調(diào)試

新建一個(gè)controller用來(lái)調(diào)試接口,直接調(diào)用openFeign的接口,如下:

@RestController
@RequestMapping("/openfeign")
public class OpenFeignController {
    
}

好了,至此一個(gè)openFeign的微服務(wù)就搭建好了,并未實(shí)現(xiàn)具體的功能,下面一點(diǎn)點(diǎn)實(shí)現(xiàn)。

8、openFeign如何傳參?

開發(fā)中接口傳參的方式有很多,但是在openFeign中的傳參是有一定規(guī)則的,下面詳細(xì)介紹。

1、傳遞JSON數(shù)據(jù)

這個(gè)也是接口開發(fā)中常用的傳參規(guī)則,在Spring Boot 中通過(guò)@RequestBody標(biāo)識(shí)入?yún)ⅰ?/p>

provider接口中JSON傳參方法如下:

@RestController
@RequestMapping("/openfeign/provider")
public class OpenFeignProviderController {
    @PostMapping("/order2")
    public Order createOrder2(@RequestBody Order order){
        return order;
    }
}

consumer中openFeign接口中傳參代碼如下:

@FeignClient(value = "openFeign-provider")
public interface OpenFeignService {
    /**
     * 參數(shù)默認(rèn)是@RequestBody標(biāo)注的,這里的@RequestBody可以不填
     * 方法名稱任意
     */

    @PostMapping("/openfeign/provider/order2")
    Order createOrder2(@RequestBody Order order);
}

注意:openFeign默認(rèn)的傳參方式就是JSON傳參(@RequestBody),因此定義接口的時(shí)候可以不用@RequestBody注解標(biāo)注,不過(guò)為了規(guī)范,一般都填上。

2、POJO表單傳參

這種傳參方式也是比較常用,參數(shù)使用POJO對(duì)象接收。

provider服務(wù)提供者代碼如下:

@RestController
@RequestMapping("/openfeign/provider")
public class OpenFeignProviderController {
    @PostMapping("/order1")
    public Order createOrder1(Order order){
        return order;
    }
}

consumer消費(fèi)者openFeign代碼如下:

@FeignClient(value = "openFeign-provider")
public interface OpenFeignService {
    /**
     * 參數(shù)默認(rèn)是@RequestBody標(biāo)注的,如果通過(guò)POJO表單傳參的,使用@SpringQueryMap標(biāo)注
     */

    @PostMapping("/openfeign/provider/order1")
    Order createOrder1(@SpringQueryMap Order order);
}

網(wǎng)上很多人疑惑POJO表單方式如何傳參,官方文檔明確給出了解決方案,如下:

openFeign提供了一個(gè)注解@SpringQueryMap完美解決POJO表單傳參。

3、URL中攜帶參數(shù)

此種方式針對(duì)restful方式中的GET請(qǐng)求,也是比較常用請(qǐng)求方式。

provider服務(wù)提供者代碼如下:

@RestController
@RequestMapping("/openfeign/provider")
public class OpenFeignProviderController {

    @GetMapping("/test/{id}")
    public String test(@PathVariable("id")Integer id){
        return "accept one msg id="+id;
}

consumer消費(fèi)者openFeign接口如下:

@FeignClient(value = "openFeign-provider")
public interface OpenFeignService {

    @GetMapping("/openfeign/provider/test/{id}")
    String get(@PathVariable("id")Integer id);
}

使用注解@PathVariable接收url中的占位符,這種方式很好理解。

4、普通表單參數(shù)

此種方式傳參不建議使用,但是也有很多開發(fā)在用。

provider服務(wù)提供者代碼如下:

@RestController
@RequestMapping("/openfeign/provider")
public class OpenFeignProviderController {
    @PostMapping("/test2")
    public String test2(String id,String name){
        return MessageFormat.format("accept on msg id={0},name={1}",id,name);
    }
}

consumer消費(fèi)者openFeign接口傳參如下:

@FeignClient(value = "openFeign-provider")
public interface OpenFeignService {
    /**
     * 必須要@RequestParam注解標(biāo)注,且value屬性必須填上參數(shù)名
     * 方法參數(shù)名可以任意,但是@RequestParam注解中的value屬性必須和provider中的參數(shù)名相同
     */

    @PostMapping("/openfeign/provider/test2")
    String test(@RequestParam("id") String arg1,@RequestParam("name") String arg2);
}

5、總結(jié)

傳參的方式有很多,比如文件傳參.....陳某這里只是列舉了四種常見得傳參方式。

9、超時(shí)如何處理?

想要理解超時(shí)處理,先看一個(gè)例子:我將provider服務(wù)接口睡眠3秒鐘,接口如下:

@PostMapping("/test2")
public String test2(String id,String name) throws InterruptedException {
        Thread.sleep(3000);
        return MessageFormat.format("accept on msg id={0},name={1}",id,name);
}

此時(shí),我們調(diào)用consumer的openFeign接口返回結(jié)果如下圖:

很明顯的看出程序異常了,返回了接口調(diào)用超時(shí)。what?why?...........

openFeign其實(shí)是有默認(rèn)的超時(shí)時(shí)間的,默認(rèn)分別是連接超時(shí)時(shí)間10秒、讀超時(shí)時(shí)間60秒,源碼在feign.Request.Options#Options()這個(gè)方法中,如下圖:

那么問(wèn)題來(lái)了:為什么我只設(shè)置了睡眠3秒就報(bào)超時(shí)呢?

其實(shí)openFeign集成了Ribbon,Ribbon的默認(rèn)超時(shí)連接時(shí)間、讀超時(shí)時(shí)間都是是1秒,源碼在org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer#execute()方法中,如下圖:

源碼大致意思:如果openFeign沒有設(shè)置對(duì)應(yīng)得超時(shí)時(shí)間,那么將會(huì)采用Ribbon的默認(rèn)超時(shí)時(shí)間。

理解了超時(shí)設(shè)置的原理,由之產(chǎn)生兩種方案也是很明了了,如下:

  • 設(shè)置openFeign的超時(shí)時(shí)間
  • 設(shè)置Ribbon的超時(shí)時(shí)間

1、設(shè)置Ribbon的超時(shí)時(shí)間(不推薦)

設(shè)置很簡(jiǎn)單,在配置文件中添加如下設(shè)置:

ribbon:
  # 值的是建立鏈接所用的時(shí)間,適用于網(wǎng)絡(luò)狀況正常的情況下, 兩端鏈接所用的時(shí)間
  ReadTimeout: 5000
  # 指的是建立鏈接后從服務(wù)器讀取可用資源所用的時(shí)間
  ConectTimeout: 5000

2、設(shè)置openFeign的超時(shí)時(shí)間(推薦)

openFeign設(shè)置超時(shí)時(shí)間非常簡(jiǎn)單,只需要在配置文件中配置,如下:

feign:
  client:
    config:
      ## default 設(shè)置的全局超時(shí)時(shí)間,指定服務(wù)名稱可以設(shè)置單個(gè)服務(wù)的超時(shí)時(shí)間
      default:
        connectTimeout: 5000
        readTimeout: 5000

default設(shè)置的是全局超時(shí)時(shí)間,對(duì)所有的openFeign接口服務(wù)都生效

但是正常的業(yè)務(wù)邏輯中可能涉及到多個(gè)openFeign接口的調(diào)用,如下圖:

上圖中的偽代碼如下:

public T invoke(){
    //1. 調(diào)用serviceA
    serviceA();
    
    //2. 調(diào)用serviceA
    serviceB();
    
    //3. 調(diào)用serviceA
    serviceC();
}

那么上面配置的全局超時(shí)時(shí)間能不能通過(guò)呢?很顯然是serviceAserviceB能夠成功調(diào)用,但是serviceC并不能成功執(zhí)行,肯定報(bào)超時(shí)。

此時(shí)我們可以給serviceC這個(gè)服務(wù)單獨(dú)配置一個(gè)超時(shí)時(shí)間,配置如下:

feign:
  client:
    config:
      ## default 設(shè)置的全局超時(shí)時(shí)間,指定服務(wù)名稱可以設(shè)置單個(gè)服務(wù)的超時(shí)時(shí)間
      default:
        connectTimeout: 5000
        readTimeout: 5000
      ## 為serviceC這個(gè)服務(wù)單獨(dú)配置超時(shí)時(shí)間
      serviceC:
        connectTimeout: 30000
        readTimeout: 30000

注意:?jiǎn)蝹€(gè)配置的超時(shí)時(shí)間將會(huì)覆蓋全局配置。

10、如何開啟日志增強(qiáng)?

openFeign雖然提供了日志增強(qiáng)功能,但是默認(rèn)是不顯示任何日志的,不過(guò)開發(fā)者在調(diào)試階段可以自己配置日志的級(jí)別。

openFeign的日志級(jí)別如下:

  • NONE:默認(rèn)的,不顯示任何日志;
  • BASIC:僅記錄請(qǐng)求方法、URL、響應(yīng)狀態(tài)碼及執(zhí)行時(shí)間;
  • HEADERS:除了BASIC中定義的信息之外,還有請(qǐng)求和響應(yīng)的頭信息;
  • FULL:除了HEADERS中定義的信息之外,還有請(qǐng)求和響應(yīng)的正文及元數(shù)據(jù)。

配置起來(lái)也很簡(jiǎn)單,步驟如下:

1、配置類中配置日志級(jí)別

需要自定義一個(gè)配置類,在其中設(shè)置日志級(jí)別,如下:

注意:這里的logger是feign包里的。

2、yaml文件中設(shè)置接口日志級(jí)別

只需要在配置文件中調(diào)整指定包或者openFeign的接口日志級(jí)別,如下:

logging:
  level:
    cn.myjszl.service: debug

這里的cn.myjszl.service是openFeign接口所在的包名,當(dāng)然你也可以配置一個(gè)特定的openFeign接口。

3、演示效果

上述步驟將日志設(shè)置成了FULL,此時(shí)發(fā)出請(qǐng)求,日志效果如下圖:

日志中詳細(xì)的打印出了請(qǐng)求頭、請(qǐng)求體的內(nèi)容。

11、如何替換默認(rèn)的httpclient?

Feign在默認(rèn)情況下使用的是JDK原生的URLConnection發(fā)送HTTP請(qǐng)求,沒有連接池,但是對(duì)每個(gè)地址會(huì)保持一個(gè)長(zhǎng)連接,即利用HTTP的persistence connection。

在生產(chǎn)環(huán)境中,通常不使用默認(rèn)的http client,通常有如下兩種選擇:

  • 使用ApacheHttpClient
  • 使用OkHttp

至于哪個(gè)更好,其實(shí)各有千秋,我比較傾向于ApacheHttpClient,畢竟老牌子了,穩(wěn)定性不在話下。

那么如何替換掉呢?其實(shí)很簡(jiǎn)單,下面演示使用ApacheHttpClient替換。

1、添加ApacheHttpClient依賴

在openFeign接口服務(wù)的pom文件添加如下依賴:

<!--     使用Apache HttpClient替換Feign原生httpclient-->
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    
    <dependency>
      <groupId>io.github.openfeign</groupId>
      <artifactId>feign-httpclient</artifactId>
    </dependency>

為什么要添加上面的依賴呢?從源碼中不難看出,請(qǐng)看org.springframework.cloud.openfeign.FeignAutoConfiguration.HttpClientFeignConfiguration這個(gè)類,代碼如下:

上述紅色框中的生成條件,其中的@ConditionalOnClass(ApacheHttpClient.class),必須要有ApacheHttpClient這個(gè)類才會(huì)生效,并且feign.httpclient.enabled這個(gè)配置要設(shè)置為true。

2、配置文件中開啟

在配置文件中要配置開啟,代碼如下:

feign:
  client:
    httpclient:
      # 開啟 Http Client
      enabled: true

3、如何驗(yàn)證已經(jīng)替換成功?

其實(shí)很簡(jiǎn)單,在feign.SynchronousMethodHandler#executeAndDecode()這個(gè)方法中可以清楚的看出調(diào)用哪個(gè)client,如下圖:

上圖中可以看到最終調(diào)用的是ApacheHttpClient。

4、總結(jié)

上述步驟僅僅演示一種替換方案,剩下的一種不再演示了,原理相同。

12、如何通訊優(yōu)化?

在講如何優(yōu)化之前先來(lái)看一下GZIP 壓縮算法,概念如下:

gzip是一種數(shù)據(jù)格式,采用用deflate算法壓縮數(shù)據(jù);gzip是一種流行的數(shù)據(jù)壓縮算法,應(yīng)用十分廣泛,尤其是在Linux平臺(tái)。

當(dāng)GZIP壓縮到一個(gè)純文本數(shù)據(jù)時(shí),效果是非常明顯的,大約可以減少70%以上的數(shù)據(jù)大小。

網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過(guò)壓縮后實(shí)際上降低了網(wǎng)絡(luò)傳輸?shù)淖止?jié)數(shù),最明顯的好處就是可以加快網(wǎng)頁(yè)加載的速度。網(wǎng)頁(yè)加載速度加快的好處不言而喻,除了節(jié)省流量,改善用戶的瀏覽體驗(yàn)外,另一個(gè)潛在的好處是GZIP與搜索引擎的抓取工具有著更好的關(guān)系。例如 Google就可以通過(guò)直接讀取GZIP文件來(lái)比普通手工抓取更快地檢索網(wǎng)頁(yè)。

GZIP壓縮傳輸?shù)脑砣缦聢D:

按照上圖拆解出的步驟如下:

  • 客戶端向服務(wù)器請(qǐng)求頭中帶有:Accept-Encoding:gzip,deflate 字段,向服務(wù)器表示,客戶端支持的壓縮格式(gzip或者deflate),如果不發(fā)送該消息頭,服務(wù)器是不會(huì)壓縮的。
  • 服務(wù)端在收到請(qǐng)求之后,如果發(fā)現(xiàn)請(qǐng)求頭中含有Accept-Encoding字段,并且支持該類型的壓縮,就對(duì)響應(yīng)報(bào)文壓縮之后返回給客戶端,并且攜帶Content-Encoding:gzip消息頭,表示響應(yīng)報(bào)文是根據(jù)該格式壓縮過(guò)的。
  • 客戶端接收到響應(yīng)之后,先判斷是否有Content-Encoding消息頭,如果有,按該格式解壓報(bào)文。否則按正常報(bào)文處理。

openFeign支持請(qǐng)求/響應(yīng)開啟GZIP壓縮,整體的流程如下圖:

上圖中涉及到GZIP傳輸?shù)闹挥袃蓧K,分別是Application client -> Application Service、 Application Service->Application client。

注意:openFeign支持的GZIP僅僅是在openFeign接口的請(qǐng)求和響應(yīng),即是openFeign消費(fèi)者調(diào)用服務(wù)提供者的接口。

openFeign開啟GZIP步驟也是很簡(jiǎn)單,只需要在配置文件中開啟如下配置:

feign:
  ## 開啟壓縮
  compression:
    request:
      enabled: true
      ## 開啟壓縮的閾值,單位字節(jié),默認(rèn)2048,即是2k,這里為了演示效果設(shè)置成10字節(jié)
      min-request-size: 10
      mime-types: text/xml,application/xml,application/json
    response:
      enabled: true

上述配置完成之后,發(fā)出請(qǐng)求,可以清楚看到請(qǐng)求頭中已經(jīng)攜帶了GZIP壓縮,如下圖:

13、如何熔斷降級(jí)?

常見的熔斷降級(jí)框架有Hystrix、Sentinel,openFeign默認(rèn)支持的就是Hystrix,這個(gè)在官方文檔上就有體現(xiàn),畢竟是一奶同胞嘛,哈哈...........

但是阿里的Sentinel無(wú)論是功能特性、簡(jiǎn)單易上手等各方面都完全秒殺Hystrix,因此此章節(jié)就使用openFeign+Sentinel進(jìn)行整合實(shí)現(xiàn)服務(wù)降級(jí)。

說(shuō)明:此處并不著重介紹Sentinel,陳某打算放在下一篇文章詳細(xì)介紹Sentinel的強(qiáng)大之處。

1、添加Sentinel依賴

openFeign-consumer9006消費(fèi)者的pom文件添加sentinel依賴(由于使用了聚合模塊,不指定版本號(hào)),如下:

<dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

2、配置文件中開啟sentinel熔斷降級(jí)

要想openFeign使用sentinel的降級(jí)功能,還需要在配置文件中開啟,添加如下配置:

feign:
  sentinel:
    enabled: true

3、添加降級(jí)回調(diào)類

這個(gè)類一定要和openFeign接口實(shí)現(xiàn)同一個(gè)類,如下圖:

OpenFeignFallbackService這個(gè)是降級(jí)回調(diào)的類,一旦OpenFeignService中對(duì)應(yīng)得接口出現(xiàn)了異常則會(huì)調(diào)用這個(gè)類中對(duì)應(yīng)得方法進(jìn)行降級(jí)處理。

4、添加fallback屬性

@FeignClient中添加fallback屬性,屬性值是降級(jí)回調(diào)的類,如下:

@FeignClient(value = "openFeign-provider",fallback = OpenFeignFallbackService.class)
public interface OpenFeignService 
{}

5、演示

經(jīng)過(guò)如上4個(gè)步驟,openFeign的熔斷降級(jí)已經(jīng)設(shè)置完成了,此時(shí)演示下效果。

通過(guò)postman調(diào)用http://localhost:9006/openfeign/order3這個(gè)接口,正常邏輯返回如下圖:

現(xiàn)在手動(dòng)造個(gè)異常,在服務(wù)提供的接口中拋出異常,如下圖:

此時(shí)重新調(diào)用http://localhost:9006/openfeign/order3,返回如下圖:

哦豁,可以很清楚的看到服務(wù)已經(jīng)成功降級(jí)調(diào)用,哦了,功能完成。

注意:實(shí)際開發(fā)中返回結(jié)果應(yīng)該根據(jù)架構(gòu)統(tǒng)一定制,陳某這里只是為了演示方便,不要借鑒,哈哈。。。

14、總結(jié)

本篇文章主要面對(duì)初學(xué)者,深入的源碼以及熔斷降級(jí)放在后面詳細(xì)介紹,文中若有表述不清,錯(cuò)誤的地方歡迎指正!

這是陳某Spring Cloud 進(jìn)階專欄的第二篇文章,覺得文章不錯(cuò)的,歡迎點(diǎn)贊、收藏、轉(zhuǎn)發(fā)。碼字不易,隨手一贊是美德!

以上源碼已經(jīng)上傳GitHub,需要的公眾號(hào)【碼猿技術(shù)專欄】回復(fù)關(guān)鍵詞9528獲取。

瀏覽 53
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产精品久久7777777精品无码| 精东影业AV无码精品| 欧美日韩黄色极品| 无码精品人妻一区二区欧美| 就去色色五月丁香婷婷久久久 | 一级片黄色免费| 欧美日日| 久久黄色视频网站| 亚洲国产精品久久久| 免费色网站| 日本V片| 91啦丨熟女露脸| 亚州精品成人片| 97在线鲁碰免费视频| 亚洲操逼图| 无码视频一区| 青娱乐无码| 人妻无码高清| 中文字幕高清无码在线观看| 午夜在线免费视频| 阿v视频在线观看| 国产成人免费观看视频| 激情五月天小说网| av福利电影在线| 日韩在线小视频| 91成人视频18| 97人人爱| 最新AV在线| 国产一级女婬乱免费看| 一区二区三区久久久久〖网:.〗| 成人自拍在线| 午夜久久视频| 色综合久久88色综合| 51成人精品午夜福利| 三级黄色小视频| 丰满人妻一区二区免费看| 亚洲无码视频在线播放| a视频在线| www亚洲无码A片贴吧| 26∪u∪成人网站| 亚洲AV无码| 亚洲人妻系列| 亚洲午夜免费视频| 欧美黑人大吊| 国产高清久久| 一级a看片在线观看| 澳门无码视频| 欧美成人手机在线观看| 亚洲一在线| 久久综合伊人7777777| 精品孕妇一级A片免费看| 777免费观看成人电影视频| 人人摸人人爱| 天天操操操| 黄片网站免费| 无码久久| 9I成人免费版| 日韩成人综合| 高hnp| 日韩一级欧美一级| 天天草天天射| 日韩免费毛片| 成人精品三级AV在线看| 亚洲天堂无码视频| 色婷婷电影| 亚洲香蕉在线| 偷拍综合网| 熟妇槡BBBB槡BBBB| 日韩一级网站| 亚洲v在线| 一本道高清无码视频| 久久91视频| 91成人精品视频| 伊人9999| 午夜精品18| 安徽妇搡BBB搡BBBB户外老太太 | 一本到在线观看午夜剧场| 肉片无遮挡一区二区三区免费观看视频 | 蜜臀久久99精品久久久兰草影视| 中国黄色学生妹一级片| 国产欧美日韩一区二区三区| 久久亚洲综合| 免费人成网站| 亚洲日韩免费观看| 丁香婷婷视频| 永久免费看片视频| 久久国产精品久久| 人人摸人人操人人| 亚洲va国产va天堂va久久 | 亚洲精品乱码久久久久久蜜桃91| 国产人人看| 成人精品午夜无码免费| 人人爽人人干| 最好看的MV中文字幕国语电影 | 色情五月| 欧美日韩在线免费观看| A一级横色大片| 亚洲欧洲有码在线| 国产精品熟女| 中文成人在线| 最新毛片网站〖网:.〗| 亚洲精品少妇| 中国毛片视频| 国产精品免费网站| 成人午夜| 麻豆精品一区二区| jzzijzzij亚洲成熟少妇在线播放| 一级黄色操逼视频| 日韩V| 丰满人妻精品一区二区在线| 国产理论电影在线观看| 最新国产AV| 嫩草在线精品| 天天看天天干| 在线免费人成视频| A级片毛片| 日韩性爱网址| 国产精品秘国产精品88| 日韩人妻在线播放| 特黄特色大片BBBB| 60分钟上大床又黄又爽| 人人爱,人人操| 天天操免费视频| 成年人网站在线免费观看| 黄片视频免费在线观看| 青青草原av| 中韩AV在线免费观看| 蜜桃高清无码| 国产极品无码| 国产香蕉视频在线播放| 中文字幕精品一区| 亚洲一区二区AV| 色色色网站| 婷婷六月激情| 毛片二区| 久久99久久99久久| 六月婷婷七月丁香| 日韩超清无码| 黄色三级电影| 九九碰九九爱97超碰| 十八禁免费网站| 大鸡巴在线观看| 久草福利| 国产乱伦熟女| 一级片网址| 99热热| 五月天婷婷激情网| 亚洲香蕉在线观看| 1024在线视频| 韩国中文字幕HD久久| 精品伊人大香蕉| 免费无码国产在线| 久草视频福利在线| 天堂久草| 4438成人网| 亚洲无码视频免费观看| 久久91av| 蜜乳av红桃嫩久久| 人人干人人妻| 深爱激情网五月天| 黄色一级片视频| 免费黄片在线看| 男人av网站| 视频一区在线播放| 天天综合天天| 精品日韩一区二区三区| 高H视频在线观看| 日韩无码国产精品| 伊人春色AV| 欧美AAAAA| 人人操超碰在线观看| 日本一区二区三区在线播放| 少妇嫩搡BBBB搡BBBB| 欧美视频一区二区三区四区| 欧美成人黄色小视频| 欧美十区| 西西人体视频| 台湾成人视频| 淫色视频| 国产一级特黄aaa大片| 一级片免费观看视频| 粉嫩小泬粉嫩小泬在线| 国产日韩在线观看视频| 99色视频| 五月天亭亭.com| 制服丝袜一区| 神马午夜福利影院| 韩日一区二区| 免费高清无码| 国产夫妻自拍av| 国产精彩无码视频| 国产日韩一区| 九九热精品视频| 操操操操一本到| 男女福利视频| 中文字幕在线国产| 黄色A片网站| 懂色在线精品分类视频| 黄色国产视频在线观看| 精东影业AV无码精品| 最好看的MV中文字幕国语| 91探花秘在线播放| 日韩色图在线观看| 成年免费视频| 成人午夜激情| 懂色av一区蜜桃| 亚洲无码视频免费观看| 久久久婷婷婷| 大香蕉在线免| aav在线| 精品国产欧美| 成人免费大香蕉| 成人激情片| 免费看黄色AV| 日韩中文字幕高清| 欧美日皮视频| 亚洲日韩网站| 欧美国产一区二区| 精东影业秘国产传媒| 国产成人+综合亚洲+天堂| 亲子乱婬-一级A片| 日韩无码视频网站| 久草免费在线视频| 五月少妇| 男女拍拍拍拍| 97人妻人人揉人人躁人人 | 五月天超碰| 成人69AV| 亚洲天堂欧美| 波多野结衣毛片| 91精品国产亚洲| 一级a免一级a做免费线看内裤的注意事项 | 免费在线观看黄色片| 亚洲a视频| 日韩做爱| 少妇A片| 欧美性爱视频在线观看| 中文字幕永久在线| 免费看黄色的网站| 日韩黄色三级| 国产AV影视| 91综合在线观看| 天天操电影| 亚洲vs无码秘蜜桃少妇| 亚洲三级精品| 无码人妻丰满熟妇区蜜桃| 天天干女人| 亚洲国产成人精品午夜| 日本AA片视频| 香蕉婷婷| 亚洲一级av无码毛片精品| 91天天爽| 亚洲免费在线视频观看| 91re| 久久这里只有精品9| 97人妻人人澡人人爽人人精品 | 天天操一操| 麻豆91免费看| 91久久精品日日躁夜夜躁欧美| 日韩精品成人无码免费| 成人抽插视频| 天堂在线9| 无码操| 伊人综合电影| 天天躁天干天干| 欧洲成人在线| 久久午夜鲁丝| 国产三级片在线观看视频| 亚洲在线免费视频| 竹菊av一区二区三区四区五区| 日韩欧美操逼视频| 欧美成人一区二区| 精品国精品自拍自在线| 牛牛影视av| 3级片网站| 亚洲精品18禁| 日韩精品成人电影| 亚洲jizzjizz| 激情无码一区二区| 免费A级毛片| 大肉大捧视频免费观看| 日韩精品三级片| 色欧美亚洲| 亚洲色热| 在线观看国产视频| 手机看片欧美+日韩+国产| 欧美三级片在线视频| 久久R5| 97国产精品视频人人做人人爱 | 日韩成人网址| 91成人综合| 色色一区二区| 亚洲一级无码| 日本中文字幕网| 日韩中文字幕电影| 国产精品无码乱伦| 四虎综合| 亚洲视频中文字母| 91超碰在线播放| 日韩乱伦小说| 加勒比国产在线| 中文字幕视频在线播放| 操一操干一干| 日韩欧美第一页| 女生自慰在线观看| 日皮网站在线观看| 伊人久久久| 亚洲无码AV免费观看| xxx日韩| 婷婷激情五月综合| A片黄色电影网站| 五月婷婷六月丁香| 亚洲午夜久久久久久久久| 黄色成人网站在线免费观看| 人妻综合第一页| 蜜桃av色偷偷av老熟女| 99视频在线免费| 欧美激情综合网| 中文字幕日韩无码电影| 免费国产A片| 成年人在线视频| 少妇精品久久久久久久久久| 午夜国产码网站码| 成人网站大香蕉| 成人伊人大香蕉| 婷婷电影网| 2025天天干| 操b在线免费观看| 影音先锋AV在线资源| 午夜精品久久久久久久久久久久| 91蜜桃在线观看| 91福利网| 日韩无码不卡视频| 黄色视频| 青娱乐精品在线| 最新中文字幕在线观看| 久久伊人综合| 五月丁香六月激情| 婷婷国产精品视频| 夜夜骚AV一二三区无码| 撸一撸在线观看| 色婷婷视频在线观看| 久热国产在线| 草逼com| 欧美女人日逼视频| www.bbbb| 日韩,变态,另类,中文,人妻 | 国产AV一级片| 在线观看日本黄| 国产激情在线播放| 久久久精品中文字幕麻豆发布| 久久草草热国产精品| 亚洲无吗视频| 另类激情| 一级黄色电影免费在线观看| 高清无码免费在线| 嫩BBB槡BBBB槡BBBB免费视频| 亚洲高清视频在线| 黄片视频观看| 亚洲秘无码一区二区三区观看| 一级片黄片| 国产精品操逼| 一级爱爱爱| MAD033_后宫秘密陶子. | 香蕉伊人视频| 成人毛片在线播放免费| 久久久人妻熟妇精品无码蜜桃| 9991区二区三区四区| 天天天天日| 亚洲精品天堂无码| 小黄片免费在线观看| 一大高清日韩| 婷婷网址| 亚洲日逼网| 黄片视频大全| 毛片A级| 色人阁人妻中文字幕| 波多野结衣久久中文字幕| 天天天天天天天天干| 毛片小说| 日本欧美中文字幕| 五月丁香综合激情| AV第一福利大全导航| 91热| 国产操逼的视频| 天天视频狠狠狠狠| 大香蕉在线伊| 波多野结衣AV网站| 日本免费一级片| 国产1区2区3区中文字幕| 亚洲午夜视频| 欧洲成人午夜精品无码区久久| 亚洲免费观看高清视频| 狠狠草狠狠干| 天天看天天色| 大色欧美| 大香蕉免费在线观看| 无码日韩AV| 免费无码婬片AAAA片直播| 无码精品一区二区免费| 人妻视频网站| 久久婷婷成人综合色怡春院| 国产精品剧情| 黄色成人网站在线播放| 成人高清在线| 蜜臀久久99精品久久久老牛影视| 内射老太太| 天天日天天操天天| 欧洲操逼视频| 国产精品视频在线播放| 中文字幕无码AV| 亚洲一级毛| 激情无码五月天| 无码操| 国产1级a毛a毛1级a毛1级| 天堂在线视频| 国产视频一区二区三区四区五区 | 欧美AAA在线观看| 亚洲AV无码日韩AV无码导航 | 国产香蕉网| 日批无码| 久久偷拍视频| 无码人妻精品一区二区蜜桃91| 韩国无码成人电影啊荒| 91久色| 无码成人精品| 大香蕉操B| 色综合久久88色综合天天| 亚洲砖区区免费| 夜夜AV| av自拍| 一区二区三区www污污污网站| 蜜桃一区二区中午字幕| 欧美成人性爱网站| 精品无码AV一区二区三区| 爽好紧别夹喷水欧美| 激情人妻AV| 天天草夜夜操| 欧美黄色网| 国产草草| 成人一级黄色电影| 国产激情久久| 色婷婷在线观看视频| 精品秘一区性综合三区| 成人在线无码| 亚洲欧洲综合| 草久在线观看| 日韩成人无码| 人人搞人人摸| 国产小电影在线观看| 无码av观看| 无码一区二区三区四| 成熟的国模冰莲[2]| 综合成人在线| 久久久国产91桃色一区二区三区| 亚洲一区二区成人| 操一线天逼| 天天干天天草| 免费肏逼视频| 欧美色图在线观看视频| 黑人av| 影音先锋日韩| 亚洲免费看黄| 黄色电影一区二区三区| 18禁日韩| 成人综合网站| 蜜臀av网站| 亚洲无码高清视频| 精品视频久久久| 国产成人综合在线| 亚洲国产A片| 国产乱妇无码毛片A片在线看下载 日韩电影免费在线观看中文字幕 欧美性爱中文字幕 | 国产你懂的| 豆花网| 狠狠色噜噜狠狠狠888米奇视频| 在线观看三级网址| 大香蕉精品视频在线| 青草超碰| 青青无码视频| 亚洲中文字幕在线观看视频网站| 成人网站一区| 日韩一区二区不卡| 日日骚亚洲| 国产又粗又大又爽91嫩草| 日韩一区二区免费视频| 日韩在线三级片| 五月天乱伦网| 18禁在线播放| 一本色道久久综合狠狠躁的推荐| 国产一级自拍| 中文在线最新版天堂8| 成人免费无码婬片在线| 成人小视频18| 国产激情一区二区三区| 黄色18禁| 18禁免费网站| 青青操成人在线视频| 西西444WWW无码视频软件| 色情五月| 欧美成人第一页| 国产熟妇码视频app| 国产一级黄色毛片| 精品无码国产一区二区三区51安| 国产91精品看黄网站在线观看 | 性满足BBWBBWBBW| 老太婆擦BBBB撩BBBB| 国产资源网| 欧美三级在线播放| 久久77| 国产成人免费视频在线| 骚骚肥肥一区二区三区| 日韩无码久| 亚洲天堂在线视频观看| 国产91在线亚洲| 91香蕉国产视频| 91精品91久久久中77777| 亚洲福利| 亚洲视频播放| 麻豆传媒在线播放| 国产人妻一区二区精选| 91国产人妻| 热热毛片| 亚洲免费视频在线| 国产福利91| 日韩一级免费在线观看| 日韩AV成人无码久久电影| 少妇爆射| 免费无码国产在线观看快色| 青草综合| 日本边摸边吻奶边做爰| 国产无遮挡又黄又爽又色视频软件| 午夜操人妻| 人人妻人人澡人人爽人人| 超碰天天爱| 免费无码一级A片大黄在线观看| 在线视频播放| 插吧插吧综合网| 欧美日韩在线播放| 日韩在线视频网站| 国产日韩欧美在线播放| 婷婷五月天性爱| 亚洲一区二区视频在线观看| 婷婷激情五月天丁香| 日本a视频| 亚洲久久久久| 特级毛片WWW| 日本免费在线视频| 成人精品一区日本无码网站suv/ | 无码国产高清| 日韩日批视频| 91网站在线免费观看| 天堂素人约啪| 国产黄色免费看| 另类罕见稀奇videos| 久久99人妻无码精品一区| 亚洲男人的天堂av| 精品一区二区三区无码| 一本色道久久综合熟妇人妻| 人人操人人妻| 亚洲一级Av无码毛片久久精品| 国产精品一区二| 国产91精品久久久天天| 天天日天天色天天干| 中文√在线天堂8| 国产在线观看97| 国产激情在线| 天堂中文在线观看| 日韩欧美成人在线| 亚洲中文婷婷| 免费观看AV| 狠狠成人| 北条麻妃中文字幕旡码| 亚洲国产精品18久久久久久| 国产亚洲欧美一区二区| 久久久成人网| 亚洲无码一| 日韩人妻无码中文字幕| 色99视频| 一区二区三区四区精品视频| 亚洲男人的天堂av| 草草影院第一页YYCCC| 伊人久久久影视大全| 中文字幕码精品视频网站| 国产三级| 刘玥91精品一区二区三区| 国产三级自拍视频| 免费无码进口视频| 999一区二区三区| 国产精品污www在线观看| 91亚洲精品视频在线| 久久久精品中文字幕麻豆发布| 国产在线色视频| 久久A视频| 99热精品免费在线观看| 草逼免费视频| 亚洲AV成人无码久久精品麻豆| 亚洲视频国产| 国产操比视频| 激情丁香六月| 奇米97| www.18av| 一本色道久久无码人妻精品69| 成人精品一区日本无码网站suv/| 日韩无码乱码| 西西4444www大胆无吗| 淫色综合网| A级毛片网站| 兔子先生和優奈玩游戲脫衣服,運氣報表優奈輸到脫精光 | 青娱乐精品视频| 婷婷五月天久久| 婷婷av在线| 欧美精品网站| 真实国产乱子伦毛片| 97人妻精品一区二区三区视频 | 四川BBB搡BBB爽爽爽欧美| 黄色免费在线观看网站| 日韩视频一级| 婷婷色综合视频二区| 97人人艹| 91嫩草欧美久久久九九九| 安徽妇女BBBWBBBwm| 成人自拍网| 成人91看片| 四虎成人视频| 日逼A片| 在线色| 亚洲精品国产av| 欧美在线视频免费观看| 激情无码国产| 国产凹凸视频| 福利色播| 国产无套免费网站69| 亚洲中文综合| 无码人妻精品一区| 黄色电影网站在线观看| 国产精品久久久久无码| 日韩无码字幕| 欧美在线视频一区| 国产精品乱子伦一区二区三区视频| www.豆花视频成人版| 69式荫蒂被添全过程| 黄片视频在线| 国产v在线观看| 人人免费操| 人人妻人人插| 狠狠插视频| 久久只有精品| 91成人无码视频| 成人精品三级麻豆| 日韩欧美国产视频| 国产一级婬片A片免费无成人黑豆| 风流少妇一区二区三区91| 欧美黄色网址| 亚洲V国产v欧美v久久久久久 | 黄片网站免费| www.四虎成人网站| 操逼一区| 美日韩视频欧美一区二区视频| 国产系列每日更新| 强伦轩人妻一区二区三区最新版本更新内容 | 亚洲人操逼视频| 欧美狠狠撸| 在线内射视频| 日韩激情AV| 中文字幕日韩高清| 张柏芝BBw搡BBBB槡BBBBHDfree | 日爽夜爽| 成人免费乱码大片a毛片蜜芽| 91丨九色丨老熟女探花| 夫妻-ThePorn| 日本成人黄色电影| 亚洲v在线观看| 不卡不在线中文| 国产91精品在线观看| 久草免费电影| 婷婷视频在线观看| 国产乱子伦一区二区三精品| 日韩中文字幕无码| 特级西西444WWW大精品视频| 一级欧美一级日韩| 国产高清自拍| 黄色视频一区二区| 国内一级A片| 69视频在线观看免费| 在线观看AⅤ| 东京热av一区二区| 欧美三级欧美三级三级| 中文字幕12页| 一级无码在线观看| 婷婷精品国产一区二区三区日韩| AV大全在线观看| 亚洲成人黄色网| 黄色片毛片| 日韩综合一区| 亚洲无码成人电影| 久久久久久久久久久久久自慰小片 | 爱爱黄色视频| 中文字幕人妻日韩在线| 最新一区二区| 亚洲AV官方网站| 亚州一级成人片| 久久精品操| 波多野结衣无码网站| 久9精品| 成人免费三级| 91成人看片| 97视频在线观看免费| 美女黄片| 天堂资源网| 无码视频在线播放| 欧美成人网站视频| 天天日穴| 91精品视频在线免费观看| 国内精品久久久久久久久98| 久久女人网| 免费在线观看a片| 国产又爽又黄A片| 日韩福利片| 亚洲精品无码在线观看| 久久久亚洲AV无码精品色午夜| 91麻豆一区二区| 无码秘蜜桃一区二区三区| 大鸡巴久久久久久久| 99热精品国产| 亚洲中文字幕影院| 先锋影音资源av| 日韩免费在线| 麻豆91免费视频| 亚洲日韩AV电影| 欧美偷拍一区| 偷拍-91爱爱| 久久艹逼| 在线无码人妻| 黄色视频在线观看免费| 欧美亚洲黄色| 欧美一级A片免费看视频小说| 精品无码一区二区三区在线| 亚洲秘av无码一区二区| 欧美日韩一区二区在线观看| 波多野成人无码精品69| 欧美在线播放| 两根茎一起进去好爽A片在线观看| 东北骚妇大战黑人视频| 成人黄A片免费| 中文无码专区| igao视频| 欧美肏逼视频| 五月天婷婷操逼视频| 日韩一级A| 骚逼免费观看| 四虎成人免费视频| 精品国产一区二区三区久久久蜜月 | 国产剧情一区二区三区| 亚洲区成人777777精品| 国产精品A片守望| 欧美午夜精品| 在线播放日韩| 在线播放91灌醉迷J高跟美女| 无码草逼| 加勒比无码| 中文字幕视频| 天天爽天天做| 操逼黄视频| 91丨PORNY丨对白| 国产性爱在线视频| 日本欧美在线| 伊人春色AV| 超碰97成人| 91人妻人人澡人人爽人人爽| 99热青青草| 麻豆偷拍| 五月激情婷婷基地| 黄色大片网址| 欧美老女人性爱视频| 成人性爱av| 久久婷婷视频| 久久久国产一区二区三区| 国产A∨| 亚洲逼逼| 超碰777| 亚洲无码A片在线观看APP| 蜜桃在线一区| 97国产精品久久| 国产三级午夜理伦三级| 国产成人aV| 国产三级日本三级国产三级| 国产一级黄色大片| AV青青草| 乱子伦】国产精品| 日本一级做a爱片| 男人天堂网AV| 91大神在线看| 中文国产字幕| 久草天堂| 东方AV免费在线观看| 日日搔AV一区二区三区| 一级特黄AA片| 欧美日韩成人在线| 国产精品国产三级片| 91亚洲国产成人久久精品网站| 国产免费a片| 亚洲第一福利视频| 在线观看免费视频无码| 一区电影网| 无码人妻精品一区二区蜜桃91| 特一级黄色片| 夜夜爽夜夜爽| 婷婷五月天色播| 欧美成人手机在线| 91五月天| 一区二区三区小视频| 国产丰满| 欧洲一区二区三区| 欧美一区二区| 成人中文字幕在线视频| 91国产乱伦| 北条麻妃二区| 日本无码区| 靠逼网站免费观看| 国产精品欧美一区二区三区苍井空| 日韩v| 老司机在线免费视频| 91成人小视频| 人人干人人操人人摸| 国产日韩欧美| 人人人射| 99Re66精品免费视频| 欧美老妇另类| 国产精品国产三级片| 亚洲日韩在线免费观看| 在线色| 黄工厂精品视频在线播| 丁香婷婷社区| 亚洲精品成AV人片天堂无码| 大香蕉超碰| 亚洲欧美另类图片| 91青青草在线| 日韩欧美色图| 亚洲国产视频在线观看| 久色视频在线| 国产高清一区二区三区| 亚洲人气无码AV| 国产香蕉视频在线播放| 各种妇女撒尿mm毛免费网站| 男女拍拍拍| 高潮无码在线观看| 五月天在线观看| 嫩草人人精品免费| 99人人爽| 人人爱人人爽| 日逼视频免费看| a片在线免费| 天天爽天天日| 久久xxx| 亚洲黄片在线| 国产精品美女视频| 久久久久成人电影| 视频国产区| 97精品人妻一区二区三区在线| 伊人大香蕉综合| 亚洲中文无码在线观看| 熟女天堂| 精品免费国产一区二区三区四区的使用方法 | 国产又爽又黄A片免费观看| 国产女人十八水真多| 国产在线视频一区二区| 蜜桃91精品秘入口| 成年女人毛片| 亚洲欧美日韩电影| 最全av在线| 亚洲综合视频网| 欧一美一婬一伦一区二区三区黑人 | 国产精品九九九九九九| 天天操天天插| 青青草人人| 国产精品秘精东影业| 影音先锋色AV| 成人午夜激情| 三级片在线观看网站| 成人在线一区二区三区| 成人福利网站| 北条麻纪视频| 国产精品国产三级国产专区53 | 黑人无码一二三四五区| 在线亚洲欧洲| 日韩欧美亚洲| 安徽妇搡BBBB搡BBBB,另类老妇 | 强奸校花到高潮| 超碰国产97| 99成人国产精品视频| 91av电影网| 欧美囗交大荫蒂免费| 亚洲AV中文| 国产三级一区| 国产色视频一区二区三区QQ号| 国产黄色免费看| 99精品999| 成人做爰黄AA片免费看三区| 午夜无码鲁丝片午夜精品一区二区| 黄页视频网站|