精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

微服務(wù)之服務(wù)掛的太干脆,Nacos還沒反應(yīng)過來,怎么辦?

開發(fā) 架構(gòu)
我們知道通過Nacos等注冊中心可以實(shí)現(xiàn)微服務(wù)的治理。但引入了Nacos之后,真的就像理想中那樣所有服務(wù)都由Nacos來完美的管理了嗎?Too young,too simple!

[[408757]]

本文轉(zhuǎn)載自微信公眾號(hào)「程序新視界」,作者二師兄。轉(zhuǎn)載本文請(qǐng)聯(lián)系程序新視界公眾號(hào)。

前言

我們知道通過Nacos等注冊中心可以實(shí)現(xiàn)微服務(wù)的治理。但引入了Nacos之后,真的就像理想中那樣所有服務(wù)都由Nacos來完美的管理了嗎?Too young,too simple!

今天這篇文章就跟大家聊聊,當(dāng)服務(wù)異常宕機(jī),Nacos還未反應(yīng)過來時(shí),可能會(huì)發(fā)生的狀況以及現(xiàn)有的解決方案。

Nacos的健康檢查

故事還要從Nacos對(duì)服務(wù)實(shí)例的健康檢查說起。

Nacos目前支持臨時(shí)實(shí)例使用心跳上報(bào)方式維持活性。Nacos客戶端會(huì)維護(hù)一個(gè)定時(shí)任務(wù),每隔5秒發(fā)送一次心跳請(qǐng)求,以確保自己處于活躍狀態(tài)。

Nacos服務(wù)端在15秒內(nèi)如果沒收到客戶端的心跳請(qǐng)求,會(huì)將該實(shí)例設(shè)置為不健康,在30秒內(nèi)沒收到心跳,會(huì)將這個(gè)臨時(shí)實(shí)例摘除。

如果服務(wù)突然掛掉

在正常業(yè)務(wù)場景下,如果關(guān)閉掉一個(gè)服務(wù)實(shí)例,默認(rèn)情況下會(huì)在關(guān)閉之前主動(dòng)調(diào)用注銷接口,將Nacos服務(wù)端注冊的實(shí)例清除掉。

如果服務(wù)實(shí)例還沒來得注銷已經(jīng)被干掉,比如正常kill一個(gè)應(yīng)用,應(yīng)用會(huì)處理完手頭的事情再關(guān)閉,但如果使用kill -9來強(qiáng)制殺掉,就會(huì)出現(xiàn)無法注銷的情況。

針對(duì)這種意外情況,服務(wù)注銷接口是無法被正確調(diào)用的,此時(shí)就需要健康檢查來確保該實(shí)例被刪除。

通過上面分析的Nacos健康檢查機(jī)制,我們會(huì)發(fā)現(xiàn)服務(wù)突然掛掉之后,會(huì)有15秒的間隙。在這段時(shí)間,Nacos服務(wù)端還沒感知到服務(wù)掛掉,依舊將該服務(wù)提供給客戶端使用。

此時(shí),必然會(huì)有一部分請(qǐng)求被分配到異常的實(shí)例上。針對(duì)這種情況,又該如何處理呢?如何確保服務(wù)不影響正常的業(yè)務(wù)呢?

自定義心跳周期

針對(duì)上面的問題,我們最容易想到的是解決方案就是縮短默認(rèn)的健康檢查時(shí)間。

原本15秒才能發(fā)現(xiàn)服務(wù)異常,標(biāo)記為不健康,那么是否可以將其縮短呢?這樣錯(cuò)誤影響的范圍便可以變小,變得可控。

針對(duì)此,Nacos 1.1.0之后提供了自定義心跳周期的配置。如果你基于客戶端進(jìn)行操作,在創(chuàng)建實(shí)例時(shí),可在實(shí)例的metadata數(shù)據(jù)中進(jìn)行心跳周期、健康檢查過期時(shí)間及刪除實(shí)例時(shí)間的配置。

