久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud Netflix中文文档翻译笔记

發布時間:2024/1/8 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud Netflix中文文档翻译笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.2.2.RELEASE/

Spring Cloud Netflix

1.2.2.RELEASE

Spring Cloude Netflix這個項目提供Netflix OSS和Spring Boot apps集成,通過自動配置和綁定到Spring環境和其他Spring編程模塊。通過一些簡單的注解配置,你可以很快的使用和配置應用的模塊,和構建大型分布式高可用的Netflix組件。這里提供包括服務發現(Service Discovery Eureka),斷路器或熔斷器(Circuit Breaker Hystrix),智能路由(intelligent routing Zuul)和 負載均衡(Ribbon)。

Service Discovery:Eureka Client

服務發現是微服務架構依賴的一個關鍵模塊。嘗試去管理每個客戶端的配置或者某些形式的約定是非常困難而且不穩定。Eureka是Netflix服務發現的服務端和客戶端。服務端可義高可用的配置和部署,每個服務器可以相互復制已注冊的服務的狀態。

如何引入Eureka Client

如何在你的項目中使用Eureka Client?使用org.spring.cloud和artifactid spring-cloud-starter-eureka。 請瀏覽網頁spring cloud project page去查看詳情如何配置你的系統使用當前的spring cloud版本。

Eureka注冊

當一個客戶端注冊到Eureka,它就提供了一些自己的元數據,比如host和port,可用的URL指示器,主頁等。Eureka接收每個注冊到Eureka的實例的心跳包,如果在配置的時間片內沒有接收到心跳,這個實例通常就會被注冊中心移除掉。
例子:

@Configuration @ComponentScan @EnableAutoConfiguration @EnableEurekaClient @RestController public class Application {@RequestMapping("/") public String home() {return "Hello world"; }public static void main(String[] args) {new SpringApplicationBuilder(Application.class).web(true).run(args); }}

(i.e 完全普通的spring boot app)。在這個例子中我們顯示的使用用@EnableEurekaClient(explicitly)。但是僅可用的Eureka你可以使用@EnableDiscoveryClient。我們必須通過配置去定位一個Eureka服務。比如:

application.yml eureka:client:srviceUrl:defaultZone:http://localhost:8761/eureka/

這個 “defaultZone” 是神奇的字符串值,他提供一個服務地址供其他任何客戶端使用,沒有明確的優先級。(i.e. 他是默認可用的)。

這個默認的應用名稱(service ID),主機和非安全的端口,分別是 spring.application.name {server.port}

@EnableEurekaClient 使你的應用同時變成一個 Eureka 實例(i.e. it registers itself)和 一個客戶端 (i.e. 它可以查詢注冊中心去定位其他服務)。這個實例行為通過 eureka.instance.* 驅動,但是默認的就夠了,如果確保你的應用有一個 spring.application.name (這是個默認的Eureka服務ID,或則VIP)。

查看 EurekaInstanceConfigBean 和 EurekaClientConfigBean更多配置參數詳情。

Eureka Server驗證

