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

云原生系統(tǒng)之彈性模式

云計(jì)算 云原生
在分布式體系結(jié)構(gòu)中,當(dāng)服務(wù)B不響應(yīng)來(lái)自服務(wù)A的網(wǎng)絡(luò)請(qǐng)求會(huì)發(fā)生什么?當(dāng)服務(wù)C暫時(shí)不可用,其他調(diào)用C的服務(wù)被阻塞時(shí)該怎么辦?”

[[410918]]

本文轉(zhuǎn)載自微信公眾號(hào)「精益碼農(nóng)」,作者小碼甲 。轉(zhuǎn)載本文請(qǐng)聯(lián)系精益碼農(nóng)公眾號(hào)。

大綱

1.云原生系統(tǒng)的彈性模式resiliency pattern

  • 1.1 服務(wù)故障的雪崩效應(yīng)
  • 1.2 回應(yīng)之前云原生--彈性請(qǐng)求的疑問(wèn)?

2. 彈性模式:作用在下游請(qǐng)求消息上

3. 短期中斷的響應(yīng)碼

4. Polly經(jīng)典策略

5. Golang 斷路器模式

德國(guó)哲學(xué)家尼采說(shuō)過(guò):那些殺不死我的東西,只會(huì)讓我更加強(qiáng)大。

01云原生系統(tǒng)的彈性模式

結(jié)合最近的工作經(jīng)驗(yàn),本次繼續(xù)聊一聊云原生的彈性模式 (resilience not scale), 這也是回應(yīng)《現(xiàn)代云原生設(shè)計(jì)理念》中

“在分布式體系結(jié)構(gòu)中,當(dāng)服務(wù)B不響應(yīng)來(lái)自服務(wù)A的網(wǎng)絡(luò)請(qǐng)求會(huì)發(fā)生什么?

當(dāng)服務(wù)C暫時(shí)不可用,其他調(diào)用C的服務(wù)被阻塞時(shí)該怎么辦?”

由于網(wǎng)絡(luò)原因或自身原因,B、C服務(wù)不能及時(shí)響應(yīng),服務(wù)A發(fā)起的請(qǐng)求將被阻塞(直到B、C響應(yīng)),此時(shí)若大量請(qǐng)求涌入,服務(wù)A的線(xiàn)程資源將被消耗殆盡,服務(wù)A的處理性能受到極大影響,進(jìn)而影響下游依賴(lài)的external clients/backend srv。

故障會(huì)傳播,造成連鎖反應(yīng),對(duì)整個(gè)分布式結(jié)構(gòu)造成災(zāi)難性后果,這就是服務(wù)故障的“雪崩效應(yīng)”。

當(dāng)B、C服務(wù)不可用,下游客戶(hù)端/backend srv能做什么?

客觀(guān)上請(qǐng)求不通,執(zhí)行預(yù)定的彈性策略:重試/斷路?

02彈性模式:作用在下游的請(qǐng)求消息上

彈性模式是系統(tǒng)面對(duì)故障仍然保持工作狀態(tài)的能力,它不是為了避免故障,而是接受故障并嘗試去面對(duì)它。

Polly是一個(gè)全面的.NET彈性和瞬時(shí)錯(cuò)誤處理庫(kù),允許開(kāi)發(fā)者以流暢和線(xiàn)程安全的方式表達(dá)彈性策略。

策略 場(chǎng)景 行為
Retry 抖動(dòng)/瞬時(shí)錯(cuò)誤,短時(shí)間內(nèi)自動(dòng)恢復(fù) 在特定操作上配置重試行為
Circuit Breaker 在短期內(nèi)不大可能恢復(fù) 當(dāng)故障超過(guò)閾值,在一段時(shí)間內(nèi)快速失敗
Timeout   限制調(diào)用者等待響應(yīng)的時(shí)間
Bulkhead   將操作限制在固定的資源池,防止故障傳播
Cache   自動(dòng)存儲(chǔ)響應(yīng)
Bulkhead   一旦失敗,定義結(jié)構(gòu)化的行為

一般將彈性策略作用到各種請(qǐng)求消息上(外部客戶(hù)端請(qǐng)求或后端服務(wù)請(qǐng)求)。

其目的是補(bǔ)償暫時(shí)不可用的服務(wù)請(qǐng)求。