相關(guān)示例如下:

  1. String serviceName = randomDomainName(); 
  2.  
  3. Instance instance = new Instance(); 
  4. instance.setIp("1.1.1.1"); 
  5. instance.setPort(9999); 
  6. Map<String, String> metadata = new HashMap<String, String>(); 
  7. // 設(shè)置心跳的周期,單位為毫秒 
  8. metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL, "3000"); 
  9. // 設(shè)置心跳超時(shí)時(shí)間,單位為毫秒;服務(wù)端6秒收不到客戶端心跳,會(huì)將該客戶端注冊的實(shí)例設(shè)為不健康: 
  10. metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT, "6000"); 
  11. // 設(shè)置實(shí)例刪除的超時(shí)時(shí)間,單位為毫秒;即服務(wù)端9秒收不到客戶端心跳,會(huì)將該客戶端注冊的實(shí)例刪除: 
  12. metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT, "9000"); 
  13. instance.setMetadata(metadata); 
  14.  
  15. naming.registerInstance(serviceName, instance); 

如果是基于Spring Cloud Alibaba的項(xiàng)目,可通過如下方式配置:

  1. spring: 
  2.   application: 
  3.     nameuser-service-provider 
  4.   cloud: 
  5.     nacos: 
  6.       discovery: 
  7.         server-addr: 127.0.0.1:8848 
  8.         heart-beat-interval: 1000 #心跳間隔。單位為毫秒。 
  9.         heart-beat-timeout: 3000 #心跳暫停。單位為毫秒。 
  10.         ip-delete-timeout: 6000 #Ip刪除超時(shí)。單位為毫秒。 

在某些Spring Cloud版本中,上述配置可能無法生效。也可以直接配置metadata的數(shù)據(jù)。配置方式如下:

  1. spring: 
  2.   application: 
  3.     nameuser-service-provider 
  4.   cloud: 
  5.     nacos: 
  6.       discovery: 
  7.         server-addr: 127.0.0.1:8848 
  8.         metadata: 
  9.           preserved.heart.beat.interval: 1000 #心跳間隔。時(shí)間單位:毫秒。 
  10.           preserved.heart.beat.timeout: 3000 #心跳暫停。時(shí)間單位:毫秒。即服務(wù)端6秒收不到客戶端心跳,會(huì)將該客戶端注冊的實(shí)例設(shè)為不健康; 
  11.           preserved.ip.delete.timeout: 6000 #Ip刪除超時(shí)。時(shí)間單位:秒。即服務(wù)端9秒收不到客戶端心跳,會(huì)將該客戶端注冊的實(shí)例刪除; 

其中第一種配置,感興趣的朋友可以看一下NacosServiceRegistryAutoConfiguration中相關(guān)組件的實(shí)例化。在某些版本中由于NacosRegistration和NacosDiscoveryProperties實(shí)例化的順序問題會(huì)導(dǎo)致配置未生效。此時(shí)可考慮第二種配置形式。

上面的配置項(xiàng),最終會(huì)在NacosServiceRegistry在進(jìn)行實(shí)例注冊時(shí)通過getNacosInstanceFromRegistration方法進(jìn)行封裝:

  1. private Instance getNacosInstanceFromRegistration(Registration registration) { 
  2.         Instance instance = new Instance(); 
  3.         instance.setIp(registration.getHost()); 
  4.         instance.setPort(registration.getPort()); 
  5.         instance.setWeight(nacosDiscoveryProperties.getWeight()); 
  6.         instance.setClusterName(nacosDiscoveryProperties.getClusterName()); 
  7.         instance.setEnabled(nacosDiscoveryProperties.isInstanceEnabled()); 
  8.         // 設(shè)置Metadata 
  9.         instance.setMetadata(registration.getMetadata()); 
  10.         instance.setEphemeral(nacosDiscoveryProperties.isEphemeral()); 
  11.         return instance; 
  12.     } 

其中setMetadata方法即是。

通過Nacos提供的心跳周期配置,再結(jié)合自身的業(yè)務(wù)場景,我們就可以選擇最適合的心跳檢測機(jī)制,盡最大可能避免對(duì)業(yè)務(wù)的影響。

這個(gè)方案看起來心跳周期越短越好,但這樣會(huì)對(duì)Nacos服務(wù)端造成一定的壓力。如果服務(wù)器允許,還是可以盡量縮短的。

Nacos的保護(hù)閾值

在上述配置中,我們還要結(jié)合自身的項(xiàng)目情況考慮一下Nacos保護(hù)閾值的配置。

在Nacos中針對(duì)注冊的服務(wù)實(shí)例有一個(gè)保護(hù)閾值的配置項(xiàng)。該配置項(xiàng)的值為0-1之間的浮點(diǎn)數(shù)。