如果一個eureka客戶端嵌入了認證信息在 “eureka.client.serviceUrl.defaultZone”中,那么HTTP基礎身份驗證會自動添加到eureka客戶端(比如,http://user:password@localhost:8761/eureka)。更多的復雜的配置你需要創建一個 類型為DiscoveryClientOptionalArgs 的 @Bean,而且注入一個ClientFilter實例,這些都會被應用到客戶端到服務端之間的調用上。
注意: 由于Eureka的一個限制是不可能支持每個服務器基本授權認證,所以只被發現的第一組會被使用。

狀態頁和健康指示器

Eureka的狀態頁和健康指示器默認分別為“/info”和“/health”,是Spring boot actuator默認的配置,它非常好用。即便是一個Actuator應用,如果你想使用非默認的上下文路徑或者servlet路徑(如server.servletPath=/foo)或管理端點的路徑(如management.contextPath=/admin),你都需要做出相應的改變。例如:

application.yml eureka:instance:statusPageUrlPath:${management.context-path}/infohealthCheckUrlPath:${management.context-path}/health

這些鏈接暴露了客戶端消費的元數據,和在一些情況下決定是否發送請求到你的應用,所以非常有用如果數據精確。

注冊安全應用

如果你的app想通過HTTPS連接,你需要設置兩個標記在EurekaInstanceConfig,即分別是,eureka.instance.[nonSecurePortEnabled,securePortEnabled]=[false,true]。這會使Eureka實例明確的使用安全通道。spring cloud DiscoveryClient總是返回一個https://;服務的URI配置成這種方式,Eureka實例信息將會有一個安全的檢查URL。
因為Eureka的內部工作方式,它將繼續推送一個非安全的URL的狀態和主頁,除非你還覆蓋那些聲明。你可以使用占位符娶配置eureka實例的url。 例子:

application.yml eureka:instance:statusPageUrl:https//${eureka.hostname}/infohealthCheckUrl:https//${eureka.hostname}/healthhomePageUrl:https//${eureka.hostname}/

(注意: eureka.hostname使Springplaceholders {eureka.instance.hostName})

注意:如果你的應用在慢于一個代理啟動運行,并且SSL終端在代理里面(如:如果你的應用作為一個服務在Cloud Foundry或其它平臺上跑的話),那么你將要確保應用能夠攔截和處理代理轉發的頭信息。如果它明確配置有’X-Forwarded-*`這類頭信息的情況下,在一個Spring Boot應用里面內嵌的Tomcat容器自動處理的。出現這個錯誤的原因,是因為你的應用程序提供的鏈接本身弄錯了。(錯誤的主機,端口,協議)。

Eureka的健康檢查

默認的,Eureka使用客戶端心跳確定一個客戶端是否在線。除非指定了其他的
Discovery Client不會傳播當前的spring boot actuator健康檢查狀態。這就是說只要成功注冊了Eureka就會一直通知應用是在“UP”狀態。這個動作可以被改變通過使用Eureka health checks,這種發送應用狀態給Eureka的行為將觸發Eureka的健康檢查,因此其他每個應用程序在其他狀態下不會給應用程序發送通信然后才‘UP’。

application.yml eureka:client:healthcheck:enabled:true

警告:eureka.client.healthcheck.enabled=true應該只在application.yml中被設置。如果設置在bootstrap.yml將會引起不可預知的影響比如注冊eureka出現unknown status。

如果你需要更多的配置關于health checks,你可能考慮實現你自己的com.netflix.appinfo.HealthCheckHandler。

Eureka實例和客戶端的元數據

這里值得我們花一點時間去理解eureka元數據是如何工作的,所以你可以在平臺上使用它找點感覺。這里有一個標準的元數據比如hostname,ip address,port numbers,status page和health check。他們被發布到服務注冊,而且被客戶端聯系服務端通過一種直接的方式。另外的,元數據可以被添加到實例注冊在eureka.instance.metadataMap,而且這會被遠程客戶端容易訪問,但是通常的不要去改變客戶端的行為,除非你知道了元數據的意義。有一些特殊情況下的描述,spring cloud 已經分配好了有意義的元數據映射。

在Cloudfoundry使用eureka在cloudfoundry

Cloudfoundry有一個全局的根路由器,因此所有相同的app都有一樣的hostname(在其他PaaS解決方案也是類似的架構)。這不妨礙我們使用Eureka(推薦的,或者強制的依賴你的平臺),你需要明確的設置hostname和post(secure of non-secure)以便他們使用路由器。你可能也想使用實例元數據,以便你可以區分實例在客戶端(在一個定制的負載均衡器)。默認的,eureka.instance.instanceId 是 vcap.application.instance_id。例如:

application.yml eureka:instance:hostname:${vcap.application.uris[0]}nonSecurePort:80

根據安全規則的方式設置你的Cloudfoundry實例,你可能想注冊和使用主機的ip address去直接進行服務到服務之間的調用。這個特性目前還不能在 Pivotal Web Services。

在AWS上使用Eureka

如果應用準備發布到AWS,eureka實例需要配置成Amazon aware,這個可以通過以下方式定制EurekaInstanceConfigBean。

@Bean @Profile("!default") public EurekaInstanceConfigBean eurekaInstanceConfig(){EurekaInstanceConfigBean b = new EurekaInstanceConfigBean();AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");b.setDataCenterInfo(info);return b; }

改變Eureka實例ID

Netflix Eureka實例是一個身份證,等于其域名注冊(i.e.每個host一個service)。Spring Cloud Eureka提供了一個合適的默認值,想這樣: spring.cloud.client.hostname: {spring.application.name}:{spring.application.instance_id:{server.port}}. 例如: myhost:myappname:8080。

使用spring cloud你可以重寫并提供一個唯一標識通過 eureka.instance.instanceId。

application.yml eureka:instance:instanceId:${spring.application.name}:${vcap.application.instance_id:${spring.application.instance_id:${random.value}}}

通過這些元數據,和多個在localhost部署的服務實例,random.value設置會保證實例唯一。在cloudfoundry中,vcap.appliation.instance_id在spring boot中是自動增長的,所以random.value并不必須。

使用EurekaClient

如果你有一個 @EnalbeDicoveryClient(或@EurekaClient)的應用,你可以使用它從Eukeka Server去發現服務實例。一種方式是使用原生的com.netflix.discovery.EurekaClient(而不是spring cloud DiscoveryClient)。

@Autowired private EurekaClient discoveryClient;public String serviceUrl(){InstanceInfo instance = discoveryClient.getNextServerFromEureka("STORES",false);return instance.getHomePageUrl(); }

提示:不要使用eurekaClient在@PostConstruct方法或者其他@Scheduled方法(或者任何ApplicationContext還沒有啟動的其他地方)。它初始化在一個SmartLifecycle(phase=0的條件)所以想盡早的使用就必須在另一個更高phase的SmartLifecycle上使用。

原生Netflix EurekaClient的替代品

你不必使用原始的Netflix EurekaClient,通常使用一個包裝器會更方便。Spring Cloud提供Fegin(REST客戶端構建器)和Spring RestTemplate去使用Eureka service的邏輯標識符替代物理URLS。配置帶固定的物理服務器集合的Ribbon,你可以簡單的設置.ribbon.listOfServers的物理服務器地址(或者hostname)集合,并使用逗號分隔符分開,是客戶端的ID。

你也可以使用 org.springframework.cloud.client.discoveryClient,它提供了一個簡單的API而不是特定于Netflix。

@Autowired private DiscoveryClient discoveryClient;public String serviceUrl(){List<ServiceInstane> list = discoveryClient.getInstances("STORES");if(list!=null && list.siz()>0) {return list.get(0).getUri();}return null; }

為什么注冊一個服務很慢

成為一個實例也包含一個到注冊中心的心跳(serviceUrl),默認30秒。一個服務不會被客戶端發現,直到實例、服務端和客戶端全都擁有相同的元數據在它們的緩存里面(這可能還需要3次心跳)。你可以改變這個周期通過 eureka.instance.leaseRenewalIntervalInSeconds,這會加速client連接到其他的services。在生產環境或許最好保持默認值,因為server有些本地的計算去確保假設的更新周期(make assumptions about the lease renewal period)。

服務發現:Eureka Server

如何引入Eureka Server

引入Eureka Server到你的項目你需要使用org.springframework.cloud和spring-cloud-starter-eureka-server。訪問spring cloud project page查看更多詳情。

如何運行Eureka Server

eureka server示例:

@SpringBootApplication @EnableEurekaServer public class Application{public static void main(String [] args) {new SpringApplicationBuilder(Application.class).web(true).run(args);} }

Server有一個UI主頁,和HTTP API端點提供平常的功能,地址:/eureka/*

Eureka背景:flux capacitor和google group discussion

TIP:由于Gradle的依賴解析規則,它沒有父bom依賴的特性,簡單的spring-cloud-starter-eureka-server依賴會引發錯誤。為了補救,必須添加Spring Boot的Gradle插件,而且引入Spring cloud starter的父bom。like so:

build.gradle buildscript{dependencies{classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.5.RELEASE")} }apply plugin: "spring-boot"dependencyManagement{imports{mavenBom "org.springframework.cloud:spring-cloud-dependencies:Brixton.RELEASE" } }

高可用,Zones和Regions

Eureka server沒有一個后端的存儲,但是服務實例在注冊里面全都得發送心跳去保持注冊更新(在內存里操作)。Clients同樣有一個erureka注冊中心的內存緩存(所以他們不是去為每一個到service的請求都去一次注冊中心)。
默認的,每一個Eureka server同樣是一個Eureka client,而且需要(至少一個)service url去定位同伴。如果你沒有提供,service同樣會運行和工作,但他會產生很多無法與其他同伴注冊的錯誤日志。

也可查看 客戶端Riboon支持,Zones 和 Regions。

獨立模式

client和server結合的緩存和心跳會使一個單機的Eureka server很好的彈性失敗(fairly resilient to failure),有一些監視和elastic runtime會使它保持活躍(比如:cloud foundry)。在獨立模式下,,您可能更傾向于關閉客戶端的行為,所以它不能保持失敗重試和重新找回它的那些節點。如:

application.yml server:port:8761eureka:instance:hostname:localhostclient:registerWithEureka:falsefetchRegistry:falseserviceUrl:defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/

注意:serviceUrl指向了自己本地的實例。

Peer Awareness

Eureka可以有很好的彈性和可用性通過運行多個實例,和請求他們去相互注冊。事實上,這是默認的行為,所以所有你需要做的就是添加一個可用的serviceUrl到每一個同伴讓它可以工作。

applicatin.yml(Two Peer Aware Eureka Servers) --- spring:profiles: peer1 eureka:instance:hostname: peer1client:serviceUrl:defaultZone: http://peer2/eureka/--- spring:profiles: peer2 eureka:instance:hostname:peer2client:serviceUrl:defaultZone: http://peer1/eureka

在這個例子中,我們有一個YAML文件,它可以用來運行同樣的兩個server在兩個hosts上(peer1 和 peer2),兩個不同的Spring profiles。你可以使用這個配置測試單機上的兩個對等實例(沒有多少價值在生產環境中這樣做)。通過修改/etc/hosts改變hostnames。事實上,eureka.instance.hostname并不需要如果你運行你自己直到的主機名的機器(它默認使用java.net.InetAddress檢查)。

你可以添加多個實例到一個系統上,而且只要他們都彼此連接到至少一個邊緣,他們將會同步注冊信息。If the peers are physically separated (inside a data centre or between multiple data centres) then the system can in principle survive split-brain type failures.

Prefer IP Address

一些情況,相比hostname,Eureka更好的是使用IP Adresses。設置 eureka.instance.preferIpAddress=true,當應用注冊到eureka上的時候,他們將使用IP Address替代hostname。

電子斷路器:Hystrix Clients

Netflix創建了一個庫叫Hystrix實現了電子斷路器模塊。在一個微服務架構中它一般有多個服務調用層。

一個底層的服務錯誤會引起級聯錯誤一直反饋到用戶。當調用一個特定的服務到達一定的閥值后(20 failures in 5 seconds is the default in Hystrix),回路開啟然后調用也不會成功。一些錯誤情況下可以由程序員提供
open circuit a fallback。

Having an open circuit stops cascading failures and allows overwhelmed or failing services time to heal. The fallback can be another Hystrix protected call, static data or a sane empty value. Fallbacks may be chained so the first fallback makes some other business call which in turn falls back to static data.

如何引入Hystrix

在你的項目中通過 org.springframework.cloud 和 spring-cloud-starter-hystrix 引入Hystrix。查看詳情并設置你的系統使用當前的spring cloud Release。
例如:

@SpringBootApplication @EnableCircuitBreaker public class Application {public static void main(String[] args) {new SpringApplicationBuilder(Application.class).web(true).run(args);} }@Component public class StoreIntegration{@HystrixCommand(fallbakMethod="defaultStores")public Object getStore(Map<String,Object> parameters){//do stuff that might fail}public Object defaultStores(Map<String,Object> paramters) {return /*something useful*/;} }

Netflix的普通發布庫叫Javanica提供了@HystrixCommand注解。Spring Cloud使用注解自動適配spring bean使用代理去連接到Hystrix斷路器。斷路器計算何時打開和關閉斷路,并決定在失敗的情況下做什么。

配置@HystrixCommand你可以使用commandProperties屬性,它有@HystrixProperty的注解列表。通過這里查看更多詳情.訪問Hystrix wiki查看更多可用的屬性。

Propagating the Security Context or using Spring Scopes

如果你想把本地線程上下文傳播到@HystrixCommand,默認的聲明將不可用因為它是在一個線程池中被啟動的。你可以選擇讓Hystrix使用同一個線程,通過一些配置,或直接寫在注解上,通過使用isolation strategy屬性。例如:

@HystrixCommand(fallbackMethod="stubMyService",commandProperties={@HystrixProperty(name="execution.isolation.strategy",value="SEMAPHORE")})

同樣的方式適用于如果你用@SessionScope 或者 @RequestScope。你應該知道什么時候去做這件事因為有些運行時異常報找不到scoped上下文。

你還可以選擇設置 hystrix.shareSecurityContext 屬性為true。設置這個值會自動配置一個Hystrix兵法策略會把securityContext從主線程傳輸到你使用的Hystrix command。Hystrix does not allow multiple hystrix concurrency strategy to be registered so an extension mechanism is available by declaring your own HystrixConcurrencyStrategy as a Spring bean. Spring Cloud will lookup for your implementation within the Spring context and wrap it inside its own plugin

Health Indicator

斷路器的狀態同樣暴露在/health端點上。

{ "hystrix": {"openCircuitBreakers": ["StoreIntegration::getStoresByLocationLink"],"status": "CIRCUIT_OPEN" }, "status": "UP" }

Hystrix Metrics Stream

使用Hystrix metrics stream需要引入依賴 spring-boot-starter-actuator。這會暴露/hystrix.stream作為一個管理端點。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency>

Circuit Breaker: Hystrix Dashboard

Hystrix的主要好處就是她收集了關于每個HystrixCommand的指標。Hystrix儀表盤用一種高效的方式展示了斷路器的健康數據。

如何引入Hystrix儀表盤

…org.springframework.cloud and artifact id spring-cloud-starter-hystrix-dashboard…Spring Cloud Project page

在Spring boot main class上加@EnableHystrixDashboard可以運行Hystrix儀表盤,然后可以訪問/hystrix并把儀表盤指向一個個體實例/hystrix.stream端點在一個應用中。

Turbine

看一個實例Hystrix數據對于整個系統的健康不是很有用. Turbine 是一個應用程序,該應用程序匯集了所有相關的/hystrix.stream端點到 /turbine.stream用于Hystrix儀表板。運行turbine使用@EnableTurbine注解你的主類,使用spring-cloud-starter-turbine這個jar。配置請參考 the Turbine 1 wiki 唯一的區別是turbine.instanceUrlSuffix不需要端口號前綴,因為這是自動處理,除非turbine.instanceInsertPort=false。

turbine.appConfig配置是一個eureka服務ID列表,turbine將使用這個配置查詢實例。turbine stream在hystrix dashboard中使用如下的url配置: http://my.turbine.server:8080/turbine.stream?cluster=,如果集群的名稱是default,集群參數可以忽略)。這個cluster參數必須和turbine.aggregator.clusterConfig匹配。從eureka返回的值都是大寫的,因此我們希望下面的例子可以工作,如果一個app使用eureka注冊,并且被叫做”customers”:

turbine:aggregator:clusterConfig: CUSTOMERSappConfig: customers

clusterName可以使用SPEL表達式定義,在turbine.clusterNameExpression。 默認值是appName,意思是eureka服務ID最終將作為集群的key,例如customers的 InstanceInfo有一個CUSTOMERS的appName。另外一個例子是turbine.clusterNameExpression=aSGName,將從AWS ASG name獲取集群名稱。作者例子:

turbine:aggregator:clusterConfig: SYSTEM,USERappConfig: customers,stores,ui,adminclusterNameExpression: metadata['cluster']

在這種情況下,集群名稱從4個服務從其元數據映射,期望包含“SYSTEM”和“USER”。

所有的app使用default,你需要一個文字表達式(使用單引號):

turbine:appConfig: customers,storesclusterNameExpression: "'default'"

spring cloud提供一個spring-cloud-starter-turbine,所有依賴項你需要運行一個turbine服務器。使用@EnableTurbine創建一個spring boot應用。

注意:默認情況下Spring Cloud 允許 Turbine 在集群的每個主機下使用主機名和端口運行多個進程。如果你想在集群中的每個主機使用本機原生Netfix行為且不允許多個進程創建運行Turbine。(實例id的key為主機名)然后設置屬性turbine.combineHostPort=false

Turbine Stream

在一些環境(Pass), 在所有分布式下典型的Turbine 模型的Hystrix 命令都不工作,在這種情況下,你可能想要 Hystrix 命令 推送到 Tuibine, 和Spring Cloud進行消息傳遞,那么你需要要做的是在客戶端添加一個依賴spring-cloud-netflix-hystrix-stream和你所選擇的 spring-cloud-starter-stream-*的依賴(相關信息請查看 Spring Cloud Stream 方檔,以及如何配置客戶端憑證,和工作時的要本地代理)

創建一個帶有注解 @EnableTurbineStream 的Spring boot 應用服務器,端口默認 8989 (Hystrix 儀表盤的URL都使用此端口), 如果你想自定義端口,可以配置 server.port 或 turbine.stream.port 任一個,如果你使用了 spring-boot-starter-web 和 spring-boot-starter-actuator ,那么你可以提供(使用Tomcat默認情況下) management.port 不同的端口,并打開這個單獨的執行器端口

你可以把Dashboard指向Turbine Stream Server來代替個別Hystrix streams。如果Tubine Stream 使用你本機的8989端口運行,然后把 http://myhost:8989在流輸入字段Hystrix儀表板 Circuits 將由各自的 serverId關綴,緊隨其后的是一個點,然后是circuit 名稱

客戶端負載均衡:Ribbon

Ribbon是一個客戶端的負載均衡器,可以提供很多HTTP和TCP的控制行為。Feign已經使用了Ribbon,所以如果你使用了@FeignClient,Riboon也同樣被應用了。

Ribbon核心的概念是named client。每個負載均衡器都是共同體的一部分,可以一起運行去連接遠程服務器,你會給你的應用設置一個名字(比如使用@FeignClient注解)。Spring Cloud creates a new ensemble as an ApplicationContext on demand for each named client using RibbonClientConfiguration. This contains (amongst other things) an ILoadBalancer, a RestClient, and a ServerListFilter.

如何引入Ribbon

org.springframework.cloud and artifact id spring-cloud-starter-ribbon. 查看詳情 Spring Cloud Project page

定制Ribbon Clietn

你可以配置一些Ribbon client的屬性在外部的屬性文件里(application.properties/yml),如.ribbon.*,這個和Netflix APIS本身沒有什么不同。本機選項可以被檢查使用CommonClientConfigKey等靜態字段。

Spring cloud還允許你完全控制客戶端通過聲明額外的配置,使用@RibbonClient(位于RibbonClientConfiguration的頂部)。
例如:

@Configuration @RibbonClient(name="foo",configuration=FooConfiguration.class) public class TestConfiguration{ }

In this case the client is composed from the components already in RibbonClientConfiguration together with any in FooConfiguration (where the latter generally will override the former).

警告:FooConfiguration已經設置為@Configuration,但是注意它不是@ComponentScan在主程序上下文,另外它會被所有的@RibbonClients共享。如果你使用了@ComponentScan(或者@SpringBootApplication)你需要采取措施去避免引入。(例如把他分割開來,不要重疊包,或者指定明確的包路徑在@ComponentScan)。

Spring Cloud Netflix默認為Ribbon提供了如下beans(BeanType beanName:ClassName):
* IClientConfig ribbonClientConfig: DefaultClientConfigImpl
* IRule ribbonRule: ZoneAvoidanceRule
* IPing ribbonPing: NoOpPing
* ServletList ribbonServerList: ConfigurationBasedServerlList
* ServerListFilter ribbonServerListFilter:
* ILoadBalancer ribbonLoadBalancer: ZoneAwareLoadBalancer

創建一個這些類型的一個Bean放置到@RibbonClient配置類中(就像上面的FooConfiguration一樣),它允許你重寫每一個bean的描述。例如:

@Configuration public class FooConfiguation {@Beanpublic IPing ribbonPing(IClientConfig config){return new PingUrl();} }

這里使用PingUrl替換了NoOpPing。

Customizing the ribbon client using properties

從1.2.0版本開始,sping cloud netflix支持使用配置文件的方式定制RibbOn clients并且與文檔兼容 Ribbon documentation

這允許你在不同環境中,改變啟動時的行為。

這些屬性都列在下面,并且他們必須使用 .ribbon.作為前綴。
* NFLoadBalancerClassName: should implement ILoadBalancer
* NFLoadBalanceerRuleClassName: should implement IRuld
* NFLoadBalancePingClassName: should implement IPing
* NIWSServerListClassName: should implement ServerList
* NIWServerListFilterClassName: should implement ServerListFilter

注意: 類中定義了這些屬性將會優先于@RibbonClient(configuration=MyRibbonConfig.class),默認的是Spring Cloud Netflix提供了。

給服務名為user設置IRule,你可以如下設置:

application.yml user:ribbon:NFLoadBalancerRuleClassName:com.netflix.loadbalancer.WeightedResponseTimeRule

從 Ribbon documentation 查看Ribbon的實現。

Using Ribbon with Eureka

當Eureka跟Ribbon結合使用的時候(都在classpath),ribbonServerList會被一個外部的DiscoveryEnabledNIWServerList重寫,它填充了服務懶得列表從Eureka中。它同樣使用了NIWDiscoveryPing替換了IPing,它讓Eureka去確定一個server是否啟動。serverList默認使用的是DomainExtractingServerList,目的是讓物理元數據用于負載均衡器而不是AWS AMI(這是Netflix依賴的)。默認srverlist會構造”zone”信息提供給實例使用(遠程客戶端設置eureka.instance.metadataMap.zone),如果沒有設置它可以使用域名服務器的主機名作為區域代理(如果approximateZoneFromHostname被設置了)。一旦zone信息可用,它也會被用在ServerListFilter。默認它會用來定位一個客戶端在同一個zone,因為默認的是ZonePrefeerenceServerListFilter。client的zone默認跟遠程實例的一樣。i.e. eureka.instance.metadataMap.zone。

注意:正統的“archaius”方式設置client zone是通過配置屬性”@zone”,Sping Cloud將會優先使用這個設置(它會去引用YAML的配置)。

注意:If there is no other source of zone data then a guess is made based on the client configuration (as opposed to the instance configuration). We take eureka.client.availabilityZones, which is a map from region name to a list of zones, and pull out the first zone for the instance’s own region (i.e. the eureka.client.region, which defaults to “us-east-1” for comatibility with native Netflix).

Example:How to Use Ribbon Without Eureka

Eureka是一個方便的方式去抽象遠程服務發現,所以你不需要在客戶端硬編碼他們的URLS。但是如果你不想用eureka,Ribbon和Feign仍然可用。假設你已經在“stores”定義了@RibbOnClient,而且沒有使用Eureka(沒有在classpath中)。Ribbon client默認要配置server list,你可以提供配置像這樣:

application.yml stores:ribbon:listOfServers: example.com.google.com

Example:Disable Eureka use in Ribbon

設置property ribbon.eureka.enable=false將會明確的讓Eureka的ribbon失效。

application.yml ribbon:eureka:enabled: false

Using the Ribbon API Directly

你也可以直接使用 LoadBalancerClient。例如:

public class MyClass {@Autowiredprivate LoadBalancerClient loadBalancer;public void dostuff(){ServiceInstance instance = loadBalancer.choose("stors");URI storeUri = URI.create(String.format("httP://%s:%s",instance.getHost(),instance.getPort()));//... do something with the URI} }

Declarative REST Client:Feign

Feign是一種聲明式的web service client。它讓web service變得更容易。使用Feign你只需要創建一個接口并且寫上注解。它提供插拔式的Feign注解和JAX-RS注解支持。Feign同樣提供插拔式的編碼解碼器。Spring Cloud添加了Spring MVC的注解支持,在Spring web中默認使用相同的HttpMessageConverters。spring cloud集成了Ribbon 和 Eureka去提供負載均衡。

How to include Feign

org.springframework.cloud and artifact id spring-cloud-starter-feign。Spring Cloud Project page。

Example spring boot app:

@Configuration @ComponentScan @EnableAutoConfiguration @EnableEurekaClient @EnableFeignClients public class Application {public stati void main(String[] args){SpringApplication.run(Application.class,args);} }

StoreClient.java

@FeignClient("sotes") public interface StoreClient{@RequestMapping(method=RequestMethod.GET,value="/stores")List<Store> getStores();@RequestMapping(method=RequestMethod.POST,value="/stores/{storeId}",consumes="appliation/json")Store update(@PathVariable("storeId") Long storeId,Store store); }

在@FeignClient注解里是一個任意的服務端的名字(比如 “store”),用于創建一個Ribbon負載均衡。你也可以指定一個URL,通過使用url屬性(絕對值或者只是個hostname)。應用程序上下文中的bean的名稱是接口的完全限定名稱。一個別名同樣被創建就是 “name”屬性上附加上“FeignClient”。看上面的列子,@Qualifire(“storesFeignClient”)可以用來引用bean,如果你想改變默認@Qualifier值,這可以在@FeignClient使用qualifier值。

Ribbon client會發現“stores”服務的物理地址。如果你的應用是Eureka client然后Eureka注冊中心會決定service的地址。如果你不想使用Eureka,你可以簡單的配置一個 server list 在你的外配配置中。

Overriding Feign Defaults

Sping cloud Feign支持的一個核心概念就是聲明的客戶端。每一個Feign client是整體的的一部分一起通過遠程服務器聯系,使用@FeignClient注解指定一個整體使用的名字。Sping cloud為每一個使用FeignClientConfiguration聲明的客戶端創建一個新的ApplictionContxt。這包括(除去其他東西)feign.Decode,feign.Encoder和feign.Contract。

Spring cloud提供通過@FeignClient.添加添額外的配置的方法讓你完全控制feign client。例如:

@FeignClient(name="stores", configuration=FooConfiguration.class) public interface StoreClient{ }

在這個例子中,FeignClientsConfiguration已經有的和FooConfiguration自定義的共同組成了client(后者會覆蓋先者)。

警告: FooConfiguration必須是@Configuration,但是注意不能在@CompinentScan中,否則將被用于每個@FeignClient。如果你使用@ComponentScan(或@ SpringBootApplication),你需要采取一些措施來避免它被列入(比如把它放在一個單獨的,非重疊的包,或者指定包在@ComponentScan明確掃描)。

注意:該 serviceId 已經過時,建議使用 name 屬性

警告:以前,使用 url 屬性,則 name 不是必須的,但現在是必須的.

name 和 url 屬性都支持占位符。

@FeignClient(name="${feign,name}",url="${feign.url}") public interface StoreClient{ }

Spring cloud netflix默認給feign提供如下bean(BeanType beanName:ClassName)
* Decoder feignDecoder: RespinseEntityDecoder(包裝了SpringDeccoder)
* Encoder fergnEncoder: SpringEncoder
* Logger feignLogger: SLF4JLogger
* contract feignContract:SpringMvcContract
* Feign.Builder feignBuilder: HystrixFeign.Builder
* Client feignClient:如果Ribbon可用就是loadBalancerFeignClient,否則默認feign client。

OkHttpClient和ApacheHttpClient feign clients可以通過分別設置fiegn.okhttp.enable 或者 feign.httpclient.enable為true,并且添加到classpath。

Spring cloud netflix默認沒有提供一下bean,但是仍然可以從上下文中查找這些bean并創建feign client:
* Logger.Level
* Retryer
* ErrorDecoder
* Request.options
* Collection

創建這些類型的一個bean可以放在@FeignClient配置中(如上FooConfiguration),允許你覆蓋所描述的每一個bean. 例子:

@Configuration public class FooConfiguration{@Beanpublic Contract feignContract(){return new feign.Contract.Default(); }@Beanpublic BasicAuthRequestInterceptor basicAuthRequestInterceptor(){return new BasicAuthRequestInterceptor("user","password");} }

可以替換SpringMvcContract 和 feign.Contract.Default, 并增加一個 RequestInterceptor 到 RequestInterceptor 中去.

可以通過@EnableFeignClients的屬性defaultConfiguration以同樣的方式被指定。不同之處是配置會加載到所有的feign clients。

Creating Feign Clients Manually

在一些情況下可能需要自定義Feign clients但是不能用以上的方法。所以你可以使用Feign Builder API創建clients。下面是一個例子,創建了兩個相同接口的client但是用配置了分開的攔截器。

@Import(FeignClientsConfiguration.class) class FooController {private FooClient fooClient;private FooClient adminClient;@Autowired public FooController(ResponseEntityDecoder decoder, SpringEncoder encoder, Client client) {this.fooClient = Feign.builder().client(client).encoder(encoder).decoder(decoder).requestInterceptor(new BasicAuthRequestInterceptor("user", "user")).target(FooClient.class, "http://PROD-SVC");this.adminClient = Feign.builder().client(client).encoder(encoder).decoder(decoder).requestInterceptor(new BasicAuthRequestInterceptor("admin", "admin")).target(FooClient.class, "http://PROD-SVC");} }

注意:在這個例子中,FeignClientsConfiguration.class是Spring Cloud Netflix默認提供的配置。

PROD-SVC是我們提供的服務名稱,會接收相應的客戶端的請求。

Feign Hystrix Support

如果Hystrix在classpath中,默認Feign用熔斷器包裝所有方法。返回一個 com.netflix.hystrix.HystrixCommand 也是可用的。這允許你以被動模式使用(使用.toObservable()或者.observer())或者 異步調用(.queue())。

要禁用Feign 的 Hystrix支持,設置feign.hystrix.enabled=false.

要在每個客戶端上禁用 Hystrix 支持,創建一個 Feign.Builder 并將scope 設置為”prototype”,例如:

@Configuration public class FooConfiguration {@Bean@Scope("prototype")public Feign.Builder feignBuilder() {return Feign.builder();} }

Feign Hystrix Fallbacks

Hystrix支持回退的概念:一段默認的代碼將會被執行當斷路器打開或者發生錯誤。要啟用回退要給@FeignClient設置fallback屬性來實現回退.

@FeignClient(name="hello",fallback=HystrixClientFallback.class) protected interface HystrixClient {@RequestMapping(Method=RequestMethod.GET,value="/hello")Hello iFailSometimes(); }static class HystrixClientFallback implements HystrixClient{@Overridepublic Hello iFailSometimes(){return new Hello("fallback");} }

如果一個請求需要觸發回退,可以使用fallbackFactory屬性替換@FeignClient。

@FeignClient(name = "hello", fallbackFactory = HystrixClientFallbackFactory.class) protected interface HystrixClient {@RequestMapping(method = RequestMethod.GET, value = "/hello")Hello iFailSometimes(); }@Component static class HystrixClientFallbackFactory implements FallbackFactory<HystrixClient> {@Overridepublic HystrixClient create(Throwable cause) {return new HystrixClientWithFallBackFactory() {@Overridepublic Hello iFailSometimes() {return new Hello("fallback; reason was: " + cause.getMessage());}};} }

警告:There is a limitation with the implementation of fallbacks in Feign and how Hystrix fallbacks work. Fallbacks are currently not supported for methods that return com.netflix.hystrix.HystrixCommand and rx.Observable.

Feign Inheritance Support

Feign支持通過單繼承接口引用api,這允許將通用操作分組為方便的基本接口.

UserService.java public interface UserService {@RequestMapping(method = RequestMethod.GET, value ="/users/{id}") User getUser(@PathVariable("id") long id); }UserResource.java @RestController public class UserResource implements UserService {}UserClient.java package project.user;@FeignClient("users") public interface UserClient extends UserService {}

注意:通常在一個server和一個client之間共享一個接口是不可取的。它引入了緊耦合,實際上它也不會spring mvc中起作用(方法參數映射不會被繼承)。

Feign request/response compression

你可能考慮對你的Feign請求啟用GZIP壓縮。你可以通過設置如下啟用:

feign.compression.request.enabled=true feign.compression.response.enabled=true

Feign提供的壓縮設置與你的Web server的設置類似:

feign.compression.request.enabled=true feign.compression.request.mime-types=text/xml,application/xml,application/json feign.compression.request.min-request-size=2048

這些屬性允許你選擇要壓縮的 MIME-TYPE 和最小的請求長度。

Feign logging

每個Feign client都創建了一個logger。默認的logger的命名是Feign client的全限定名。Feign日志只響應 DEBUG 級別。

application.yml logging.level.project.user.UserClient: DEBUG

你能為每個客戶端配置Logger.Level 對象,告訴Feign記錄多少日志,選項包括:
* NONE, 不記錄 (DEFAULT).
* BASIC, 僅記錄請求方式和URL及響應的狀態代碼與執行時間.
* HEADERS, 日志的基本信息與請求及響應的頭.
* FULL, 記錄請求與響應的頭和正文及元數據.

例如,下面的設置會讓 Logger.Level為FULL.

@Configuration public class FooConfiguration {@BeanLogger.Level feignLoggerLevel() {return Logger.Level.FULL;} }

External Configuration: Archaius

Archaius是Netflix client端配置庫。它的配置可以被所有的Netflix OSS組件使用。Archaius是 Apache Commons Configuration 的項目。它允許更新配置通過輪詢或者推送到client的方式。Archaius使用動態屬性類屬性的處理屬性。

Archaius Example class ArchaiusTest {DynamicStringProperty myprop = DynamicPropertyFactory.getInstance().getStringProperty("my.prop");void doSomething() {OtherClass.someMethod(myprop.get());} }

Archaius有它自己的一套配置文件和負載優先級, Spring 應用程序通常不應直接應用Archaius, 本身仍然有配置Netflix工具的需求。Spring Cloud有一個Spring Environment Bridge,所以Archaius可以通過spring environment讀取屬性。這允許spring boot項目使用配置工具鏈,while allowing them to configure the Netflix tools, for the most part, as documented.

Router and Filter: Zuul

路由是微服務架構的不可或缺的一部分。例如:/ 可能映射到你應用主頁,/api/users映射到用戶服務,/api/shop映射到購物服務。Zuul。Zuul是Netflix出品的一個基于JVM路由和服務端的負載均衡器。

Netflix uses Zuul for the following:
* Authentication
* Insights
* Stress Testing
* Canary Testing
* Dynamic Routing
* Service Migration
* Load Shedding
* Security
* Static Response handling
* Active/Active traffic management

Zuul的規則和過濾器允許使用各種基于JVM的語言,支持基于Java和Groovy。

注意:zuul.max.host.connections已經被兩個新的屬性替代:zuul.host.maxTotalConnections 和 zuul.host.maxPerRouteConnections,默認分別為200和20.

注意:默認所有routes的Hystrix隔離模式(ExecutionIsolationStrategy)是SEMAPHORE zuul.ribbonIsolationStrategy可以改為THREAD,如果這個隔離模式更好。

How to Include Zuul

org.springframework.cloud and artifact id spring-cloud-starter-zuul。See the Spring Cloud Project page for details。

Embedded Zuul Reverse Proxy

當一個UI應用想要代理調用一個或者多個后臺服務的時候,Sping cloud創建了一個嵌入的Zuul proxy很方便的開發一個簡單的案例。這個功能對于代理前端需要訪問的后端服務非常有用,避免了所有后端服務需要關心管理CORS和認證的問題.

在Spring Boot主函數上通過注解 @EnableZuulProxy 來開啟, 這樣可以讓本地的請求轉發到適當的服務. 按照約定, 一個ID為”users”的服務會收到 /users 請求路徑的代理請求(前綴會被剝離). Zuul使用Ribbon定位服務注冊中的實例, 并且所有的請求都在hystrix的command中執行, 所以失敗信息將會展現在Hystrix metrics中, 并且一旦斷路器打開, 代理請求將不會嘗試去鏈接服務.

注意:Zuul starter沒有包含服務發現的客戶端, 所以對于路由你需要在classpath中提供一個根據service IDs做服務發現的服務.(例如, eureka是一個不錯的選擇)

去忽略一個自動添加的服務,可以在服務ID表達式列表中設置 zuul.ignored-services。如果一個服務匹配到了要忽略的列表, 但是它也明確的配置在路由列表中, 將不會被忽略, 例如:

application.yml zuul:ignoredServices: '*'routes:users: /myusers/**

在這個例子中,所有的服務都會被忽略,除了“users”。

增加或改變代理路由規則, 你可以添加類似下面的外部配置:

application.ymlzuul:routes:users: /myusers/**

這表示,HTTP調用 “/myusers” 會轉到 “user” 服務(例如:”/myusers/101”跳轉到”/101”)。

為了更細粒度的控制一個路由, 你可以獨立指定配置路徑和服務ID:

application.ymlzuul:routes:users:path: /myusers/**serviceId: users_service

這表示,HTTP調用 “/myuser”會跳轉到”users_servie”服務。路由必須配置一個可以被指定為”ant路徑匹配原則”的”path”,所以“/myusers/”只能匹配一個層級, 但”/myusers/*“可以匹配多級.(附注:Ant path 匹配原則)

后端的配置既可以是”serviceId”(對于服務發現中的服務), 也可以是”url”(物理地址), 例如:

application.ymlzuul:routes:users:path: /myusers/**url: http://example.com/users_service

url-routes的方式不會執行 HystrixCommand 也不會通過Ribbon負載多個URLS。要實現這些,需給這個serviceid指定一個service-route并配置一個Ribbon client(這個必須在Ribbon中禁用Eureka: see above for more information)。

application.yml zuul:routes:users:path: /myusers/**serviceId: usersribbon:eureka:enabled: falseusers:ribbon:listOfServers: example.com,google.com

你可以使用regexmapper提供serviceId和routes之間的綁定. 它使用正則表達式組來從serviceId提取變量, 然后注入到路由表達式中.

@Bean public PatternServiceRouteMapper serviceRouteMapper() {return new PatternServiceRouteMapper("(?<name>^.+)-(?<version>v.+$)","${version}/${name}"); }

這表示serviceId “myusers-v1” 將會被映射到 “/v1/myusers/“.任何正則表達式都可以,但是所有的命名組都必須在servicePattern和routePattern中存在。如果servicePattern沒有匹配到一個serviceId,默認的行為會被啟用。在上面的例子中,serviceId”myusers”將會映射到”/myusers/“(沒有發現版本)這個特性默認是禁用的,而且只用于發現的服務。

給所有映射添加前綴,可以設置 zuul.prefix 一個值,比如/api。這個前綴默認會刪除,在請求跳轉之前。(通過 zuul.stripPrefix=false 可以關閉這個功能)。你也可以在單個服務中關閉這個功能, 例如:

application.ymlzuul:routes:users:path: /myusers/**stripPrefix: false

zuul.stripPrefix只使用于使用了zuul.prefix配置情況下。在一個定義好了的 route’s path中不會有任何影響。

在這個例子中,”users”service的請求”/myusers/101”將會跳轉到”/myusers/101”。

zuul.routes 實際上綁定到類型為 ZuulProperties 的對象上. 如果你查看這個對象你會發現一個叫”retryable”的字段, 設置為”true”會使Ribbon客戶端自動在失敗時重試(如果你需要修改重試參數, 可以使用Ribbon client configuration)

X-Forwarder-Host請求頭默認添加到轉發請求中。設置zuul.addProxyHeaders=false禁用它。路徑前綴默認被刪除,
到后臺服務的請求會添加一個 “X-Forwarded-Prefix”(“/myusers”在上面的例子中)。

一個@EnableZuulProxy的應用可以作為單機使用如果你設置了一個默認路由(”/”),例如zuul.route.home: / 會把所有的請求(”/**”)轉到home服務。

如果需要更細粒度的忽略配置,你可以指定特殊的表達式來配置忽略規則.這些表達式從route location的開始進行匹配,意味著前綴應該被包括在匹配表達式中. 忽略表達式影響所有服務和取代任何路由的特殊配置.

application.ymlzuul:ignoredPatterns: /**/admin/**routes:users: /myusers/**

這個的意思是所有請求, 比如”/myusers/101”的請求會跳轉到”users”服務的”/101”, 但包含”/admin/”的請求將不被處理.

Zuul Http Client

默認的zull的Http clietn現在是Apach HTTP Client,替代了已過期的Ribbon RestClient。想使用RestClient或使用okhttp3.OKHttpClient,可以設置ribbon.restclient.enable=true或者ribbon.okhttp.enable=true。

Cookies and Sensitive Headers

在同一個系統的多個服務之間中分享headers是可以的,但是你可能不想把一些敏感headers泄露到下游服務器。你可以指定一批忽略的headers列表在路由配置中。Cookies扮演了一個特殊的角色, 因為他們很好的在瀏覽器中定義, 而且他們總是被認為是敏感的. 如果代理的客戶端是瀏覽器, 則對于下游服務來說對用戶, cookies會引起問題, 因為他們都混在一起。(所有下游服務看起來認為他們來自同一個地方)。

如果你對于你的服務設計很細心,比如,如果只有一個下游的服務設置了cookies,你可能會讓它從后端服務一直追溯到前端調用者,如果你的代理設置了cookies而且所有你的后端服務都是同一系統的一部分,它可以很自然的共享(比如使用spring session去聯系一些共享狀態)。除此之外,任何下游服務設置的cookies可以能不會對前端調用者產生作用。所以建議對不屬于你的域名的部分在routes里將 “Set-Cookie”和“Cookie”添加到敏感headers。 即使是屬于你的域名的路由, 嘗試仔細思考在允許cookies流傳在它們和代理之間意味著什么。

每個路由中的敏感頭部信息配置按照逗號分隔, 例如:

application.ymlzuul:routes:users:path: /myusers/**sensitiveHeaders: Cookie,Set-Cookie,Authorizationurl: https://downstream

敏感headers也支持全局設置 zuul.sensitiveHeaders. 如果在單個路由中設置 sensitiveHeaders 會覆蓋全局 sensitiveHeaders 設置.

注意: 這是sensitiveHeaders 的默認值, 你無需設置除非你需要不同的配置. 注意. 這是Spring Cloud Netflix 1.1的新功能(在1.0中, 用戶無法直接控制請求頭和所有cookies).

Ignored Headers

除了每個route敏感頭以外, 你可以設置一個全局的 zuul.ignoredHeaders 在下游相互調用間去丟棄這些值(包括請求和響應). 如果沒有將Spring Security 添加到運行路徑中, 他們默認是空的, 否則他們會被Spring Secuity初始化一批安全頭(例如 緩存相關). 在這種情況下, 假設下游服務也可能添加這些頭信息, 我希望從代理獲取值.

The Routes Endpoint

如果你使用 @EnableZuulProxy 同時引入了Spring Boot Actuator, 你將默認增加一個endpoint, 提供http服務的 /routes. 一個GET請求將返回路由匹配列表. 一個POST請求將強制刷新已存在的路由.(比如, 在服務catalog變化的場景中)

注意:路由列表應該自動應答服務登記變化, 但是POST是一種強制立即更新的方案.

窒息模式和本地跳轉(Strangulation Patterns and Local Forwards)

一個常見的遷移舊應用或者舊接口的方式,就是逐步的替換它的實現。 Zuul代理是一種很有用的工具, 因為你可以使用這種方式處理所有客戶端到舊接口的請求. 只是重定向了一些請求到新的接口.

實例配置:

application.ymlzuul:routes:first:path: /first/**url: http://first.example.comsecond:path: /second/**url: forward:/secondthird:path: /third/**url: forward:/3rdlegacy:path: /**url: http://legacy.example.com

在這個例子中,我們替換了 “legacy” ,它映射到所有的請求,但是沒有匹配到其他任何一個請求。路徑 /first/* 指向了一個額外的URL. 并且路徑 /second/* 是一個本地跳轉. 比如, 帶有Spring注解的 @RequestMapping . 路徑 /third/** 也是一個本地跳轉, 但是屬于一個不同的前綴. (比如 /third/foo 跳轉到 /3rd/foo )。

注意:忽略表達式并不是完全的忽略請求, 只是配置這個代理不處理這些請求(所以他們也是跳轉執行本地處理)。

Uploading Files through Zuul

如果你使用 @EnableZuulProxy , 你可以使用代理路徑上傳文件, 對于小文件可以正常使用. 對于大文件有可選的路徑”/zuul/“繞過Spring DispatcherServlet (避免處理multipart). 比如對于 zuul.routes.customers=/customers/* , 你可以使用 “/zuul/customers/*” 去上傳大文件. Servlet路徑通過 zuul.servletPath 指定. 如果使用Ribbon負載均衡器的代理路由, 在 處理非常大的文件時, 仍然需要提高超時配置. 比如:

application.yml hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000 ribbon:ConnectTimeout: 3000ReadTimeout: 60000

注意: 對于大文件的上傳流, 你應該在請求中使用塊編碼. (有些瀏覽器默認不這么做). 比如在命令行中:

$ curl -v -H "Transfer-Encoding: chunked" \ -F "file=@mylarge.iso" localhost:9999/zuul/simple/file

Plain Embedded Zuul

你可以運行一個沒有代理功能的Zuul服務, 或者有選擇的開關部分代理功能, 如果你使用 @EnableZuulServer (替代 @EnableZuulProxy ). 你添加的任何 ZuulFilter 類型 實體類都會被自動加載, 和使用 @EnableZuulProxy 一樣, 但不會自動加載任何代理過濾器.

在以下例子中, Zuul服務中的路由仍然是按照 “zuul.routes.*”指定, 但是沒有服務發現和代理, 因此”serviceId”和”url”配置會被忽略. 比如:

application.ymlzuul:routes:api: /api/**

匹配所有的 “/api/**” 給Zuul過濾器鏈.

Disable Zuul Filters

在代理和服務模式下, 對于Spring Cloud, Zuul默認加入了一批 ZuulFilter 類. 查閱 the zuul filters package 去獲取可能開啟的過濾器. 如果你想關閉其中一個, 可以簡單的設置 zuul...disable=true . 按照約定, 在 filter 后面的包是Zuul過濾器類. 比如關閉 org.springframework.cloud.netflix.zuul.filters.post.SendResponseFilter , 可設置zuul.SendResponseFilter.post.disable=true.

通過Sidecar進行多語言支持(Polyglot support with Sidecar)

你是否有多語言的需要使用Eureka,Ribbon和Config server? Spring Cloud Netflix Sidecar 受 Netflix Prana 啟發。它引入了一個簡單的HTTP API去獲取所有服務實例的信息(比如host和port)。你也可以通過依賴Eureka的嵌入式Zuul代理器代理服務調用。Spring Cloud Config Server以通過host查找或Zuul代理直接訪問。其他語言需要實現一個健康檢查器,Sidecar才可以通知eureka這個額app是上線還是下線狀態。

引入Sidecar需要org.springframework.cloud and artifact id spring-cloud-netflix-sidecar.

開啟Sidecar, 需要創建一個包含 @EnableSidecar 的Springboot應用程序. 這個注解包括了 @EnableCircuitBreaker, @EnableDiscoveryClient 和 @EnableZuulProxy。Run the resulting application on the same host as the non-jvm application.

配置Sidecar, 添加 sidecar.port and sidecar.health-uri 到 application.yml 中. 屬性 sidecar.port 配置非jvm應用正在監聽的端口. 這樣Sidecar能夠注冊應用到 Eureka. sidecar.health-uri 是一個非JVM應用程序提供模仿SpringBoot健康檢查接口的可訪問的uri. 它應該返回一個json文檔類似如下:

health-uri-document {"status":"UP" }

這個是Sidecar應用程序application.yml的列子:

application.yml server:port: 5678 spring:application:name: sidecarsidecar:port: 8000health-uri: http://localhost:8000/health.json

api方法DiscoveryClient.getInstances()的映射是/hosts/{serviceId}。這里是一個 /hosts/customers返回的示例,它返回了兩個實例在不同的hosts。這個API對于非JVM 應用程序是可訪問的. (如果sidecar監聽在5678端口上) http://localhost:5678/hosts/{serviceId}。

/hosts/customers [{"host": "myhost","port": 9000,"uri": "http://myhost:9000","serviceId": "CUSTOMERS","secure": false},{"host": "myhost2","port": 9000,"uri": "http://myhost2:9000","serviceId": "CUSTOMERS","secure": false} ]

Zuul會自動的為每一個eureka的服務添加路由映射為/,所以/customers可以訪問到customers服務。非JVM的應用可以通過http://localhost:5678/customers(假設sidecar監聽在5678)。

如果Config Server注冊到Eureka,非JVM的應用可以通過Zuul proxy訪問。如果ConfigServer的serviceId是 configserver 而且Sidecar監聽在5678端口上, 則它可以通過 http://localhost:5678/configserver 訪問到.

非JVM應用可以使用ConfigServer的功能返回YAML文檔. 比如, 調用 http://sidecar.local.spring.io:5678/configserver/default-master.yml 可以返回如下文檔:

eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/password: password info:description: Spring Cloud Samplesurl: https://github.com/spring-cloud-samples

RxJava with Spring MVC

Spring Cloud Netflix引入了Rxjava

RxJava是一個Reactive Extensions的Java VM實現:它是一個使用可觀察數據流進行異步編程的編程接口,ReactiveX結合了觀察者模式、迭代器模式和函數式編程的精華,與異步數據流交互的編程范式。

Spring Cloud Netflix提供并支持從Spring MVC Controllers返回rx.Single對象. 它還支持使用 rx.Observable 對象,可觀察的對象為 Server-sent events (SSE). 如果你的內部api已經使用RxJava這會非常的方便(可以查看spring-cloud-feign-hystrix為例)。

這里有一些使用rx.Single的列子:

@RequestMapping(method = RequestMethod.GET, value = "/single") public Single<String> single() {return Single.just("single value"); }@RequestMapping(method = RequestMethod.GET, value = "/singleWithResponse") public ResponseEntity<Single<String>> singleWithResponse() {return new ResponseEntity<>(Single.just("single value"),HttpStatus.NOT_FOUND); }@RequestMapping(method = RequestMethod.GET, value = "/singleCreatedWithResponse") public Single<ResponseEntity<String>> singleOuterWithResponse() {return Single.just(new ResponseEntity<>("single value", HttpStatus.CREATED)); }@RequestMapping(method = RequestMethod.GET, value = "/throw") public Single<Object> error() {return Single.error(new RuntimeException("Unexpected")); }

如果你使用 Observable, 而不Single, 你可以使用.toSingle() 或 .toList().toSingle(). 下面是些例子:

@RequestMapping(method = RequestMethod.GET, value = "/single") public Single<String> single() {return Observable.just("single value").toSingle(); }@RequestMapping(method = RequestMethod.GET, value = "/multiple") public Single<List<String>> multiple() {return Observable.just("multiple", "values").toList().toSingle(); }@RequestMapping(method = RequestMethod.GET, value = "/responseWithObservable") public ResponseEntity<Single<String>> responseWithObservable() {Observable<String> observable = Observable.just("single value");HttpHeaders headers = new HttpHeaders();headers.setContentType(APPLICATION_JSON_UTF8);return new ResponseEntity<>(observable.toSingle(), headers, HttpStatus.CREATED); }@RequestMapping(method = RequestMethod.GET, value = "/timeout") public Observable<String> timeout() {return Observable.timer(1, TimeUnit.MINUTES).map(new Func1<Long, String>() {@Overridepublic String call(Long aLong) {return "single value";}}); }

如果你有一個流端點和客戶端,SSE可能是一個選項。使用 RxResponse.sse()將rx.Observable轉換到Spring 的SseEmitter. 以下是一些例子:

@RequestMapping(method = RequestMethod.GET, value = "/sse") public SseEmitter single() {return RxResponse.sse(Observable.just("single value")); }@RequestMapping(method = RequestMethod.GET, value = "/messages") public SseEmitter messages() {return RxResponse.sse(Observable.just("message 1", "message 2", "message 3")); }@RequestMapping(method = RequestMethod.GET, value = "/events") public SseEmitter event() {return RxResponse.sse(APPLICATION_JSON_UTF8,Observable.just(new EventDto("Spring io", getDate(2016, 5, 19)),new EventDto("SpringOnePlatform", getDate(2016, 8, 1)))); }

Metrics: Spectator, Servo, and Atlas

什么鬼?以后再說。。。。。

總結

以上是生活随笔為你收集整理的Spring Cloud Netflix中文文档翻译笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲伊人久久精品影院 | 久久久久成人精品免费播放动漫 | 天天燥日日燥 | 成熟女人特级毛片www免费 | 亚洲精品久久久久久一区二区 | 日本大乳高潮视频在线观看 | 日韩精品无码一本二本三本色 | 欧美第一黄网免费网站 | 鲁大师影院在线观看 | 亚洲日韩中文字幕在线播放 | 2020久久香蕉国产线看观看 | 男女作爱免费网站 | 国产欧美亚洲精品a | 国产成人人人97超碰超爽8 | www国产亚洲精品久久久日本 | 国产人妻久久精品二区三区老狼 | 免费国产黄网站在线观看 | 国内揄拍国内精品人妻 | 亚洲精品成人av在线 | 中文字幕av伊人av无码av | 欧美丰满老熟妇xxxxx性 | 国产亚洲精品久久久久久久 | 国产另类ts人妖一区二区 | 亚洲一区二区三区国产精华液 | 女人被爽到呻吟gif动态图视看 | 国内精品人妻无码久久久影院 | 婷婷综合久久中文字幕蜜桃三电影 | 国产高潮视频在线观看 | 人人澡人摸人人添 | 亚洲最大成人网站 | 国产精品久久久久久亚洲毛片 | 亚洲a无码综合a国产av中文 | 国产成人无码av一区二区 | 激情爆乳一区二区三区 | 未满小14洗澡无码视频网站 | 国产乱人伦av在线无码 | 欧美xxxxx精品 | 国产精品亚洲а∨无码播放麻豆 | 大肉大捧一进一出视频出来呀 | 国产精品亚洲一区二区三区喷水 | 国产精品国产自线拍免费软件 | 色综合久久中文娱乐网 | 亚洲国产欧美国产综合一区 | 波多野结衣av一区二区全免费观看 | 成人免费视频视频在线观看 免费 | 鲁一鲁av2019在线 | 亚洲区小说区激情区图片区 | 奇米影视7777久久精品 | 亚洲男人av香蕉爽爽爽爽 | 国产精品办公室沙发 | 亚洲精品久久久久中文第一幕 | 欧美大屁股xxxxhd黑色 | 精品人人妻人人澡人人爽人人 | 疯狂三人交性欧美 | 少妇人妻偷人精品无码视频 | 久久久久久亚洲精品a片成人 | 亚洲精品久久久久久久久久久 | 国产婷婷色一区二区三区在线 | 老司机亚洲精品影院无码 | 亚洲 欧美 激情 小说 另类 | 中文字幕乱码人妻无码久久 | 97久久超碰中文字幕 | 天堂久久天堂av色综合 | 午夜福利不卡在线视频 | 又黄又爽又色的视频 | 国产真实夫妇视频 | 亚洲精品午夜国产va久久成人 | 日韩欧美成人免费观看 | 日本www一道久久久免费榴莲 | 国产精华av午夜在线观看 | 午夜丰满少妇性开放视频 | 久久精品中文字幕一区 | 成人无码视频在线观看网站 | 亚洲熟妇色xxxxx亚洲 | 成人精品视频一区二区三区尤物 | 精品无码国产自产拍在线观看蜜 | 成人综合网亚洲伊人 | 久久人妻内射无码一区三区 | 国产成人无码专区 | 国产真实夫妇视频 | 精品无人区无码乱码毛片国产 | 亚洲一区二区三区含羞草 | 国产麻豆精品精东影业av网站 | 国产欧美亚洲精品a | 日本精品人妻无码77777 天堂一区人妻无码 | 久久久久久久人妻无码中文字幕爆 | 色五月五月丁香亚洲综合网 | 国产明星裸体无码xxxx视频 | 亚洲欧美精品aaaaaa片 | 久久婷婷五月综合色国产香蕉 | 女人高潮内射99精品 | 亚洲欧美综合区丁香五月小说 | 亚洲色偷偷偷综合网 | 亚洲精品鲁一鲁一区二区三区 | 最新国产麻豆aⅴ精品无码 | 欧美刺激性大交 | 粉嫩少妇内射浓精videos | 2020久久超碰国产精品最新 | 欧美放荡的少妇 | 国产精品亚洲五月天高清 | 亚洲男女内射在线播放 | 少妇人妻大乳在线视频 | 中文字幕乱码亚洲无线三区 | 亚洲一区二区三区偷拍女厕 | 国产黄在线观看免费观看不卡 | 国产精品丝袜黑色高跟鞋 | 成人无码精品一区二区三区 | 久久婷婷五月综合色国产香蕉 | 色诱久久久久综合网ywww | 天堂а√在线地址中文在线 | 亚洲综合伊人久久大杳蕉 | 久久99国产综合精品 | 少妇高潮喷潮久久久影院 | 精品久久久久香蕉网 | 一本久久伊人热热精品中文字幕 | 国产人妻精品一区二区三区 | 小泽玛莉亚一区二区视频在线 | 天天燥日日燥 | 天堂无码人妻精品一区二区三区 | 亚洲国产成人a精品不卡在线 | 美女张开腿让人桶 | 国产熟妇另类久久久久 | 青草青草久热国产精品 | 国产午夜亚洲精品不卡 | 日本护士xxxxhd少妇 | 国产乱人偷精品人妻a片 | 激情综合激情五月俺也去 | 国内综合精品午夜久久资源 | yw尤物av无码国产在线观看 | 亚洲一区二区三区 | 中文字幕无码免费久久99 | 日本在线高清不卡免费播放 | 真人与拘做受免费视频一 | 国产后入清纯学生妹 | 十八禁视频网站在线观看 | 日本乱偷人妻中文字幕 | 成人无码影片精品久久久 | 18无码粉嫩小泬无套在线观看 | 日韩 欧美 动漫 国产 制服 | 国产亚洲精品久久久久久久久动漫 | 网友自拍区视频精品 | 久久久成人毛片无码 | 国产人妻人伦精品1国产丝袜 | 爱做久久久久久 | 亚洲 日韩 欧美 成人 在线观看 | 一本久道久久综合狠狠爱 | 无码国产激情在线观看 | 啦啦啦www在线观看免费视频 | 熟女俱乐部五十路六十路av | 亚洲中文字幕av在天堂 | 人人妻人人澡人人爽人人精品 | 国产精品99爱免费视频 | 日本一区二区三区免费播放 | 亚洲欧美日韩综合久久久 | 亚洲国产欧美国产综合一区 | 免费观看又污又黄的网站 | 国产婷婷色一区二区三区在线 | 风流少妇按摩来高潮 | 日本爽爽爽爽爽爽在线观看免 | 国产精品久久久久影院嫩草 | 欧美35页视频在线观看 | 亚洲熟悉妇女xxx妇女av | 日本熟妇大屁股人妻 | 黑人粗大猛烈进出高潮视频 | 国产成人无码av片在线观看不卡 | 亚洲小说图区综合在线 | 亚洲成av人综合在线观看 | 无码人妻精品一区二区三区下载 | 亚洲中文字幕久久无码 | 国产无套粉嫩白浆在线 | 性欧美牲交xxxxx视频 | 久久久久人妻一区精品色欧美 | 国产成人久久精品流白浆 | 欧美xxxx黑人又粗又长 | а√资源新版在线天堂 | 欧美日本免费一区二区三区 | 亚洲 欧美 激情 小说 另类 | 中文字幕 亚洲精品 第1页 | 真人与拘做受免费视频 | 国产午夜福利亚洲第一 | 国产激情无码一区二区app | 色婷婷av一区二区三区之红樱桃 | 精品欧洲av无码一区二区三区 | 国产av一区二区精品久久凹凸 | 99er热精品视频 | 国产人妻大战黑人第1集 | 97精品国产97久久久久久免费 | 人妻尝试又大又粗久久 | 日日麻批免费40分钟无码 | 东京一本一道一二三区 | 三上悠亚人妻中文字幕在线 | 又大又硬又黄的免费视频 | 国产精品无码永久免费888 | 欧美日韩一区二区免费视频 | 久久久久久av无码免费看大片 | 性色欲网站人妻丰满中文久久不卡 | 亚洲国产成人av在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 日本一卡2卡3卡四卡精品网站 | 久久综合九色综合97网 | 国产乱人无码伦av在线a | 最新国产麻豆aⅴ精品无码 | 欧美国产日韩亚洲中文 | 亲嘴扒胸摸屁股激烈网站 | 国产av久久久久精东av | 无码人妻丰满熟妇区五十路百度 | 中国大陆精品视频xxxx | 国产精品人妻一区二区三区四 | 久久zyz资源站无码中文动漫 | 国产精品永久免费视频 | 国产亚洲人成在线播放 | 曰本女人与公拘交酡免费视频 | a在线亚洲男人的天堂 | 鲁大师影院在线观看 | 亚洲国产av美女网站 | 亚洲精品成a人在线观看 | 无码福利日韩神码福利片 | 欧美老妇交乱视频在线观看 | 国产精品内射视频免费 | 麻豆国产人妻欲求不满 | 东京一本一道一二三区 | 日韩欧美群交p片內射中文 | 中文字幕无码av波多野吉衣 | 乌克兰少妇xxxx做受 | 蜜臀av无码人妻精品 | 无码一区二区三区在线观看 | 国产午夜福利亚洲第一 | 亚洲精品成a人在线观看 | 人妻与老人中文字幕 | 国产农村妇女高潮大叫 | 中文字幕人妻无码一区二区三区 | 强奷人妻日本中文字幕 | 日本大香伊一区二区三区 | 激情五月综合色婷婷一区二区 | 丝袜人妻一区二区三区 | 欧美精品在线观看 | 四虎永久在线精品免费网址 | 亚洲国产欧美在线成人 | 亚洲精品久久久久久久久久久 | 亚洲春色在线视频 | 亚洲爆乳大丰满无码专区 | 国产极品视觉盛宴 | 亚洲欧洲中文日韩av乱码 | 超碰97人人射妻 | www成人国产高清内射 | 国产婷婷色一区二区三区在线 | 1000部夫妻午夜免费 | 熟女少妇人妻中文字幕 | 丰满少妇弄高潮了www | 国内精品一区二区三区不卡 | 人妻少妇精品无码专区二区 | 又粗又大又硬又长又爽 | 99国产精品白浆在线观看免费 | | 四虎4hu永久免费 | 美女扒开屁股让男人桶 | 熟女少妇人妻中文字幕 | 一本大道久久东京热无码av | 国产尤物精品视频 | 日本肉体xxxx裸交 | 亚洲日韩精品欧美一区二区 | 综合激情五月综合激情五月激情1 | 亚洲成av人影院在线观看 | 丁香花在线影院观看在线播放 | 日韩成人一区二区三区在线观看 | 亚洲色欲久久久综合网东京热 | av人摸人人人澡人人超碰下载 | 综合网日日天干夜夜久久 | 性欧美牲交xxxxx视频 | 久久www免费人成人片 | 欧美乱妇无乱码大黄a片 | 久久成人a毛片免费观看网站 | 国产成人精品三级麻豆 | 亚洲精品综合五月久久小说 | v一区无码内射国产 | 亚洲精品一区三区三区在线观看 | 波多野结衣乳巨码无在线观看 | 国产农村妇女高潮大叫 | 少妇久久久久久人妻无码 | 国产精品亚洲а∨无码播放麻豆 | 香蕉久久久久久av成人 | 久激情内射婷内射蜜桃人妖 | 香蕉久久久久久av成人 | 国产内射老熟女aaaa | 亚洲经典千人经典日产 | 欧美三级不卡在线观看 | 乱人伦人妻中文字幕无码久久网 | www成人国产高清内射 | 偷窥日本少妇撒尿chinese | 成人无码精品1区2区3区免费看 | 国产色在线 | 国产 | 一本大道伊人av久久综合 | 欧美精品免费观看二区 | 大屁股大乳丰满人妻 | 麻豆国产人妻欲求不满谁演的 | 色诱久久久久综合网ywww | 久久久久99精品国产片 | 久久午夜无码鲁丝片午夜精品 | 久久99精品国产.久久久久 | 国产综合久久久久鬼色 | 精品日本一区二区三区在线观看 | 久久99精品久久久久久动态图 | 亚洲高清偷拍一区二区三区 | 久久久亚洲欧洲日产国码αv | 亚洲精品午夜国产va久久成人 | 国产 浪潮av性色四虎 | 免费中文字幕日韩欧美 | 精品久久综合1区2区3区激情 | 国产真实乱对白精彩久久 | 99国产精品白浆在线观看免费 | 亚洲精品一区二区三区在线观看 | 亚洲色欲久久久综合网东京热 | 亚洲中文字幕va福利 | 99久久久国产精品无码免费 | 一个人免费观看的www视频 | 精品无码国产一区二区三区av | 久久视频在线观看精品 | 熟妇人妻无码xxx视频 | 日本成熟视频免费视频 | 暴力强奷在线播放无码 | 亚洲精品综合一区二区三区在线 | 久久人人爽人人爽人人片av高清 | 麻豆果冻传媒2021精品传媒一区下载 | 伦伦影院午夜理论片 | 夜夜影院未满十八勿进 | 色五月丁香五月综合五月 | 日韩亚洲欧美中文高清在线 | 久久视频在线观看精品 | 国产成人无码av一区二区 | 久久久久久久人妻无码中文字幕爆 | 日韩亚洲欧美精品综合 | 亚洲aⅴ无码成人网站国产app | 黑人粗大猛烈进出高潮视频 | 亚洲呦女专区 | 日韩人妻系列无码专区 | 中文亚洲成a人片在线观看 | 国产精品人人爽人人做我的可爱 | 国色天香社区在线视频 | 精品国产一区av天美传媒 | 国产亚洲视频中文字幕97精品 | 欧美人与禽猛交狂配 | 国产又粗又硬又大爽黄老大爷视 | 国产成人精品无码播放 | 国产欧美精品一区二区三区 | 国产亚洲精品久久久久久国模美 | 国产人妻大战黑人第1集 | 在线a亚洲视频播放在线观看 | 久久亚洲精品成人无码 | 亚洲熟悉妇女xxx妇女av | 欧美 日韩 人妻 高清 中文 | 国产激情艳情在线看视频 | 无套内谢的新婚少妇国语播放 | 亚洲中文字幕在线观看 | 狂野欧美性猛交免费视频 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲精品一区二区三区大桥未久 | 久精品国产欧美亚洲色aⅴ大片 | 大胆欧美熟妇xx | 大地资源网第二页免费观看 | 美女黄网站人色视频免费国产 | 精品偷拍一区二区三区在线看 | 丰满妇女强制高潮18xxxx | 久久97精品久久久久久久不卡 | 亚洲爆乳大丰满无码专区 | 蜜桃臀无码内射一区二区三区 | 九九久久精品国产免费看小说 | 国产成人无码av片在线观看不卡 | 亚洲s码欧洲m码国产av | 一二三四社区在线中文视频 | 在线精品国产一区二区三区 | 午夜福利电影 | 性生交大片免费看女人按摩摩 | 97人妻精品一区二区三区 | 粉嫩少妇内射浓精videos | 成人欧美一区二区三区黑人 | 又黄又爽又色的视频 | 极品尤物被啪到呻吟喷水 | 国产亚洲美女精品久久久2020 | 欧美丰满少妇xxxx性 | av无码不卡在线观看免费 | 日本丰满护士爆乳xxxx | 在线观看国产午夜福利片 | 麻豆av传媒蜜桃天美传媒 | 亚洲欧美精品伊人久久 | 国模大胆一区二区三区 | 久久久婷婷五月亚洲97号色 | 国产热a欧美热a在线视频 | 国产精品久久久久久无码 | 日本熟妇浓毛 | 超碰97人人做人人爱少妇 | a国产一区二区免费入口 | 日本爽爽爽爽爽爽在线观看免 | 国产三级精品三级男人的天堂 | 无码人妻丰满熟妇区五十路百度 | 牲欲强的熟妇农村老妇女 | 无套内射视频囯产 | 无遮挡啪啪摇乳动态图 | 久久无码中文字幕免费影院蜜桃 | 日本熟妇乱子伦xxxx | 欧美丰满老熟妇xxxxx性 | 精品欧美一区二区三区久久久 | 欧美第一黄网免费网站 | 欧美日本精品一区二区三区 | 久久99国产综合精品 | 国产无遮挡又黄又爽免费视频 | 日本丰满熟妇videos | 欧美喷潮久久久xxxxx | 自拍偷自拍亚洲精品10p | 漂亮人妻洗澡被公强 日日躁 | 亚洲s码欧洲m码国产av | 性开放的女人aaa片 | 中文字幕av日韩精品一区二区 | 亚洲国产av精品一区二区蜜芽 | 成人免费视频视频在线观看 免费 | 黑人巨大精品欧美黑寡妇 | 欧美丰满熟妇xxxx性ppx人交 | 国产网红无码精品视频 | 牲交欧美兽交欧美 | 熟女少妇人妻中文字幕 | 精品国精品国产自在久国产87 | 免费国产黄网站在线观看 | 荡女精品导航 | 波多野结衣一区二区三区av免费 | 国产综合色产在线精品 | 兔费看少妇性l交大片免费 | 天堂久久天堂av色综合 | 国产人妻精品一区二区三区 | 天海翼激烈高潮到腰振不止 | 国产艳妇av在线观看果冻传媒 | www国产亚洲精品久久网站 | 天堂а√在线地址中文在线 | 国产精品丝袜黑色高跟鞋 | 欧洲熟妇精品视频 | 欧美性色19p | 最新国产乱人伦偷精品免费网站 | 丰满少妇弄高潮了www | 婷婷综合久久中文字幕蜜桃三电影 | 日产精品99久久久久久 | 夜精品a片一区二区三区无码白浆 | 少妇性荡欲午夜性开放视频剧场 | 亚洲色无码一区二区三区 | 最新国产乱人伦偷精品免费网站 | 少妇久久久久久人妻无码 | 999久久久国产精品消防器材 | 欧美人与禽zoz0性伦交 | 亚洲日韩av一区二区三区中文 | 亚洲精品无码人妻无码 | 大肉大捧一进一出视频出来呀 | 国产人妻精品午夜福利免费 | 老熟女乱子伦 | 久久人人爽人人爽人人片ⅴ | 国产精品久久久久9999小说 | 久久精品国产亚洲精品 | 亚洲精品一区国产 | 精品国产一区二区三区av 性色 | 俺去俺来也www色官网 | 沈阳熟女露脸对白视频 | 131美女爱做视频 | 日日碰狠狠丁香久燥 | 夜夜夜高潮夜夜爽夜夜爰爰 | 精品久久久久香蕉网 | 日本一卡二卡不卡视频查询 | 丰满人妻翻云覆雨呻吟视频 | 久久 国产 尿 小便 嘘嘘 | 东京热一精品无码av | 亚洲欧洲日本综合aⅴ在线 | 一本大道久久东京热无码av | 国产成人无码av在线影院 | 我要看www免费看插插视频 | 日日摸日日碰夜夜爽av | 中文字幕人妻无码一区二区三区 | 午夜男女很黄的视频 | 国产美女精品一区二区三区 | 无码国内精品人妻少妇 | 国产精品无码久久av | 国产精品亚洲专区无码不卡 | 国产亚洲日韩欧美另类第八页 | 精品日本一区二区三区在线观看 | 香蕉久久久久久av成人 | 亚洲中文字幕久久无码 | 无人区乱码一区二区三区 | 婷婷六月久久综合丁香 | 综合人妻久久一区二区精品 | 亚洲色无码一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 欧美人与动性行为视频 | 天天做天天爱天天爽综合网 | 性色欲网站人妻丰满中文久久不卡 | 亚无码乱人伦一区二区 | 亚洲国产午夜精品理论片 | 欧美激情综合亚洲一二区 | 无遮无挡爽爽免费视频 | 国产成人无码a区在线观看视频app | 国产乱人偷精品人妻a片 | 色婷婷av一区二区三区之红樱桃 | 夜夜躁日日躁狠狠久久av | 精品无码av一区二区三区 | 2019午夜福利不卡片在线 | 久久久久se色偷偷亚洲精品av | 2019nv天堂香蕉在线观看 | 一本大道久久东京热无码av | 国产午夜福利亚洲第一 | 思思久久99热只有频精品66 | 国产两女互慰高潮视频在线观看 | 日日摸天天摸爽爽狠狠97 | 欧美人妻一区二区三区 | 国精产品一区二区三区 | 男人的天堂2018无码 | 亚洲天堂2017无码 | 欧美 日韩 人妻 高清 中文 | 中文字幕乱码人妻二区三区 | 色情久久久av熟女人妻网站 | 波多野结衣av一区二区全免费观看 | 亚洲男人av天堂午夜在 | 亚洲天堂2017无码中文 | 在线а√天堂中文官网 | 中文字幕无线码 | 无套内谢老熟女 | 色窝窝无码一区二区三区色欲 | 国产成人无码av片在线观看不卡 | 成熟人妻av无码专区 | 波多野结衣一区二区三区av免费 | 久久久久久久女国产乱让韩 | 高清无码午夜福利视频 | 国产高清av在线播放 | 亚洲爆乳无码专区 | 熟女少妇人妻中文字幕 | 97精品人妻一区二区三区香蕉 | 野狼第一精品社区 | 国产亚洲美女精品久久久2020 | 国产成人一区二区三区别 | 人人妻人人澡人人爽人人精品浪潮 | 欧美兽交xxxx×视频 | 亚洲精品国产品国语在线观看 | 全球成人中文在线 | 色欲久久久天天天综合网精品 | 日本精品少妇一区二区三区 | 精品国产aⅴ无码一区二区 | 欧洲欧美人成视频在线 | 欧美日本日韩 | 在教室伦流澡到高潮hnp视频 | 国产人妻久久精品二区三区老狼 | 欧美乱妇无乱码大黄a片 | 国产激情无码一区二区app | 精品熟女少妇av免费观看 | 国产艳妇av在线观看果冻传媒 | 免费国产成人高清在线观看网站 | 国内揄拍国内精品人妻 | 成 人影片 免费观看 | 精品无码国产一区二区三区av | 亚洲小说图区综合在线 | 国产精品无码永久免费888 | 欧美国产亚洲日韩在线二区 | 麻豆蜜桃av蜜臀av色欲av | 国产亚洲精品久久久久久国模美 | 波多野42部无码喷潮在线 | 国产乡下妇女做爰 | √天堂中文官网8在线 | 久久亚洲日韩精品一区二区三区 | 中文字幕日产无线码一区 | 一区二区三区高清视频一 | 国产av一区二区精品久久凹凸 | 国产极品视觉盛宴 | 国产办公室秘书无码精品99 | 中文字幕无码乱人伦 | 久久久精品国产sm最大网站 | 一本久久伊人热热精品中文字幕 | 国产精品香蕉在线观看 | 精品久久久中文字幕人妻 | 国产激情无码一区二区app | 国内精品一区二区三区不卡 | 精品国偷自产在线 | 亚洲高清偷拍一区二区三区 | 人人妻人人澡人人爽欧美一区九九 | 国内精品久久毛片一区二区 | 四虎国产精品免费久久 | 国产亚洲视频中文字幕97精品 | 成人片黄网站色大片免费观看 | 又湿又紧又大又爽a视频国产 | 男女超爽视频免费播放 | 98国产精品综合一区二区三区 | 国产精品无码永久免费888 | 精品久久久中文字幕人妻 | 国产精品va在线播放 | 欧美日本免费一区二区三区 | 国产乱人偷精品人妻a片 | 天堂无码人妻精品一区二区三区 | 色偷偷人人澡人人爽人人模 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲中文字幕乱码av波多ji | 国产莉萝无码av在线播放 | 国产精品久久久久9999小说 | 野外少妇愉情中文字幕 | а√资源新版在线天堂 | 曰本女人与公拘交酡免费视频 | 国产亚洲美女精品久久久2020 | 欧美肥老太牲交大战 | 无码免费一区二区三区 | 亚洲欧美日韩国产精品一区二区 | 亚洲国产日韩a在线播放 | 玩弄中年熟妇正在播放 | 国产国语老龄妇女a片 | 精品少妇爆乳无码av无码专区 | 天堂久久天堂av色综合 | 无码人妻精品一区二区三区下载 | 乱人伦人妻中文字幕无码久久网 | 欧美35页视频在线观看 | 国内精品久久毛片一区二区 | 国产精品怡红院永久免费 | 在线播放免费人成毛片乱码 | 97色伦图片97综合影院 | 久久zyz资源站无码中文动漫 | 日日碰狠狠丁香久燥 | 日本肉体xxxx裸交 | 国模大胆一区二区三区 | 蜜桃视频韩日免费播放 | 国产午夜视频在线观看 | 高潮毛片无遮挡高清免费 | 久久熟妇人妻午夜寂寞影院 | 中文字幕乱码中文乱码51精品 | 美女张开腿让人桶 | 免费播放一区二区三区 | 又紧又大又爽精品一区二区 | 无码国产色欲xxxxx视频 | 国产精品18久久久久久麻辣 | 亚洲成av人影院在线观看 | 欧美 日韩 亚洲 在线 | 日韩人妻系列无码专区 | 欧美精品免费观看二区 | 亚洲中文字幕无码中字 | 国产精品沙发午睡系列 | 2019nv天堂香蕉在线观看 | 小sao货水好多真紧h无码视频 | 高中生自慰www网站 | 国产亚洲欧美日韩亚洲中文色 | 无码任你躁久久久久久久 | 国产极品视觉盛宴 | 午夜精品一区二区三区的区别 | 日本丰满熟妇videos | 久久99热只有频精品8 | 日本精品人妻无码免费大全 | 国产偷国产偷精品高清尤物 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产无av码在线观看 | 小泽玛莉亚一区二区视频在线 | 亚洲啪av永久无码精品放毛片 | 亚洲综合色区中文字幕 | 色 综合 欧美 亚洲 国产 | a在线观看免费网站大全 | 精品国产一区二区三区av 性色 | 亚洲精品久久久久avwww潮水 | 伊在人天堂亚洲香蕉精品区 | 国产无套粉嫩白浆在线 | 国产xxx69麻豆国语对白 | 丰满人妻被黑人猛烈进入 | 日本一区二区三区免费播放 | 久在线观看福利视频 | 色一情一乱一伦一视频免费看 | 亚洲精品午夜无码电影网 | 国产av剧情md精品麻豆 | 亚洲综合无码久久精品综合 | 亚洲国产欧美国产综合一区 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲国产精华液网站w | 日本丰满护士爆乳xxxx | 无码乱肉视频免费大全合集 | 2020久久香蕉国产线看观看 | 国产亚洲精品精品国产亚洲综合 | 久久精品中文字幕一区 | 好男人社区资源 | 亚洲日本一区二区三区在线 | www成人国产高清内射 | 六十路熟妇乱子伦 | 麻豆国产97在线 | 欧洲 | 青草青草久热国产精品 | 51国偷自产一区二区三区 | 欧美人妻一区二区三区 | 国产精品无码成人午夜电影 | 国产精品99久久精品爆乳 | 18禁黄网站男男禁片免费观看 | www一区二区www免费 | 永久免费观看国产裸体美女 | 国产片av国语在线观看 | 成人免费视频一区二区 | 中文字幕色婷婷在线视频 | av香港经典三级级 在线 | 中文字幕 亚洲精品 第1页 | 水蜜桃亚洲一二三四在线 | 丰满少妇熟乱xxxxx视频 | 亚洲成色www久久网站 | 人妻无码αv中文字幕久久琪琪布 | 麻豆精品国产精华精华液好用吗 | 国产人妻人伦精品 | 国产免费观看黄av片 | 欧美日韩人成综合在线播放 | 亚洲第一无码av无码专区 | 精品成人av一区二区三区 | 成人综合网亚洲伊人 | 男女性色大片免费网站 | 国产精品人人妻人人爽 | 东京无码熟妇人妻av在线网址 | 亚洲第一网站男人都懂 | 亚洲aⅴ无码成人网站国产app | 性色欲情网站iwww九文堂 | 国产精品亚洲综合色区韩国 | 亚洲一区二区观看播放 | 久久国产精品二国产精品 | 一本色道婷婷久久欧美 | 久久精品国产一区二区三区肥胖 | 亚洲午夜久久久影院 | 国产精品99久久精品爆乳 | 亚洲熟妇色xxxxx欧美老妇 | 久久综合久久自在自线精品自 | 亚洲欧美国产精品久久 | 最新国产乱人伦偷精品免费网站 | 国产乱子伦视频在线播放 | 中文字幕日韩精品一区二区三区 | 欧美精品无码一区二区三区 | 欧美午夜特黄aaaaaa片 | 中文字幕乱码人妻二区三区 | 国产熟妇另类久久久久 | 自拍偷自拍亚洲精品10p | 久在线观看福利视频 | 55夜色66夜色国产精品视频 | 少女韩国电视剧在线观看完整 | 亚洲人成影院在线无码按摩店 | 乱码午夜-极国产极内射 | 中文字幕av日韩精品一区二区 | 国产97在线 | 亚洲 | 99久久亚洲精品无码毛片 | 国产成人精品优优av | 日韩人妻无码一区二区三区久久99 | 国产suv精品一区二区五 | 六十路熟妇乱子伦 | 国产精品久久国产精品99 | 老司机亚洲精品影院 | 亚洲熟妇自偷自拍另类 | 久久久精品成人免费观看 | 午夜男女很黄的视频 | 人人妻人人澡人人爽欧美一区九九 | 波多野结衣 黑人 | 国产亚洲精品久久久久久久久动漫 | 在线观看免费人成视频 | 日韩亚洲欧美精品综合 | 中文字幕日产无线码一区 | 国产熟妇另类久久久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 奇米影视888欧美在线观看 | 国内揄拍国内精品人妻 | 午夜精品久久久内射近拍高清 | 欧美人与物videos另类 | 亚洲一区av无码专区在线观看 | 日本护士xxxxhd少妇 | 少妇厨房愉情理9仑片视频 | 性欧美牲交在线视频 | 在线视频网站www色 | 亚欧洲精品在线视频免费观看 | 少妇厨房愉情理9仑片视频 | 玩弄中年熟妇正在播放 | 波多野结衣乳巨码无在线观看 | 国产绳艺sm调教室论坛 | 欧美日韩一区二区免费视频 | 久久久久99精品国产片 | 综合人妻久久一区二区精品 | 西西人体www44rt大胆高清 | 成人精品一区二区三区中文字幕 | 亚洲狠狠婷婷综合久久 | 中文字幕av无码一区二区三区电影 | 久久综合狠狠综合久久综合88 | 九月婷婷人人澡人人添人人爽 | 荡女精品导航 | 国产精品久久久一区二区三区 | 激情亚洲一区国产精品 | 中文字幕av日韩精品一区二区 | 久久精品国产99精品亚洲 | 亚洲人成网站色7799 | 日本成熟视频免费视频 | 小泽玛莉亚一区二区视频在线 | 国内精品久久毛片一区二区 | 成人影院yy111111在线观看 | 少妇一晚三次一区二区三区 | 亚洲区欧美区综合区自拍区 | 国产人妻精品一区二区三区不卡 | 久久久久久九九精品久 | 大乳丰满人妻中文字幕日本 | 国产偷抇久久精品a片69 | 纯爱无遮挡h肉动漫在线播放 | 亚洲日韩av片在线观看 | 亚洲啪av永久无码精品放毛片 | 97夜夜澡人人爽人人喊中国片 | av人摸人人人澡人人超碰下载 | 精品国精品国产自在久国产87 | 一本大道久久东京热无码av | 国产无遮挡吃胸膜奶免费看 | 又黄又爽又色的视频 | 国产欧美熟妇另类久久久 | 国产97人人超碰caoprom | 成人av无码一区二区三区 | 无码中文字幕色专区 | 国产精品人妻一区二区三区四 | 强伦人妻一区二区三区视频18 | 在线观看免费人成视频 | 久久这里只有精品视频9 | 亚洲精品国偷拍自产在线麻豆 | 亚洲国产av美女网站 | 欧美人与物videos另类 | 无码av中文字幕免费放 | 乱人伦人妻中文字幕无码 | 国产成人亚洲综合无码 | 爆乳一区二区三区无码 | 亚洲国产精品一区二区第一页 | 亚洲精品一区三区三区在线观看 | 亚洲色成人中文字幕网站 | 女人和拘做爰正片视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 欧美日韩视频无码一区二区三 | 国产精品va在线播放 | 丰满人妻一区二区三区免费视频 | 国产午夜手机精彩视频 | 亚洲一区二区三区在线观看网站 | 99久久久国产精品无码免费 | 欧美精品一区二区精品久久 | 高潮喷水的毛片 | 色欲人妻aaaaaaa无码 | 精品国产精品久久一区免费式 | 国产亚洲精品久久久久久久久动漫 | 老熟女重囗味hdxx69 | 亚洲男人av天堂午夜在 | 在线 国产 欧美 亚洲 天堂 | 色一情一乱一伦一视频免费看 | 大地资源网第二页免费观看 | 日本一卡2卡3卡四卡精品网站 | 小sao货水好多真紧h无码视频 | 亚洲中文无码av永久不收费 | 久9re热视频这里只有精品 | 亚洲国产日韩a在线播放 | 欧美亚洲国产一区二区三区 | 麻豆精品国产精华精华液好用吗 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产一区二区三区精品视频 | 黄网在线观看免费网站 | 久久综合色之久久综合 | 久久久中文字幕日本无吗 | 国产精品无码成人午夜电影 | 亚洲人成网站在线播放942 | 亚洲欧美精品aaaaaa片 | 亚洲狠狠婷婷综合久久 | 麻豆国产人妻欲求不满谁演的 | 国产亚洲视频中文字幕97精品 | 国产一区二区三区精品视频 | 日韩人妻无码一区二区三区久久99 | 激情内射日本一区二区三区 | 领导边摸边吃奶边做爽在线观看 | 久久精品中文闷骚内射 | 在线精品亚洲一区二区 | 国产真人无遮挡作爱免费视频 | 午夜免费福利小电影 | 日日摸夜夜摸狠狠摸婷婷 | 欧美日韩一区二区三区自拍 | 国产精品手机免费 | 国产精品99久久精品爆乳 | 一本一道久久综合久久 | 日韩成人一区二区三区在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 波多野结衣高清一区二区三区 | 伊人久久大香线焦av综合影院 | 国产又粗又硬又大爽黄老大爷视 | 亚洲成av人片天堂网无码】 | 精品偷拍一区二区三区在线看 | 秋霞成人午夜鲁丝一区二区三区 | 国产乱人伦偷精品视频 | 国产成人精品三级麻豆 | 伊人久久大香线焦av综合影院 | 国产成人精品三级麻豆 | 一本久道久久综合狠狠爱 | 偷窥日本少妇撒尿chinese | 精品国产青草久久久久福利 | 亚洲啪av永久无码精品放毛片 | 欧美人与物videos另类 | 精品久久久中文字幕人妻 | 日欧一片内射va在线影院 | 亚洲午夜久久久影院 | 中文字幕中文有码在线 | 欧美乱妇无乱码大黄a片 | 日韩欧美群交p片內射中文 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产午夜精品一区二区三区嫩草 | 天天燥日日燥 | 精品人妻中文字幕有码在线 | 欧美野外疯狂做受xxxx高潮 | 亚洲春色在线视频 | 色综合久久88色综合天天 | 动漫av一区二区在线观看 | 色婷婷av一区二区三区之红樱桃 | 午夜福利电影 | 在线亚洲高清揄拍自拍一品区 | 国产精品自产拍在线观看 | 国产亚洲精品久久久久久 | 日本欧美一区二区三区乱码 | 美女黄网站人色视频免费国产 | 成在人线av无码免观看麻豆 | 性生交大片免费看女人按摩摩 | 亚洲精品一区二区三区在线观看 | 中文字幕人妻丝袜二区 | 性色欲网站人妻丰满中文久久不卡 | 一本久道高清无码视频 | 午夜丰满少妇性开放视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 欧美 丝袜 自拍 制服 另类 | 欧美高清在线精品一区 | 国产精品内射视频免费 | 欧美丰满老熟妇xxxxx性 | 亚洲精品久久久久avwww潮水 | 免费无码的av片在线观看 | 国产性生大片免费观看性 | 日本爽爽爽爽爽爽在线观看免 | 免费乱码人妻系列无码专区 | 国产精品成人av在线观看 | 成人试看120秒体验区 | 自拍偷自拍亚洲精品被多人伦好爽 | 午夜福利试看120秒体验区 | 在线播放免费人成毛片乱码 | 人人妻人人澡人人爽欧美一区 | 东京无码熟妇人妻av在线网址 | 国产黑色丝袜在线播放 | 男人的天堂2018无码 | 中文字幕无码免费久久9一区9 | 亚洲国产欧美日韩精品一区二区三区 | 人妻熟女一区 | 极品尤物被啪到呻吟喷水 | 无码播放一区二区三区 | 国产亚洲tv在线观看 | 色综合天天综合狠狠爱 | 精品国产aⅴ无码一区二区 | 久久综合香蕉国产蜜臀av | 精品久久久无码中文字幕 | 激情内射日本一区二区三区 | 国产九九九九九九九a片 | 免费视频欧美无人区码 | 国产亚洲精品久久久久久国模美 | 少妇无码av无码专区在线观看 | 久久99热只有频精品8 | 久久人人爽人人爽人人片ⅴ | 久久久久av无码免费网 | 伊人久久大香线蕉午夜 | 精品无码一区二区三区的天堂 | a片免费视频在线观看 | 成年美女黄网站色大免费全看 | 97se亚洲精品一区 | 久久婷婷五月综合色国产香蕉 | 亚洲日本一区二区三区在线 | 国产免费无码一区二区视频 | 99久久精品日本一区二区免费 | 亚洲国产成人a精品不卡在线 | 一本久久a久久精品亚洲 | 丰满人妻翻云覆雨呻吟视频 | 中文字幕日韩精品一区二区三区 | 无遮挡国产高潮视频免费观看 | aa片在线观看视频在线播放 | 给我免费的视频在线观看 | 色综合久久久无码中文字幕 | 国产无套内射久久久国产 | 国产卡一卡二卡三 | 黑人粗大猛烈进出高潮视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 久久精品视频在线看15 | 国产熟女一区二区三区四区五区 | 久久婷婷五月综合色国产香蕉 | 久在线观看福利视频 | 国产熟妇另类久久久久 | 久久亚洲国产成人精品性色 | 日韩亚洲欧美精品综合 | 国产av一区二区三区最新精品 | 成人免费无码大片a毛片 | 激情内射日本一区二区三区 | 老熟妇仑乱视频一区二区 | 欧美丰满少妇xxxx性 | 色一情一乱一伦一区二区三欧美 | 骚片av蜜桃精品一区 | 蜜桃无码一区二区三区 | 欧美日本精品一区二区三区 | 欧美日韩一区二区综合 | 国产一区二区三区四区五区加勒比 | 久久久久亚洲精品男人的天堂 | 天堂一区人妻无码 | 人妻人人添人妻人人爱 | 精品一区二区三区无码免费视频 | 丰满人妻被黑人猛烈进入 | 亚洲欧美综合区丁香五月小说 | 亚洲精品一区二区三区在线 | 图片小说视频一区二区 | 亚洲国产高清在线观看视频 | 国产成人精品优优av | 中文字幕乱码人妻无码久久 | 午夜精品一区二区三区在线观看 | 国产热a欧美热a在线视频 | v一区无码内射国产 | 少妇太爽了在线观看 | 波多野结衣 黑人 | 婷婷六月久久综合丁香 | 人人妻人人澡人人爽精品欧美 | 内射巨臀欧美在线视频 | 国产激情艳情在线看视频 | 国产成人一区二区三区别 | 无码人妻av免费一区二区三区 | 欧美丰满少妇xxxx性 | 欧美黑人巨大xxxxx | 国产精品爱久久久久久久 | 欧美 亚洲 国产 另类 | 精品久久久无码中文字幕 | 荡女精品导航 | 久久精品无码一区二区三区 | 国产精品美女久久久久av爽李琼 | 久久综合网欧美色妞网 | 国产猛烈高潮尖叫视频免费 | 国产激情艳情在线看视频 | 天堂а√在线地址中文在线 | 无码精品人妻一区二区三区av | 国产电影无码午夜在线播放 | 99视频精品全部免费免费观看 | 亚洲а∨天堂久久精品2021 | 夜夜躁日日躁狠狠久久av | 又湿又紧又大又爽a视频国产 | 日韩少妇内射免费播放 | 精品久久综合1区2区3区激情 | 国产精品久久久久7777 | 亚洲成a人片在线观看无码 | 狠狠躁日日躁夜夜躁2020 | 国产高清不卡无码视频 | 搡女人真爽免费视频大全 | 亚拍精品一区二区三区探花 | 国产一区二区三区精品视频 | 九九在线中文字幕无码 | 亚洲成在人网站无码天堂 | 又大又紧又粉嫩18p少妇 | 国产免费观看黄av片 | 国产精品久久久久久久9999 | 正在播放老肥熟妇露脸 | 国产人成高清在线视频99最全资源 | 欧美刺激性大交 | 日韩欧美中文字幕公布 | 奇米影视888欧美在线观看 | 国产午夜无码精品免费看 | 精品无码一区二区三区爱欲 | 久久精品国产一区二区三区 | 久久综合色之久久综合 | 日本精品久久久久中文字幕 | 亚洲中文字幕久久无码 | 18禁黄网站男男禁片免费观看 | 免费无码肉片在线观看 | 亚洲精品午夜无码电影网 | 色婷婷综合中文久久一本 | 四十如虎的丰满熟妇啪啪 | 国产精品无套呻吟在线 | 99久久婷婷国产综合精品青草免费 | 一本大道伊人av久久综合 | 99久久婷婷国产综合精品青草免费 | 麻豆国产人妻欲求不满 | 欧美丰满熟妇xxxx | 鲁鲁鲁爽爽爽在线视频观看 | 免费乱码人妻系列无码专区 | 性啪啪chinese东北女人 | 少妇性荡欲午夜性开放视频剧场 | 伊人久久婷婷五月综合97色 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久精品国产99久久6动漫 | www国产亚洲精品久久网站 | 无码人妻久久一区二区三区不卡 | 3d动漫精品啪啪一区二区中 | 国产农村妇女高潮大叫 | 欧美丰满熟妇xxxx性ppx人交 | 成在人线av无码免观看麻豆 | 久久久久久久人妻无码中文字幕爆 | 日本大乳高潮视频在线观看 | 久久久久国色av免费观看性色 | 亚洲国产av精品一区二区蜜芽 | 亚洲色偷偷男人的天堂 | 无码国产色欲xxxxx视频 | 国产特级毛片aaaaaa高潮流水 | 啦啦啦www在线观看免费视频 | 亚洲欧美国产精品久久 | 亚洲国产精品成人久久蜜臀 | 熟妇女人妻丰满少妇中文字幕 | 青青青手机频在线观看 | 成熟妇人a片免费看网站 | 亚洲精品久久久久中文第一幕 | 成人试看120秒体验区 | 人人爽人人澡人人人妻 | 在线观看欧美一区二区三区 | 婷婷六月久久综合丁香 | 亚洲精品一区二区三区在线 | 日韩精品a片一区二区三区妖精 | 久久zyz资源站无码中文动漫 | 日韩少妇白浆无码系列 | 免费中文字幕日韩欧美 | 久久久久人妻一区精品色欧美 | 夜精品a片一区二区三区无码白浆 | 色综合久久久无码网中文 | 一区二区三区高清视频一 | 成人av无码一区二区三区 | 久久久av男人的天堂 | 国产精品第一国产精品 | 亚洲精品一区二区三区大桥未久 | 风流少妇按摩来高潮 | 水蜜桃色314在线观看 | 亚洲精品中文字幕乱码 | www国产亚洲精品久久网站 | 国产精品视频免费播放 | 妺妺窝人体色www婷婷 | a在线观看免费网站大全 | 中文字幕+乱码+中文字幕一区 | 亚洲日韩中文字幕在线播放 | 国产绳艺sm调教室论坛 | 丰满人妻一区二区三区免费视频 | 正在播放老肥熟妇露脸 | 2019nv天堂香蕉在线观看 | 日本精品少妇一区二区三区 | 色欲av亚洲一区无码少妇 | 人妻少妇被猛烈进入中文字幕 | 中文字幕无码免费久久9一区9 | 一本色道婷婷久久欧美 | 午夜福利一区二区三区在线观看 | 色欲久久久天天天综合网精品 | 免费观看黄网站 | 亚洲伊人久久精品影院 | 欧美色就是色 | 久久熟妇人妻午夜寂寞影院 | 波多野结衣av一区二区全免费观看 | 国产乱人偷精品人妻a片 | www一区二区www免费 | 国产真人无遮挡作爱免费视频 | 少妇一晚三次一区二区三区 | 国内揄拍国内精品人妻 | 久久99精品国产.久久久久 | 久久国内精品自在自线 | 乱人伦人妻中文字幕无码久久网 | 亚洲日韩av一区二区三区中文 | 久久久久久久久蜜桃 | 男女猛烈xx00免费视频试看 | 动漫av一区二区在线观看 | 国产精品第一国产精品 | 国产av人人夜夜澡人人爽麻豆 | 欧美阿v高清资源不卡在线播放 | 伊人久久婷婷五月综合97色 | 黑人粗大猛烈进出高潮视频 | 丰满人妻一区二区三区免费视频 | 国产精品亚洲五月天高清 | 乱人伦中文视频在线观看 | 亚洲精品美女久久久久久久 | 国产精品亚洲а∨无码播放麻豆 | 欧美自拍另类欧美综合图片区 | 国产成人无码午夜视频在线观看 | 亲嘴扒胸摸屁股激烈网站 | 天堂一区人妻无码 | 中文精品无码中文字幕无码专区 | 亚洲欧美中文字幕5发布 | 5858s亚洲色大成网站www | 国产精品福利视频导航 | 奇米影视7777久久精品人人爽 | 东京热无码av男人的天堂 | 少妇性l交大片 | 亚洲中文无码av永久不收费 | 日本乱偷人妻中文字幕 | 四虎永久在线精品免费网址 | 欧美性猛交内射兽交老熟妇 | 久久久中文久久久无码 | 熟女少妇人妻中文字幕 | 国产精品亚洲专区无码不卡 | 欧美亚洲国产一区二区三区 | 欧美兽交xxxx×视频 | 国产农村妇女高潮大叫 | 午夜福利电影 | 久久伊人色av天堂九九小黄鸭 | 天天拍夜夜添久久精品大 | 天天av天天av天天透 | 国产av久久久久精东av | 小泽玛莉亚一区二区视频在线 | 国产午夜手机精彩视频 | 国产国产精品人在线视 | 性色欲网站人妻丰满中文久久不卡 | 999久久久国产精品消防器材 | 久久国内精品自在自线 | 免费观看又污又黄的网站 | 奇米影视7777久久精品人人爽 | 国产成人综合色在线观看网站 | 亚洲综合无码久久精品综合 | 日韩av无码中文无码电影 | 欧美成人高清在线播放 | 国产国产精品人在线视 | 欧美激情内射喷水高潮 | 东京热男人av天堂 | 免费中文字幕日韩欧美 | 美女张开腿让人桶 | 亚洲自偷自拍另类第1页 | 天天摸天天透天天添 | 欧美喷潮久久久xxxxx | 夜夜高潮次次欢爽av女 | a国产一区二区免费入口 | 成在人线av无码免观看麻豆 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久精品无码一区二区三区 | 国产熟女一区二区三区四区五区 | 爆乳一区二区三区无码 | 国产一区二区三区精品视频 | 免费观看激色视频网站 | 少妇厨房愉情理9仑片视频 | 国产精品国产三级国产专播 | 午夜福利不卡在线视频 | 88国产精品欧美一区二区三区 | 日本高清一区免费中文视频 | av人摸人人人澡人人超碰下载 | 蜜桃无码一区二区三区 | 亚洲国产精品成人久久蜜臀 | 亚洲一区二区观看播放 | 亚洲一区二区三区国产精华液 | 亚洲欧美日韩成人高清在线一区 | 四十如虎的丰满熟妇啪啪 | 国产乱子伦视频在线播放 | 久久综合九色综合97网 | 国产亚洲日韩欧美另类第八页 | 麻豆国产人妻欲求不满谁演的 | 成熟女人特级毛片www免费 | 红桃av一区二区三区在线无码av | 日韩少妇内射免费播放 | 中文亚洲成a人片在线观看 | 久久国产精品_国产精品 | 无码国内精品人妻少妇 | 图片小说视频一区二区 | 精品国精品国产自在久国产87 | 欧美高清在线精品一区 | 国产婷婷色一区二区三区在线 | 亚洲热妇无码av在线播放 | 精品无码国产自产拍在线观看蜜 | 精品久久久久久人妻无码中文字幕 | 亚洲成av人综合在线观看 | 中文字幕日韩精品一区二区三区 | 野狼第一精品社区 | 欧美自拍另类欧美综合图片区 | 久久国产精品偷任你爽任你 | 精品国产一区av天美传媒 | 久久国产精品二国产精品 | 亚洲成熟女人毛毛耸耸多 | 熟女少妇在线视频播放 | 午夜精品久久久久久久 | 少妇性l交大片 | 超碰97人人射妻 | 无码人妻丰满熟妇区五十路百度 | 免费看男女做好爽好硬视频 | 亚洲欧美日韩成人高清在线一区 | 欧美日韩综合一区二区三区 | 久久久久亚洲精品男人的天堂 | 无码纯肉视频在线观看 | 成年美女黄网站色大免费视频 | 久久久亚洲欧洲日产国码αv | 亚洲日韩一区二区 | 欧美精品一区二区精品久久 | 无码中文字幕色专区 | 最近的中文字幕在线看视频 | 亚洲国产av美女网站 | 偷窥日本少妇撒尿chinese | 3d动漫精品啪啪一区二区中 | 丝袜人妻一区二区三区 | 少妇无码av无码专区在线观看 | 亚洲欧美综合区丁香五月小说 | 中文字幕人妻无码一区二区三区 | 亚洲成av人综合在线观看 | 色欲人妻aaaaaaa无码 | 国产人妻人伦精品1国产丝袜 | 麻豆果冻传媒2021精品传媒一区下载 | 精品人妻人人做人人爽夜夜爽 | 精品成在人线av无码免费看 | 国产欧美熟妇另类久久久 | 免费中文字幕日韩欧美 | 一本大道久久东京热无码av | 夜夜躁日日躁狠狠久久av | 最新版天堂资源中文官网 | 国产美女极度色诱视频www | 国产精品va在线观看无码 | 熟女少妇在线视频播放 | 国产精品亚洲lv粉色 | 国产猛烈高潮尖叫视频免费 | 成人影院yy111111在线观看 | 少妇久久久久久人妻无码 | 亚洲精品国产精品乱码不卡 | 高清无码午夜福利视频 | 大胆欧美熟妇xx | 永久黄网站色视频免费直播 | 亚洲国产欧美日韩精品一区二区三区 | 波多野结衣乳巨码无在线观看 | 色婷婷香蕉在线一区二区 | 亚洲欧美精品aaaaaa片 | 人人妻人人藻人人爽欧美一区 | 丰满岳乱妇在线观看中字无码 | 国产做国产爱免费视频 | 亚洲精品鲁一鲁一区二区三区 | 扒开双腿疯狂进出爽爽爽视频 | 日韩欧美群交p片內射中文 | 天天做天天爱天天爽综合网 | 欧美三级不卡在线观看 | 亚洲中文字幕在线观看 | 18禁止看的免费污网站 | 99国产欧美久久久精品 | 性史性农村dvd毛片 | 成熟女人特级毛片www免费 | 天天躁日日躁狠狠躁免费麻豆 | 2019午夜福利不卡片在线 | 2019nv天堂香蕉在线观看 | 国产精品久久久久影院嫩草 | 久久久久人妻一区精品色欧美 | 日本成熟视频免费视频 | 亚洲热妇无码av在线播放 | 日本熟妇人妻xxxxx人hd | 人人澡人摸人人添 | 一二三四在线观看免费视频 | 性开放的女人aaa片 | 色五月五月丁香亚洲综合网 | 少妇一晚三次一区二区三区 | 精品 日韩 国产 欧美 视频 | 午夜丰满少妇性开放视频 | 亚洲国产欧美国产综合一区 | 久久综合狠狠综合久久综合88 | 国产精品人人妻人人爽 | 国产亚洲人成在线播放 | 丝袜 中出 制服 人妻 美腿 | 天天摸天天透天天添 | 无码人妻久久一区二区三区不卡 | 亚洲啪av永久无码精品放毛片 | 一本久道久久综合婷婷五月 | 一本色道婷婷久久欧美 | 伊人久久大香线蕉午夜 | 日韩成人一区二区三区在线观看 | 又湿又紧又大又爽a视频国产 | 国产亚av手机在线观看 | 图片区 小说区 区 亚洲五月 | 亚洲欧美精品伊人久久 | 亚洲日韩乱码中文无码蜜桃臀网站 | 日日摸夜夜摸狠狠摸婷婷 | 国产绳艺sm调教室论坛 | 国产超级va在线观看视频 | 国产高清不卡无码视频 | 国产精品国产三级国产专播 | 亚洲精品成人av在线 | 色综合久久久无码网中文 | 国产精品二区一区二区aⅴ污介绍 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲一区二区三区 | 久久www免费人成人片 | 亚洲精品久久久久久一区二区 | 国产内射爽爽大片视频社区在线 | 日本熟妇人妻xxxxx人hd | 国产亚av手机在线观看 | 久久99精品久久久久久 | 熟妇人妻无乱码中文字幕 | 乱人伦中文视频在线观看 | 欧美国产日产一区二区 | 无码人妻精品一区二区三区不卡 | 1000部啪啪未满十八勿入下载 | 狠狠cao日日穞夜夜穞av | 日本欧美一区二区三区乱码 | 55夜色66夜色国产精品视频 | 欧美激情内射喷水高潮 | 国产成人亚洲综合无码 | 香蕉久久久久久av成人 | 亚洲日韩av一区二区三区四区 | 日韩视频 中文字幕 视频一区 | 中文字幕中文有码在线 | 未满小14洗澡无码视频网站 | 男女性色大片免费网站 | 亚洲日韩中文字幕在线播放 | 玩弄少妇高潮ⅹxxxyw | 国产精品久久久久无码av色戒 | 四虎国产精品免费久久 | 精品夜夜澡人妻无码av蜜桃 | 欧美 日韩 亚洲 在线 | 色综合久久久无码网中文 | 全球成人中文在线 | 少妇人妻大乳在线视频 | 老司机亚洲精品影院无码 | 国产一区二区三区精品视频 | 日本护士xxxxhd少妇 | 国产精品无套呻吟在线 | 欧美日韩综合一区二区三区 | 国产口爆吞精在线视频 | 高清国产亚洲精品自在久久 | 欧美丰满熟妇xxxx | 中文无码成人免费视频在线观看 | 99久久久无码国产aaa精品 | 露脸叫床粗话东北少妇 | 欧美国产日韩久久mv | 18无码粉嫩小泬无套在线观看 | 欧美日本免费一区二区三区 | 亚洲aⅴ无码成人网站国产app | 国内老熟妇对白xxxxhd | 亚洲中文字幕乱码av波多ji | 女人被爽到呻吟gif动态图视看 | 少妇性俱乐部纵欲狂欢电影 | 精品一二三区久久aaa片 | 国产成人无码av在线影院 | 国产特级毛片aaaaaa高潮流水 | 日产精品99久久久久久 | 亚洲精品美女久久久久久久 | 国产又爽又黄又刺激的视频 | 亚洲精品国产精品乱码不卡 | 亚洲国产成人a精品不卡在线 | 黄网在线观看免费网站 | 老熟妇仑乱视频一区二区 | 久久aⅴ免费观看 | 成人无码影片精品久久久 | 任你躁国产自任一区二区三区 | 日日麻批免费40分钟无码 | 日韩亚洲欧美中文高清在线 | 成人精品天堂一区二区三区 | 亚洲乱码国产乱码精品精 | 色一情一乱一伦一区二区三欧美 | 成人欧美一区二区三区黑人 | 自拍偷自拍亚洲精品被多人伦好爽 | 精品久久久中文字幕人妻 | 国产精品久久国产三级国 | 水蜜桃亚洲一二三四在线 | 亚洲欧洲中文日韩av乱码 | 国内精品九九久久久精品 | 日本乱人伦片中文三区 | 国产一区二区三区四区五区加勒比 | 中文亚洲成a人片在线观看 | 美女黄网站人色视频免费国产 | a国产一区二区免费入口 | 午夜性刺激在线视频免费 | www一区二区www免费 | 国产精品久久久午夜夜伦鲁鲁 | 国产亚洲精品久久久久久国模美 | 国产人妻久久精品二区三区老狼 | 人人妻人人澡人人爽精品欧美 | 亚洲男人av天堂午夜在 | 无码乱肉视频免费大全合集 | 国产成人无码av一区二区 | 亚洲色欲色欲天天天www | 亚洲欧美色中文字幕在线 | 国产亚洲美女精品久久久2020 | 白嫩日本少妇做爰 | 亚洲aⅴ无码成人网站国产app | 九一九色国产 | 亚洲成a人片在线观看日本 | 台湾无码一区二区 | 九九综合va免费看 | 国产女主播喷水视频在线观看 | 久久综合给久久狠狠97色 | 国产农村乱对白刺激视频 | 精品国产aⅴ无码一区二区 | 亚洲精品一区二区三区大桥未久 | 67194成是人免费无码 | 国产成人无码区免费内射一片色欲 | 性欧美熟妇videofreesex | 国产一区二区三区影院 | 欧洲精品码一区二区三区免费看 | 无码国产乱人伦偷精品视频 | 无遮无挡爽爽免费视频 | 丰满人妻一区二区三区免费视频 | 偷窥村妇洗澡毛毛多 | 欧美性猛交内射兽交老熟妇 | 鲁一鲁av2019在线 | 亚洲国产精品久久久久久 | 欧美刺激性大交 | 波多野结衣一区二区三区av免费 | 波多野结衣av一区二区全免费观看 | 东京热男人av天堂 | 风流少妇按摩来高潮 | 精品国偷自产在线视频 | 日韩 欧美 动漫 国产 制服 | 又粗又大又硬又长又爽 | 国产真人无遮挡作爱免费视频 | 国产精品二区一区二区aⅴ污介绍 | 国产精品丝袜黑色高跟鞋 | 成人综合网亚洲伊人 | 午夜肉伦伦影院 | 黑人巨大精品欧美一区二区 | 国产精品久久精品三级 | 亚洲精品久久久久avwww潮水 | 露脸叫床粗话东北少妇 | 国产精品久久国产三级国 | 97精品国产97久久久久久免费 | 国产av人人夜夜澡人人爽麻豆 | 国产精品自产拍在线观看 | 无码纯肉视频在线观看 | 亚洲色偷偷男人的天堂 | 欧美国产日产一区二区 | 少妇一晚三次一区二区三区 | 亚洲国产欧美国产综合一区 | 国产又粗又硬又大爽黄老大爷视 | 欧美 日韩 人妻 高清 中文 | 国产无遮挡又黄又爽免费视频 | 国产亚洲人成在线播放 | 狠狠色噜噜狠狠狠7777奇米 | 天堂亚洲2017在线观看 | 久久成人a毛片免费观看网站 | 国产精品久久久久久亚洲影视内衣 | 无码纯肉视频在线观看 | 欧美放荡的少妇 | 日产精品高潮呻吟av久久 | 久久99精品久久久久久动态图 | 精品无码国产一区二区三区av | 欧美熟妇另类久久久久久不卡 | 久久www免费人成人片 | 精品国精品国产自在久国产87 | 夫妻免费无码v看片 | 久久久久久a亚洲欧洲av冫 | 国内精品一区二区三区不卡 | 国产 精品 自在自线 | 精品国产福利一区二区 | 欧美日韩综合一区二区三区 | 最新国产乱人伦偷精品免费网站 | 亚洲一区二区三区在线观看网站 | 激情亚洲一区国产精品 | 国产suv精品一区二区五 | 蜜臀av无码人妻精品 | 亚洲精品午夜无码电影网 | 日本丰满护士爆乳xxxx | 久久精品无码一区二区三区 | 97夜夜澡人人爽人人喊中国片 | 日本熟妇人妻xxxxx人hd | 国产在线精品一区二区高清不卡 | 亚洲熟熟妇xxxx | 四虎国产精品一区二区 | 久久精品国产精品国产精品污 | 久久午夜无码鲁丝片午夜精品 | 国产精品18久久久久久麻辣 | 精品人妻人人做人人爽夜夜爽 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲中文字幕无码中字 | av无码不卡在线观看免费 | 人妻aⅴ无码一区二区三区 | 亚洲精品综合五月久久小说 | 国产精品怡红院永久免费 | 亚洲熟妇色xxxxx欧美老妇y | 少妇无套内谢久久久久 | 国产成人一区二区三区别 | 沈阳熟女露脸对白视频 | 波多野结衣av一区二区全免费观看 | 日日摸日日碰夜夜爽av | 国产va免费精品观看 | 日本熟妇乱子伦xxxx | 国内老熟妇对白xxxxhd | 成人无码精品一区二区三区 | 亚拍精品一区二区三区探花 | 伊人久久大香线蕉亚洲 | 疯狂三人交性欧美 | 亚洲欧美综合区丁香五月小说 | 中文无码成人免费视频在线观看 | 欧美性生交活xxxxxdddd | 久久亚洲国产成人精品性色 | 东京一本一道一二三区 | 日韩精品无码一本二本三本色 | 久久精品国产99精品亚洲 | 人妻少妇精品视频专区 | 日本护士xxxxhd少妇 | 少妇久久久久久人妻无码 | 美女黄网站人色视频免费国产 | 亚洲精品国偷拍自产在线麻豆 | 玩弄中年熟妇正在播放 | 一区二区三区高清视频一 | aa片在线观看视频在线播放 | 国产凸凹视频一区二区 | 久久国产36精品色熟妇 | 综合人妻久久一区二区精品 | 国产人妻人伦精品 | 国产精品无码mv在线观看 | 熟妇人妻中文av无码 | 久久久亚洲欧洲日产国码αv | 国产农村妇女高潮大叫 | 成人欧美一区二区三区黑人 | 一区二区三区高清视频一 | 国产国语老龄妇女a片 | 免费无码av一区二区 | 99国产精品白浆在线观看免费 | 久久综合久久自在自线精品自 | 国产高潮视频在线观看 | 精品久久久无码中文字幕 | 精品偷自拍另类在线观看 | 中文无码伦av中文字幕 | 亚洲精品综合一区二区三区在线 | 丰满少妇熟乱xxxxx视频 | 国产精品亚洲专区无码不卡 | 天天躁日日躁狠狠躁免费麻豆 | 国产乱人无码伦av在线a | yw尤物av无码国产在线观看 | 国内丰满熟女出轨videos | 国产片av国语在线观看 | 亚洲乱亚洲乱妇50p | 大色综合色综合网站 | 亚洲国精产品一二二线 | 青草青草久热国产精品 | 国内精品人妻无码久久久影院蜜桃 | 亚洲高清偷拍一区二区三区 | 荫蒂添的好舒服视频囗交 | 无码人妻久久一区二区三区不卡 | 人人爽人人澡人人高潮 | 激情内射亚州一区二区三区爱妻 | 婷婷五月综合缴情在线视频 | 国产无av码在线观看 | 女高中生第一次破苞av | 99久久亚洲精品无码毛片 | 亚洲成a人一区二区三区 | 亚洲国产精品一区二区第一页 | 无码人妻丰满熟妇区五十路百度 | 99精品无人区乱码1区2区3区 | 成熟妇人a片免费看网站 | 久久综合色之久久综合 | 国产精品人人爽人人做我的可爱 | 理论片87福利理论电影 | 中文久久乱码一区二区 | 狠狠色噜噜狠狠狠7777奇米 | 国产亚洲精品久久久闺蜜 | 国产精品99爱免费视频 | 日本一区二区更新不卡 | 乱人伦人妻中文字幕无码 | 男女性色大片免费网站 | 亚洲国产精品久久久久久 | 国产精品久久久久久亚洲毛片 | 日本乱人伦片中文三区 | 人人爽人人澡人人高潮 | 欧美黑人性暴力猛交喷水 | 未满成年国产在线观看 | 欧美亚洲日韩国产人成在线播放 | 久久久精品国产sm最大网站 | 免费男性肉肉影院 | 精品久久久久久亚洲精品 | 精品人妻人人做人人爽夜夜爽 | 日韩欧美群交p片內射中文 | 国产内射老熟女aaaa | 精品国产一区二区三区四区在线看 | 无码精品人妻一区二区三区av | 狠狠综合久久久久综合网 | 无码av最新清无码专区吞精 | 久久精品中文字幕大胸 | 少妇性荡欲午夜性开放视频剧场 | 荫蒂添的好舒服视频囗交 | 狠狠噜狠狠狠狠丁香五月 | 成人精品视频一区二区三区尤物 | 色欲av亚洲一区无码少妇 | 少妇被黑人到高潮喷出白浆 | 国产精品亚洲综合色区韩国 | 波多野结衣av一区二区全免费观看 | 欧美黑人乱大交 | 99视频精品全部免费免费观看 | 亚洲熟妇自偷自拍另类 | 奇米影视7777久久精品 | 久久精品国产一区二区三区 | 亚洲色欲色欲欲www在线 | 成人性做爰aaa片免费看 | 日本护士xxxxhd少妇 | 成人欧美一区二区三区黑人 | 亚洲成a人片在线观看无码 | 国产超碰人人爽人人做人人添 | 中文字幕亚洲情99在线 | 两性色午夜免费视频 | 18精品久久久无码午夜福利 | 在线播放无码字幕亚洲 | 久久精品中文闷骚内射 | 精品一区二区不卡无码av | 精品国产福利一区二区 | 麻豆国产人妻欲求不满 | 亚洲精品无码国产 | 天堂亚洲2017在线观看 | 丰满妇女强制高潮18xxxx | 麻豆蜜桃av蜜臀av色欲av | 日韩精品无码一区二区中文字幕 | 中文字幕人妻无码一区二区三区 | 色一情一乱一伦一区二区三欧美 | 欧美精品一区二区精品久久 | 一本久道久久综合婷婷五月 | 国产精品无码成人午夜电影 | 国产做国产爱免费视频 | 国产精品亚洲а∨无码播放麻豆 | 免费人成在线视频无码 | 国产成人无码a区在线观看视频app | 影音先锋中文字幕无码 | 午夜肉伦伦影院 |