03短期中斷的響應(yīng)碼

 

Http Status code 原因
404 not found
408 request timeout
429 two many requests
502 bad gateway
503 service unavailable
504 gateway timeout

 

正確規(guī)范的響應(yīng)碼能幫助開(kāi)發(fā)者盡快確認(rèn)故障。

執(zhí)行故障策略時(shí),也能有的放矢,比如只重試那些由失敗引起的操作,對(duì)于403UnAuthorized不可重試。

04Polly的經(jīng)典策略

  • Retry:對(duì)網(wǎng)絡(luò)抖動(dòng)/瞬時(shí)錯(cuò)誤可以執(zhí)行retry策略(預(yù)期故障可以很快恢復(fù)),
  • Circuit Breaker:為避免無(wú)效重試導(dǎo)致的故障傳播,在特定時(shí)間內(nèi)如果失敗次數(shù)到達(dá)閾值,斷路器打開(kāi)(在一定時(shí)間內(nèi)快速失敗);

同時(shí)啟動(dòng)一個(gè)timer,斷路器進(jìn)入半開(kāi)模式(發(fā)出少量請(qǐng)求,請(qǐng)求成功則認(rèn)為故障已經(jīng)修復(fù),進(jìn)入關(guān)閉狀態(tài),重置失敗計(jì)數(shù)器。)

  1. services.AddHttpClient("small"
  2.         //降級(jí) 
  3.         .AddPolicyHandler(Policy<HttpResponseMessage>.HandleInner<Exception>().FallbackAsync(new HttpResponseMessage(),async b => 
  4.         { 
  5.            // 1、降級(jí)打印異常 
  6.           Console.WriteLine($"服務(wù)開(kāi)始降級(jí),上游異常消息:{b.Exception.Message}"); 
  7.           // 2、降級(jí)后的數(shù)據(jù) 
  8.           b.Result.Content= new StringContent("請(qǐng)求太多,請(qǐng)稍后重試", Encoding.UTF8, "text/html"); 
  9.           b.Result.StatusCode = HttpStatusCode.TooManyRequests; 
  10.           await Task.CompletedTask; 
  11.         })) 
  12.         //熔斷                                                       
  13.         .AddPolicyHandler(Policy<HttpResponseMessage>.Handle<Exception>()  
  14.            .CircuitBreakerAsync( 
  15.               3,    // 打開(kāi)斷路器之前失敗的次數(shù) 
  16.               TimeSpan.FromSeconds(20), // 斷路器的開(kāi)啟的時(shí)間間隔 
  17.               (ex, ts) =>  //熔斷器開(kāi)啟 
  18.               { 
  19.                   Console.WriteLine($"服務(wù)斷路器開(kāi)啟,異常消息:{ex.Exception.Message}"); 
  20.                   Console.WriteLine($"服務(wù)斷路器開(kāi)啟的時(shí)間:{ts.TotalSeconds}s"); 
  21.               },  
  22.               () => { Console.WriteLine($"服務(wù)斷路器重置"); },   //斷路器重置事件 
  23.               () => { Console.WriteLine($"服務(wù)斷路器半開(kāi)啟(一會(huì)開(kāi),一會(huì)關(guān))"); }  //斷路器半開(kāi)啟事件 
  24.             ) 
  25.         ) 
  26.         //重試 
  27.         .AddPolicyHandler(Policy<HttpResponseMessage>.Handle<Exception>().RetryAsync(3)) 
  28.        // 超時(shí)  
  29.        .AddPolicyHandler(Policy.TimeoutAsync<HttpResponseMessage>(TimeSpan.FromSeconds(2)));  
  30.         

??當(dāng)一個(gè)應(yīng)用存在多個(gè)Http調(diào)用,按照上面的經(jīng)典寫(xiě)法,代碼中會(huì)混雜大量重復(fù)、與業(yè)務(wù)無(wú)關(guān)的口水代碼,

思考如何優(yōu)雅的對(duì)批量HttpClient做彈性策略。

這里提供兩個(gè)實(shí)踐:

① 博客園馳名博主edisonchou: 使用AOP框架,動(dòng)態(tài)織入Polly

② 某佚名大牛,使用反射加配置實(shí)現(xiàn)的PollyHttpClientServiceCollectionExtension擴(kuò)展類(lèi), 支持在配置文件指定HttpClientName

[[410921]]

05Golang的斷路器

  1. go get github.com/sony/gobreaker 

func NewCircuitBreaker(st Settings) *CircuitBreaker 實(shí)例化斷路器對(duì)象, 參數(shù)如下:

  1. type Settings struct { 
  2.     Name          string 
  3.     MaxRequests   uint32       #半開(kāi)狀態(tài)允許的最大請(qǐng)求數(shù)量,默認(rèn)為0,允許1個(gè)請(qǐng)求 
  4.     Interval      time.Duration 
  5.     Timeout       time.Duration  # 斷路器進(jìn)入半開(kāi)狀態(tài)的間隔,默認(rèn)60s 
  6.     ReadyToTrip   func(counts Counts) bool   # 切換狀態(tài)的邏輯 
  7.     OnStateChange func(name string, from State, to State) 

下面這個(gè)示例演示了:請(qǐng)求谷歌網(wǎng)站,失敗比例達(dá)到60%,就切換到"打開(kāi)"狀態(tài),同時(shí)開(kāi)啟60sTimer,到60s進(jìn)入“半開(kāi)”狀態(tài)(允許發(fā)起一個(gè)請(qǐng)求),如果成功, 斷路器進(jìn)入"關(guān)閉"狀態(tài);失敗則重新進(jìn)入“打開(kāi)”狀態(tài),并重置60sTimer

  1. package main 
  2. import ( 
  3.     "fmt" 
  4.     "io/ioutil" 
  5.     "log" 
  6.     "net/http" 
  7.     "github.com/sony/gobreaker" 
  8. var cb *gobreaker.CircuitBreaker 
  9. func init() { 
  10.     var st gobreaker.Settings 
  11.     st.Name = "HTTP GET" 
  12.     st.ReadyToTrip = func(counts gobreaker.Counts) bool { 
  13.         failureRatio := float64(counts.TotalFailures) / float64(counts.Requests) 
  14.         return counts.Requests >= 3 && failureRatio >= 0.6 
  15.     } 
  16.     cb = gobreaker.NewCircuitBreaker(st) 
  17. // Get wraps http.Get in CircuitBreaker. 
  18. func Get(url string) ([]byte, error) { 
  19.     body, err := cb.Execute(func() (interface{}, error) { 
  20.         resp, err := http.Get(url) 
  21.         if err != nil { 
  22.             return nil, err 
  23.         } 
  24.         defer resp.Body.Close() 
  25.         body, err := ioutil.ReadAll(resp.Body) 
  26.         if err != nil { 
  27.             return nil, err 
  28.         } 
  29.         return body, nil 
  30.     }) 
  31.     if err != nil { 
  32.         return nil, err 
  33.     } 
  34.     return body.([]byte), nil 
  35. func main() { 
  36.     body, err := Get("http://www.google.com/robots.txt"
  37.     if err != nil { 
  38.         log.Fatal(err) 
  39.     } 
  40.     fmt.Println(string(body)) 

總結(jié)

本文記錄了云原生系統(tǒng)的彈性模式:通過(guò)預(yù)設(shè)策略直面失敗,補(bǔ)償暫時(shí)不可用的請(qǐng)求、避免故障傳播, 這對(duì)于實(shí)現(xiàn)微服務(wù)高可用、彈性容錯(cuò)相當(dāng)重要。

 

責(zé)任編輯:武曉燕 來(lái)源: 精益碼農(nóng)
相關(guān)推薦

2023-08-30 16:22:03

云原生云計(jì)算

2023-09-13 11:58:17

云原生反模式

2023-07-26 16:20:36

云原生云計(jì)算

2023-07-13 15:24:13

云計(jì)算云原生架構(gòu)

2020-03-04 09:56:56

網(wǎng)絡(luò)安全云原生容器

2023-08-22 15:40:12

云原生云計(jì)算

2022-08-18 17:58:38

華為云華為云TechWav云原生數(shù)據(jù)庫(kù)

2023-02-08 07:55:33

K8sHPA服務(wù)器

2022-09-07 21:43:34

云原生存儲(chǔ)技術(shù)消息隊(duì)列

2022-05-26 15:02:35

Docker容器云原生

2021-11-15 08:00:00

云原生端點(diǎn)漏洞

2023-10-12 09:48:00

微服務(wù)工具

2010-05-06 14:38:09

云計(jì)算

2023-01-05 14:41:24

2014-11-17 15:16:34

2023-02-17 13:08:31

2023-07-10 15:47:05

2022-12-26 08:14:57

K8sCronhpa定時(shí)彈性

2024-06-25 13:02:25

2015-01-19 09:50:12

阿里云12306云計(jì)算
點(diǎn)贊
收藏

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

女人抽搐喷水高潮国产精品| av资源在线看片| 蜜臀av一区二区在线观看| www.欧美精品一二三区| 欧美熟妇精品一区二区| 国产网站在线| 国产精品久久久久久久久免费相片| 95av在线视频| 中文字幕超碰在线| 国产精品成人a在线观看| 亚洲成人三级在线| 色乱码一区二区三区在线| 99久久精品免费看国产小宝寻花| 国产日韩高清在线| 俄罗斯精品一区二区| 高潮毛片又色又爽免费 | 日本不卡一二三区| 国产乱码久久久久| 久久综合九色| 欧美精品福利在线| 久久久久人妻一区精品色| 加勒比中文字幕精品| 欧美老年两性高潮| 男人亚洲天堂网| 青草av在线| 国产精品成人在线观看| 蜜桃91精品入口| 亚洲精品福利网站| 韩国三级中文字幕hd久久精品| 5252色成人免费视频| 真实国产乱子伦对白在线| 欧美一级精品| 精品亚洲男同gayvideo网站| 特黄特色免费视频| 成人在线视频国产| 欧美日韩在线一区二区| 麻豆av免费在线| 白浆视频在线观看| 午夜免费久久看| 9191国产视频| 成人av福利| 中文字幕在线一区免费| 日韩高清av| 黄色大片在线免费观看| 久久这里只精品最新地址| 国产一区在线免费| 亚洲精品一区二区三区蜜桃| 国产精品亚洲人在线观看| 国产综合色香蕉精品| 中文无码av一区二区三区| 久久精品人人做人人爽电影蜜月| 97超级碰碰碰| 欧美日韩一二三四区| 国产精品日韩欧美一区| 欧美一区视频在线| 国产精品久久久久久久久久久久久久久久久| 国产一区亚洲| 欧美精品18videos性欧| 国产一级在线观看视频| 国模一区二区三区| 欧美激情国产精品| 欧美人妻精品一区二区免费看| 亚洲综合色站| 欧美大片免费观看| 中文字幕日韩一级| 国产视频久久| 日韩免费在线视频| 中文字幕 国产| 久久99国产精品免费| 91久久国产综合久久91精品网站 | 久久精品国产亚洲一区二区三区 | 免费成人三级| 国产视频精品在线| 亚洲综合欧美综合| 99热精品久久| 欧美国产亚洲视频| 久久国产精品免费看| 久久久久久色| 国产日韩欧美中文| 亚洲黄色在线播放| 国产亚洲一区二区三区四区| 一本一道久久a久久精品综合| 麻豆网站在线看| 亚洲午夜国产一区99re久久| www.av中文字幕| 综合另类专区| 在线观看不卡视频| 亚洲精品乱码久久久久久9色| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 国产精品亚洲欧美在线播放| 国产.精品.日韩.另类.中文.在线.播放| 成人欧美一区二区三区视频| 少妇性bbb搡bbb爽爽爽欧美| 国产精品短视频| 免费无码毛片一区二三区| 欧美xnxx| 日韩三级免费观看| 野外性满足hd| 欧美激情一区| 国产精品吊钟奶在线| а√中文在线资源库| 久久久久综合网| 老司机激情视频| 91福利精品在线观看| 日韩欧美一级特黄在线播放| 日韩中文字幕有码| 亚洲香蕉网站| 国产激情综合五月久久| 丰满人妻一区二区三区四区53 | 国产精品一区二区三区99| 美乳视频一区二区| 美女精品视频| 欧美日韩精品免费观看视频| 2一3sex性hd| 欧美成人综合| 成人美女av在线直播| 九色在线视频| 红桃av永久久久| 性xxxxxxxxx| 午夜影院欧美| 国产精品免费小视频| 性感美女福利视频| 亚洲综合激情网| 日本美女视频一区| 国产精品探花在线观看| 国产做受高潮69| 午夜美女福利视频| 国产精品的网站| 国产日韩成人内射视频| 青青草原在线亚洲| 欧美激情一区二区三级高清视频| 国产精选久久久| 国产精品国产自产拍高清av| 爆乳熟妇一区二区三区霸乳| 亚洲三级性片| 欧美中文在线视频| 青青草在线免费观看| 同产精品九九九| 欧美夫妇交换xxx| 亚洲网站视频| 激情小说综合区| 国产亚洲成av人片在线观看| 亚洲第一网站免费视频| 日本免费在线播放| 成人教育av在线| 亚洲 自拍 另类小说综合图区| 8848成人影院| 久久久免费观看视频| 内射后入在线观看一区| 亚洲va天堂va国产va久| 人妻无码中文久久久久专区| 99精品国产99久久久久久福利| 国语精品中文字幕| 手机在线理论片| 亚洲美女www午夜| 日韩综合在线观看| 国产丝袜在线精品| 伊人国产在线视频| 国产精品x453.com| a级国产乱理论片在线观看99| 四虎影院观看视频在线观看| 日韩精品一区国产麻豆| 国产乡下妇女做爰毛片| 91在线观看地址| 国产日韩一区二区在线观看| 欧美精品尤物在线观看| 成人国产精品色哟哟| 成人短视频在线| 亚洲国产精品人久久电影| 日本道在线观看| 久久色在线观看| 污色网站在线观看| 欧美黄污视频| 久久免费一区| 色999韩欧美国产综合俺来也| 不卡av电影院| 神马精品久久| 欧美日韩国产在线观看| 人妻人人澡人人添人人爽| 国产成人av在线影院| 久久精品免费一区二区| 成人三级视频| 成人一区二区三区四区| 免费看av不卡| 美女福利精品视频| 色综合888| 欧美高清视频一二三区 | 欧美在线999| 欧美色图亚洲视频| 国产亚洲综合av| 欧美一级片在线免费观看| 欧美一级久久| 久久视频免费在线| 久久99精品久久久久久园产越南| 国产综合福利在线| 瑟瑟视频在线看| 日韩在线播放视频| 五月婷婷六月丁香| 91精品国产综合久久精品图片| 日本免费观看视| 亚洲欧美电影院| 性欧美丰满熟妇xxxx性仙踪林| 激情都市一区二区| 老司机午夜av| 亚洲精选成人| 国风产精品一区二区| 狠狠色丁香婷婷综合影院| 国产成人av一区二区三区| 国产精品麻豆成人av电影艾秋| 97香蕉超级碰碰久久免费软件| 麻豆网站在线观看| 一区二区三区久久精品| 神马一区二区三区| 日韩一区二区三区视频在线观看| 中文字幕精品视频在线观看| 亚洲va国产天堂va久久en| 一起操在线播放| 中文字幕av一区二区三区免费看 | 亚洲综合精品自拍| 中文字幕乱码av| 久久久久国产精品厨房| 人妻换人妻a片爽麻豆| 紧缚奴在线一区二区三区| 在线视频日韩一区 | 一区二区在线电影| 日本爱爱小视频| 中文字幕精品一区二区三区精品| 一级国产黄色片| 成人h精品动漫一区二区三区| 日本中文字幕在线不卡| 久久国产精品色| 国产三级三级三级看三级| 久久不射中文字幕| 日本www在线播放| 亚洲福利电影| 性欧美大战久久久久久久| 欧美精品二区| 国产一级黄色录像片| 欧美不卡一区| 久久av综合网| 亚洲激情专区| 亚洲中文字幕无码专区| 一本色道久久综合亚洲精品不卡| 可以看毛片的网址| 精品1区2区3区4区| 成人在线观看你懂的| 日韩五码在线| 成人免费在线小视频| 久久黄色影院| 国产视频一区二区视频| 日日摸夜夜添夜夜添国产精品| 国产裸体舞一区二区三区 | 国产乱码一区二区三区四区| 美国欧美日韩国产在线播放| 国模私拍视频在线观看| 韩国欧美国产1区| 无码人妻久久一区二区三区蜜桃| 国产1区2区3区精品美女| av网页在线观看| 久久蜜臀精品av| 日韩一级片在线免费观看| 国产精品乱人伦| 69av视频在线| 五月婷婷综合激情| 懂色av蜜臀av粉嫩av分享吧最新章节| 欧美视频一区二| 国产精品无码AV| 日韩高清有码在线| 精品视频二区| 久久精品国产99国产精品澳门| 在线观看电影av| 91精品国产色综合久久不卡98口 | 欧美一卡二卡在线观看| 韩国av免费在线观看| 亚洲视频第一页| dy888亚洲精品一区二区三区| 色综合导航网站| 另类激情视频| 91欧美精品午夜性色福利在线| www.成人网| 婷婷久久伊人| 韩国在线一区| 久久九九国产视频| 国产精品系列在线播放| 亚洲国产欧美视频| 中文字幕亚洲综合久久菠萝蜜| 五月天综合在线| 欧美日韩另类一区| 蜜桃视频在线观看www| 亚洲色图50p| 国产美女情趣调教h一区二区| 日韩免费在线看| 中文字幕一区图| 亚洲精品tv久久久久久久久| 国产一区二区中文| 亚洲高清在线免费观看| 成人一区二区三区视频在线观看| 老熟妇一区二区| 一区二区三区在线观看网站| 青青国产在线视频| 精品国产99国产精品| av大片在线看| 欧美在线免费看| 经典三级久久| 婷婷亚洲婷婷综合色香五月| 在线成人黄色| 亚洲网中文字幕| 久久―日本道色综合久久| 69av视频在线| 欧美精品久久天天躁| 男人的天堂在线视频| 欧美黄色成人网| 涩涩涩久久久成人精品| 鲁丝一区二区三区免费| 国户精品久久久久久久久久久不卡| 久热精品在线播放| 国产午夜精品一区二区| 日韩欧美亚洲国产| 日韩欧美视频一区| 免费人成在线观看播放视频| 国产成人精品一区二区| 精品国内亚洲2022精品成人| 少妇高潮大叫好爽喷水| 日本va欧美va瓶| 日韩一级av毛片| 日韩欧美黄色动漫| 天天干视频在线观看| 欧美激情性做爰免费视频| 精品国产18久久久久久二百| 亚洲日本无吗高清不卡| 日日夜夜一区二区| 久久只有这里有精品| 欧美午夜激情在线| 亚洲av毛片成人精品| 国内精品久久久久影院优| 国产精品中文字幕制服诱惑| 成人一级生活片| 国产aⅴ综合色| 91porn在线视频| 日韩一区二区三区av| 五月天激情在线| eeuss一区二区三区| 欧美精品91| 精品一区二区三区四区五区六区| 亚洲成人av中文| 日韩在线视频免费| 69视频在线免费观看| 欧美大片网址| 国产a级片免费观看| 国产欧美日韩视频一区二区| 正在播放木下凛凛xv99| 日韩一级黄色av| 日本少妇精品亚洲第一区| 日韩一区二区高清视频| 9人人澡人人爽人人精品| 日韩黄色精品视频| 亚洲精品中文字幕有码专区| 新片速递亚洲合集欧美合集| 亚洲国产日韩欧美| 久久国产欧美日韩精品| 日本青青草视频| 亚洲成人三级在线| 日韩成人动漫| 不卡中文字幕在线| 国产成人免费视频网站| 日韩欧美亚洲国产| 国产一区二区三区久久精品| 四虎国产精品免费久久| 久久综合久久久久| 久久综合资源网| 一区二区三区播放| 欧美国产日韩一区二区| 免费看成人哺乳视频网站| 鲁一鲁一鲁一鲁一av| 亚洲最大色网站| 视频一区二区三区在线看免费看| 国产精品久久久久高潮| 正在播放日韩欧美一页| 黄色片视频免费观看| 欧美色综合影院| 久久久123| 日韩欧美一区二区视频在线播放| 国产毛片一区二区| 国产精品美女久久久久av爽| 中文字幕亚洲天堂| 1769国产精品视频| 精品国产成人av在线免| 亚洲男人的天堂在线观看| 日本又骚又刺激的视频在线观看| 国产日韩精品综合网站| 中日韩视频在线观看| 999久久久国产| 亚洲精品国精品久久99热| 成人黄色图片网站| 亚洲国产精品无码观看久久| 国产精品女主播av| 日韩福利一区二区| 成人在线看片| 国产真实乱子伦精品视频| 亚洲欧美偷拍视频|