本質(zhì)上,保護(hù)閾值是⼀個(gè)⽐例值(當(dāng)前服務(wù)健康實(shí)例數(shù)/當(dāng)前服務(wù)總實(shí)例數(shù))。

⼀般流程下,服務(wù)消費(fèi)者要從Nacos獲取可⽤實(shí)例有健康/不健康狀態(tài)之分。Nacos在返回實(shí)例時(shí),只會(huì)返回健康實(shí)例。

但在⾼并發(fā)、⼤流量場景會(huì)存在⼀定的問題。比如,服務(wù)A有100個(gè)實(shí)例,98個(gè)實(shí)例都處于不健康狀態(tài),如果Nacos只返回這兩個(gè)健康實(shí)例的話。流量洪峰的到來可能會(huì)直接打垮這兩個(gè)服務(wù),進(jìn)一步產(chǎn)生雪崩效應(yīng)。

保護(hù)閾值存在的意義在于當(dāng)服務(wù)A健康實(shí)例數(shù)/總實(shí)例數(shù) < 保護(hù)閾值時(shí),說明健康的實(shí)例不多了,保護(hù)閾值會(huì)被觸發(fā)(狀態(tài)true)。

Nacos會(huì)把該服務(wù)所有的實(shí)例信息(健康的+不健康的)全部提供給消費(fèi)者,消費(fèi)者可能訪問到不健康的實(shí)例,請(qǐng)求失敗,但這樣也⽐造成雪崩要好。犧牲了⼀些請(qǐng)求,保證了整個(gè)系統(tǒng)的可⽤。

 

在上面的解決方案中,我們提到了可以自定義心跳周期,其中能夠看到實(shí)例的狀態(tài)會(huì)由健康、不健康和移除。這些參數(shù)的定義也要考慮到保護(hù)閾值的觸發(fā),避免雪崩效應(yīng)的發(fā)生。

SpringCloud的請(qǐng)求重試

即便上面我們對(duì)心跳周期進(jìn)行了調(diào)整,但在某一實(shí)例發(fā)生故障時(shí),還會(huì)有短暫的時(shí)間出現(xiàn)Nacos服務(wù)沒來得及將異常實(shí)例剔除的情況。此時(shí),如果消費(fèi)端請(qǐng)求該實(shí)例,依然會(huì)出現(xiàn)請(qǐng)求失敗。

為了構(gòu)建更為健壯的應(yīng)用系統(tǒng),我們希望當(dāng)請(qǐng)求失敗的時(shí)候能夠有一定策略的重試機(jī)制,而不是直接返回失敗。這個(gè)時(shí)候就需要開發(fā)人來實(shí)現(xiàn)重試機(jī)制。

在微服務(wù)架構(gòu)中,通常我們會(huì)基于Ribbon或Spring Cloud LoadBalancer來進(jìn)行負(fù)載均衡處理。除了像Ribbon、Feign框架自身已經(jīng)支持的請(qǐng)求重試和請(qǐng)求轉(zhuǎn)移功能。Spring Cloud也提供了標(biāo)準(zhǔn)的loadbalancer相關(guān)配置。

關(guān)于Ribbon框架的使用我們在這里就不多說了,重點(diǎn)來看看Spring Cloud是如何幫我們實(shí)現(xiàn)的。

異常模擬

我們先來模擬一下異常情況,將上面講到的先將上面的心跳周期調(diào)大,以方便測試。

然后啟動(dòng)兩個(gè)provider和一個(gè)consumer服務(wù),負(fù)載均衡基于Spring Cloud LoadBalancer來處理。此時(shí)通過consumer進(jìn)行請(qǐng)求,你會(huì)發(fā)現(xiàn)LoadBalancer通過輪訓(xùn)來將請(qǐng)求均勻的分配到兩個(gè)provider上(打印日志)。

此時(shí),通過kill -9命令將其中一個(gè)provider關(guān)掉。此時(shí),再通過consumer進(jìn)行請(qǐng)求,會(huì)發(fā)現(xiàn)成功一次,失敗一次,這樣交替出現(xiàn)。

解決方案

我們通過Spring Cloud提供的LoadBalancerProperties配置類中定義的配置項(xiàng)來對(duì)重試機(jī)制進(jìn)行配置,詳細(xì)的配置項(xiàng)目可以對(duì)照該類的屬性。

在consumer的application配置中添加retry相關(guān)配置:

  1. spring: 
  2.   application: 
  3.     nameuser-service-consumer 
  4.   cloud: 
  5.     nacos: 
  6.       discovery: 
  7.         server-addr: 127.0.0.1:8848 
  8.     loadbalancer: 
  9.       retry: 
  10.         # 開啟重試 
  11.         enabled: true 
  12.         # 同一實(shí)例最大嘗試次數(shù) 
  13.         max-retries-on-same-service-instance: 1 
  14.         # 其他實(shí)例最大嘗試次數(shù) 
  15.         max-retries-on-next-service-instance: 2 
  16.         # 所有操作開啟重試(慎重使用,特別是POST提交,冪等性保障) 
  17.         retry-on-all-operations: true 

上述配置中默認(rèn)retry是開啟的。

max-retries-on-same-service-instance指的是當(dāng)前實(shí)例嘗試的次數(shù),包括第一次請(qǐng)求,這里配置為1,也就是第一次請(qǐng)求失敗就轉(zhuǎn)移到其他實(shí)例了。當(dāng)然也可以配置大于1的數(shù)值,這樣還會(huì)在當(dāng)前實(shí)例再嘗試一下。

max-retries-on-next-service-instance配置的轉(zhuǎn)移請(qǐng)求其他實(shí)例時(shí)最大嘗試次數(shù)。

retry-on-all-operations默認(rèn)為false,也就是說只支持Get請(qǐng)求的重試。這里設(shè)置為true支持所有的重試。既然涉及到重試,就需要保證好業(yè)務(wù)的冪等性。

當(dāng)進(jìn)行上述配置之后,再次演示異常模擬,會(huì)發(fā)現(xiàn)即使服務(wù)掛掉,在Nacos中還存在,依舊可以正常進(jìn)行業(yè)務(wù)處理。

關(guān)于Ribbon或其他同類組件也有類似的解決方案,大家可以相應(yīng)調(diào)研一下。

解決方案的坑

在使用Spring Cloud LoadBalancer時(shí)其實(shí)有一個(gè)坑,你可能會(huì)遇到上述配置不生效的情況。這是為什么呢?

其實(shí)是因?yàn)橐蕾囈氲膯栴},Spring Cloud LoadBalancer的重試機(jī)制是基于spring-retry的,如果沒有引入對(duì)應(yīng)的依賴,便會(huì)導(dǎo)致配置無法生效。而官方文檔業(yè)務(wù)未給出說明。

  1. <dependency> 
  2.     <groupId>org.springframework.retry</groupId> 
  3.     <artifactId>spring-retry</artifactId> 
  4. </dependency> 

 

另外,上述實(shí)例是基于Spring Cloud 2020.0.0版本,其他版本可能有不同的配置。

小結(jié)

在使用微服務(wù)的時(shí)候并不是將Spring Cloud的組件集成進(jìn)去就完事了。這篇文章我們可以看到即便集成了Nacos,還會(huì)因?yàn)樾奶鴻C(jī)制來進(jìn)行一些折中處理,比如調(diào)整心跳頻次。

同時(shí),即便調(diào)整了心跳參數(shù),還需要利用其它組件來兼顧請(qǐng)求異常時(shí)的重試和防止系統(tǒng)雪崩的發(fā)生。關(guān)注一下吧,持續(xù)更新微服務(wù)系列實(shí)戰(zhàn)內(nèi)容。

 

責(zé)任編輯:武曉燕 來源: 程序新視界
相關(guān)推薦

2021-01-11 11:14:35

微服務(wù)架構(gòu)調(diào)用

2024-07-01 09:55:13

2023-07-11 08:55:26

系統(tǒng)白名單AO

2024-07-08 11:30:35

2021-07-07 07:44:20

微服務(wù)Nacos緩存

2013-01-29 13:22:24

系統(tǒng)服務(wù)

2010-03-04 09:06:35

Windows 7Apache安裝

2022-11-18 07:40:57

2011-11-24 18:38:54

服務(wù)器負(fù)載

2023-11-12 21:58:41

Java“假死”

2024-07-02 10:58:53

2021-06-29 21:36:21

微服務(wù)Nacos日志

2018-08-01 14:20:11

微服務(wù)架構(gòu)人工智能

2021-07-13 10:00:00

微服務(wù)SleuthElasticSear

2013-07-29 11:28:32

Android 4.3制造商反應(yīng)

2022-09-05 09:02:01

服務(wù)器CPU服務(wù)

2018-05-10 12:15:09

串口服務(wù)器故障

2011-11-15 22:13:48

服務(wù)器死機(jī)故障排除

2018-01-30 09:25:04

2018-03-21 11:14:22

云計(jì)算云計(jì)算提供商數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲综合在线小说| 亚洲裸体xxxx| 免费特级黄色片| 女人18毛片水真多18精品| 精品一区二区三| 欧美精品日韩综合在线| 欧美日韩午夜爽爽| 久蕉依人在线视频| 国产综合久久久久久鬼色| 在线观看视频亚洲| 免费黄视频在线观看| 超碰免费公开在线| 99久久99久久久精品齐齐| 国产精品草莓在线免费观看| 国产美女网站视频| 欧美日韩看看2015永久免费 | 欧美香蕉大胸在线视频观看| 亚洲ai欧洲av| 日批视频免费播放| 蜜臀国产一区二区三区在线播放| 国产午夜精品视频免费不卡69堂| 欧美在线观看视频网站| 香蕉成人app免费看片| 风间由美性色一区二区三区 | а√中文在线8| 91理论电影在线观看| 亚洲伊人久久大香线蕉av| 无码人妻aⅴ一区二区三区有奶水| 欧美猛男同性videos| 精品国产乱子伦一区| 91亚洲精品久久久蜜桃借种| 都市激情亚洲综合| 亚洲超丰满肉感bbw| 国产日本欧美在线| 在线免费av电影| 久久综合成人精品亚洲另类欧美 | 日韩精品久久久久久福利| 免费成人在线视频网站| 婷婷色在线资源| 亚洲欧洲韩国日本视频| 日本一区二区三区在线视频| 人人妻人人玩人人澡人人爽| 国产精品一区二区91| 91精品国产综合久久男男| 97人妻一区二区精品视频| 9国产精品视频| 国内精品伊人久久| 国产一国产二国产三| 欧美精选在线| 色综合久久88色综合天天看泰| 国产一级伦理片| 都市激情亚洲欧美| 欧美成人aa大片| 亚洲性图第一页| 99久久人爽人人添人人澡| 欧美大胆一级视频| 潘金莲一级淫片aaaaaaa| 日韩高清二区| 精品91自产拍在线观看一区| 国产xxx在线观看 | 日本sm极度另类视频| 久久久久久久久久影院| 国产伦理一区| 57pao成人永久免费视频| 看免费黄色录像| 我不卡神马影院| 色综合老司机第九色激情| 欧美一级高潮片| 99亚洲一区二区| 久久99精品久久久久久琪琪| 久草视频在线免费看| 国产一区清纯| 欧美一级片免费在线| 蜜臀尤物一区二区三区直播| 青娱乐精品在线视频| 国产玖玖精品视频| 国产美女主播在线观看| 高清av一区二区| 91免费高清视频| va婷婷在线免费观看| jvid福利写真一区二区三区| 欧美精品在线一区| 亚洲日本国产精品| 国产性色一区二区| 樱空桃在线播放| 2018av在线| 欧美综合视频在线观看| 在线免费看v片| 日韩电影不卡一区| 深夜成人在线观看| 黄色激情视频在线观看| 老妇喷水一区二区三区| 成人黄色片网站| 蜜桃视频污在线观看| 国产欧美日韩激情| 久久福利一区二区| 肉色欧美久久久久久久免费看| 午夜精品久久久久久久99水蜜桃| 一级性生活视频| 伊人久久在线| 欧美一级精品大片| 这里只有久久精品| 欧美精品入口| 国产精品久久97| 蜜桃久久一区二区三区| 国产精品国产自产拍高清av | 日韩在线看片| 欧美日韩国产成人在线观看| 懂色av中文字幕| 成人午夜精品在线| 国内视频一区二区| 国产成人l区| 在线一区二区视频| 日韩va在线观看| 亚洲ab电影| 欧美高清视频免费观看| 国产成人av免费| 91在线小视频| www国产免费| yy6080久久伦理一区二区| 亚洲精品电影网站| 国产精品久久久久久久精| 日韩国产欧美一区二区三区| 国产嫩草一区二区三区在线观看 | 亚洲图片欧洲图片av| 精品在线免费观看视频| 国产美女av一区二区三区| 日本一区二区精品视频| 精品麻豆一区二区三区| 在线视频一区二区三| 亚洲av成人精品一区二区三区| 免费观看久久av| 日韩中文av在线| 男人天堂视频在线| 国产一区二区三区黄视频| 亚洲二区自拍| 91精品店在线| 中文国产成人精品| 中文字幕 欧美激情| 91在线视频免费观看| 妞干网在线视频观看| 97久久综合区小说区图片区| 亚洲人成啪啪网站| 在线观看 亚洲| 久久色在线观看| 特级西西444| 中文字幕影音在线| 日韩不卡在线观看| 日韩精品手机在线| 99免费精品在线观看| 青青草精品视频在线| 国产精品极品国产中出| 久久久这里只有精品视频| 精品人妻一区二区三区日产乱码| 91色porny蝌蚪| 欧美丰满熟妇bbbbbb百度| 看全色黄大色大片免费久久久| 色一区av在线| 国产又大又粗又长| 亚洲免费av在线| 性生交大片免费看l| 国产真实久久| 精品国产一区二区三区四区精华| 日韩大片在线永久免费观看网站| 国产精品xx| 日韩精品在线视频观看| 色屁屁影院www国产高清麻豆| 国产在线一区二区| 91精品国产毛片武则天| 成人在线视频观看| 久久久精品久久| 成人毛片在线精品国产| 欧美日韩国产精品一区二区三区四区 | 一区二区黄色片| 日韩高清不卡在线| 欧美另类网站| 粉嫩91精品久久久久久久99蜜桃 | 国产精品手机在线观看| 噜噜爱69成人精品| 伊人久久婷婷色综合98网| 日韩免费精品| 日本成人免费在线| 黄色精品在线观看| 亚洲国产99精品国自产| 日韩成人短视频| 成人福利视频在线看| 欧美日韩一区二区在线免费观看| 蜜桃久久久久| 国产精品亚洲美女av网站| 国产精品影院在线| 91成人在线观看喷潮| 日韩在线一卡二卡| 99热精品一区二区| 999在线精品视频| 亚洲女同在线| 日本在线视频www色| 欧美人体视频| 亚洲最大激情中文字幕| 婷婷激情一区| 欧美高清在线视频观看不卡| 国产在线黄色| 欧美成人精品福利| 在线播放一级片| 亚洲色图第一区| 黄色正能量网站| 国产精品影音先锋| 亚洲国产精品毛片av不卡在线| 国产精品免费不| 国产精品久久久久aaaa九色| 免费在线播放电影| 亚洲色图13p| 六月丁香色婷婷| 91精品国产免费| 中文字幕 人妻熟女| 亚洲成人精品在线观看| 亚洲国产123| 国产日韩精品一区二区三区 | 国产成人精品亚洲日本在线桃色| 国产精品啪啪啪视频| 国产精品欧美在线观看| 国产美女精品视频免费观看| 人在线成免费视频| 久久久久久久国产精品| 欧美成熟毛茸茸| 亚洲精品一区二区三区香蕉| 国产人妖一区二区三区| 欧美偷拍一区二区| 麻豆成人在线视频| 最近日韩中文字幕| 超薄肉色丝袜一二三| 国产激情一区二区三区四区| 小泽玛利亚视频在线观看| 麻豆精品网站| 精品一卡二卡三卡| 小嫩嫩精品导航| 日日摸日日碰夜夜爽av| aⅴ色国产欧美| 少妇av一区二区三区无码| 狠狠爱成人网| 日韩精品手机在线观看| 一区二区国产在线| 性做爰过程免费播放| 久久精品青草| 久久综合一区二区三区| 日本免费成人| 国产欧美精品va在线观看| 色豆豆成人网| 欧美激情免费观看| 欧美卡一卡二| 久久久久久久一区二区| 国产精品69xx| 久久av资源网站| a视频在线播放| 欧美日本高清视频| 久久久123| 97精品一区二区视频在线观看| 欧美日韩在线看片| 久久久精品网站| 污污视频在线看| 欧美国产日韩二区| 亚洲电影观看| 国产精品wwwwww| 9999精品视频| 99精品国产高清在线观看| 97久久亚洲| 亚洲qvod图片区电影| 人人九九精品视频| 国产精品亚洲综合| 国产精品麻豆| 国产精品露脸自拍| 欧美视频免费看| 国产精品久久久久久久久久久新郎| 国产精品国精产品一二| 欧美专区国产专区| 黄色18在线观看| 欧美伊久线香蕉线新在线| 福利小视频在线| 欧美亚洲在线视频| 欧美大陆国产| 99在线观看| 竹菊久久久久久久| 中文字幕在线乱| 亚洲毛片播放| 乌克兰美女av| 丁香一区二区三区| 香蕉视频免费网站| 久久香蕉国产线看观看99| 一区二区三区在线播放视频| 亚洲综合男人的天堂| 久草网在线观看| 91黄色免费观看| 性做久久久久久久| 日韩精品专区在线影院重磅| 少妇一区二区三区四区| 亚洲成色777777在线观看影院| www.黄色国产| 亚洲香蕉成视频在线观看 | 国产乱码精品一区二区三| 午夜剧场高清版免费观看| 成人一区二区三区视频在线观看| 稀缺呦国内精品呦| 亚洲国产精品av| 免费看日韩毛片| 在线电影国产精品| 日韩资源在线| 久久久久久久久久久91| 川上优av中文字幕一区二区| 91成人在线观看国产| 成人av在线播放| 欧美日韩在线观看一区| 欧美日韩亚洲一区| 国产免费中文字幕| 久久精品亚洲国产奇米99| 久久网中文字幕| 在线不卡的av| www.在线视频.com| 欧美中文字幕在线观看| 亚洲爱爱视频| 国产在线一区二区三区欧美 | 视频一区二区三| 国产精品97| 国产激情在线观看视频| 99久久免费视频.com| 久草福利资源在线观看| 91精品在线麻豆| 熟妇人妻一区二区三区四区| 欧美成aaa人片在线观看蜜臀| 波多野在线观看| 亚洲精品日韩av| 亚洲色图国产| 久久久久久久久久久久久久久国产 | 国产成人av| 欧美v在线观看| 99re免费视频精品全部| 国产乡下妇女做爰| 欧美中文字幕一二三区视频| aaaa一级片| 裸体女人亚洲精品一区| 伊人久久大香伊蕉在人线观看热v| 亚洲自拍另类欧美丝袜| 欧美人妖在线| 大肉大捧一进一出好爽动态图| 久久99久久99| 国产精品免费在线视频| 欧美日本国产视频| 久cao在线| 91精品免费| 黄色另类av| 中文字幕在线永久| 中文字幕一区二区三中文字幕| 国产尤物在线视频| 日韩av最新在线| 午夜精品成人av| 亚洲一区二区三区加勒比| 国产欧美午夜| brazzers精品成人一区| 色老汉一区二区三区| 丰满肥臀噗嗤啊x99av| 欧美激情第1页| 亚洲春色h网| 91色国产在线| 97精品电影院| 99超碰在线观看| 一区二区亚洲精品国产| 亚洲精品成人一区| 国风产精品一区二区| a级精品国产片在线观看| 少妇太紧太爽又黄又硬又爽| 亚洲一区二区福利| 亚洲一区有码| 久无码久无码av无码| 久久女同互慰一区二区三区| 日韩精选在线观看| 久久不射电影网| 香蕉一区二区| 男人的天堂最新网址| 亚洲一区二区三区四区五区黄| 国产精品伦理一区| 国语对白做受69| 精品一区不卡| 欧美久久久久久久久久久| 一本大道综合伊人精品热热 | 中文字幕一区二区三区四区五区| 日韩专区中文字幕一区二区| 我要看一级黄色录像| 亚洲电影免费观看高清完整版在线观看| av网站免费在线观看| 成人午夜小视频| 中日韩男男gay无套| 亚洲 欧美 国产 另类| 欧美撒尿777hd撒尿| 成人在线观看黄色| 亚洲一区二区自拍| 午夜影院日韩| 欧美卡一卡二卡三| 日韩精品一区二区三区中文不卡| 日本电影在线观看| 日本成人三级| 丁香五精品蜜臀久久久久99网站| 国产无遮挡免费视频|