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

你的微服務敢獨立交付么?

開發 開發工具 架構
微服務架構下的獨立部署(交付)很重要,但往往容易被忽視,沒有被引起足夠重視。為了實現微服務的獨立持續交付,我們要關注當前變更服務與部署環境中其他服務的兼容性而不是關注當前變更服務與其他服務最新版本的兼容性。

最近經常在項目或是社區里聽到大家談論微服務架構,但談論的焦點更多集中在微服務拆分,分布式架構,微服務門檻,DevOps配套設施等話題上。

但是在我眼里,真正能稱之為微服務架構的少之又少。原因也很簡單,我所見到的很多所謂的微服務架構項目,大多都沒有做到微服務架構的一個基本要求:服務的獨立部署(交付)。

你的微服務敢獨立交付么?

這里的獨立部署和自動化部署還不是一個概念,服務的自動化部署相對簡單,已有大量的工具可以幫助我們做到。但是這里所談的獨立部署,我認為關鍵和難點并不在于“部署”,而在于“獨立”。

如果失去了服務獨立部署(交付)的能力,一個微服務架構的威力將大打折扣,我們的系統雖然在物理上被拆分成了多個小的服務,但是如果從最終交付的角度來看,仍然是以一個整體存在的,就像單體應用一樣,存在諸多的問題。

為什么服務的獨立交付并不簡單?

那為什么不能讓每一個服務都獨立部署到產品環境呢?問題的答案是:不是不能,而是不敢!

為了表達清楚,讓我們來看個例子吧。

像下圖一樣,我現在就是那個程序員帥哥(本色出演),突然有一天心血來潮,動手開發了一個網上商城。代碼Push到Github并通過CI構建持續交付流水線,最終自動化部署到云端產品環境,供用戶訪問使用。

服務的獨立交付

隨著用戶和訪問量的增加,需求和功能也越來越多,系統也變得越發復雜。

從網上了解到最近有個叫微服務的架構非常火爆,我也趕了回時髦,當然也覺得這種架構確實可以幫助我解決現在的一些問題。

經過對系統的分析,我將商城的后臺部分拆分出了3個服務,為了簡單我們就稱之為ABC三個服務。

服務的獨立交付

我們假設一個比較極端的情況,三個服務相互調用(先不考慮這樣是否合理),每個服務通過自己的持續交付流水線獨立部署到產品環境。當前產品環境的各個服務的版本是:

A:1.0、B:2.0、C:3.0

一切都非常***是不是?看!我們已經做到了服務的獨立部署!So easy~

當然,事情肯定不會那么簡單。

問題出現在當我對A服務做了一次新的提交之后,A服務的***版本升級到了1.1。不幸的是,這個新的版本意外的破壞了A與B之間的契約,錯誤的調用了B的接口,導致出現了錯誤。

雖然我的A服務和B服務都有比較完備的UT(單元測試),但因為UT無法發現服務之間的集成是否被破壞,所以只有UT作為質量保障的A服務持續交付流水線也自然沒有能力發現AB服務集成被破壞的這個問題。最終導致存在問題的A1.1版本被部署到了產品環境,產品環境出現了嚴重的Bug。

服務的獨立交付

請問在座的同學,碰到這樣的情況,你會如何處理?

“加集成測試啊!”

這位同學說的極是,我這么聰明自然也想到了這一點,不就是要測集成嗎?UT干不了就加集成測試不就成了。

為了統一語言,畢竟對于各種測試的叫法太容易引起混淆,參考Martin Fowler在《微服務測試策略》中的定義,我們在本文中將這種測試多服務集成的測試統一稱作端到端測試(End-to-End tests,簡稱E2E測試)。

添加了E2E測試之后,我的交付流水線就變成了下面這個樣子。

服務的獨立交付

因為有了E2E測試的存在,問題迎刃而解,當A服務的新版本破壞了與B服務的集成時,E2E測試就會及時診斷出來,并阻止A服務的***版本向產品環境流動,保證產品環境不被破壞。

這樣看似沒有什么問題,通過添加E2E測試,解決了服務間集成的驗證問題,但在不知不覺中,我們也失去了微服務架構的那個重要的特性:“服務的獨立交付”。

怎么講?別急,我們再往下看。

假設A服務的修復過程中,B和C服務也提交了新的代碼,我們假設這兩個提交是沒有問題的,但因為A服務的1.1版本導致E2E測試掛掉的問題還沒有被修復,所以B和C的新版本也被E2E測試攔了下來,此時的E2E測試就像是一個亮起紅燈的路口,阻塞了所有服務通往產品環境的通道。

服務的獨立交付

所以說,隨著集中E2E測試的添加,質量被保障的同時,我們的“微服務架構”也已悄然失去了服務獨立交付的能力,殺敵一千自損八百,損失慘重!

這并不是我假想的場景,在我自己經歷的幾個真實項目中,這個問題都在一直困擾著我們。帶來了各種各樣的衍生問題,例如E2E測試長時間失敗,無人修復,修復難度大,服務交付堵塞,為了保持交付通路暢通還不得不引入同樣存在很大副作用的CodeFrezze機制和提交Token機制等。

可以看到,雖然我們能夠在代碼庫,在部署結構上,甚至在組織上進行服務化拆分,但就因為這***一個交付的十里路口,***這一個紅綠燈,讓所有的服務又糾纏在了一起,所有的服務化拆分形同虛設,最終我們得到的也只是一個看起來像微服務架構的單體應用而已。

拆除紅綠燈,各行其道,收復失地!

那,如何才能將這個“紅綠燈”拆除,讓服務可以在有質量保障的前提下還可以做到獨立交付呢?這就是本文要解決的問題,讓我們繼續往下看。

我的解決方法其實也很簡單:Inline E2E tests。

即并不添加新的集中的Pipeline做E2E測試,而是為每一個服務的Pipeline都添加一個相同的E2E測試的Stage,就相當于將E2E測試Inline到每個服務各自的部署流水線中,如下圖所示。

其實Inline E2E測試還不是最關鍵的,最關鍵的變化點就是假設A服務有了新的提交,運行到A服務自己Pipeline的E2E測試的時候,此時的E2E測試并不是像之前一樣獲取B和C服務的***代碼庫版本做集成驗證,而獲取當前產品環境上的B和C服務的已部署當前版本做集成驗證。

例如,如圖所示A服務的版本從1.0升級到了1.1,當前產品環境的B和C的版本是2.0和3.0。在執行A服務Pipeline上的E2E測試時,驗證出A1.1和B2.0集成存在問題,測試變紅,Pipeline掛掉,從而阻斷了A服務的1.1版本部署到產品環境,保證了產品環境不會被A的1.1版本破壞。

同樣,假設A還沒有被修復之前,B也有了新的提交,產生了一個新的版本B2.1,這時在B服務Pipeline上的E2E測試并不獲取當前A服務的代碼庫***版本1.1做集成測試,而是獲取產品環境上的當前版本A1.0版本做集成測試。我們假設B2.1和A1.0之間的集成沒有問題,測試通過,所以B的2.1版本就被成功的交付到了產品環境,而此時產品環境的A服務的版本仍是1.0。

看!服務之間的阻塞被神奇的解決了,服務再也不會被堵在一個統一的十字路口,而是各行其道,A的車道出了事故,是A的問題,應該由A來承擔后果和解決問題,不應該影響到其他服務,其他服務依然可以持續的交付到產品環境。

向前看是持續集成,向后看是持續交付!

看到這里可能有些小伙伴會感到有些失望。咋呼半天,不就是將E2E測試整到每個服務的Pipeline里,再把獲取版本從***代碼改成產品環境么?有啥厲害的。

但是,在我看來,這個看似簡單的變化,意義卻是重大的:它揭示了“持續集成”和“持續交付”的一個主要區別。

“持續集成”和”持續交付”,這兩個概念相信大家一定都不陌生,在軟件領域也被提了不少年頭了,不算什么新概念新技術。但對于這兩個概念,我們經常一起提及,也經常混淆,搞不清楚兩者的區別到底是什么,可能認為持續交付只不過是持續集成的演進版,新瓶裝舊酒而已。

但其實它們卻有著本質的區別。

“持續集成”關注的是各個集成單元之前***版本的集成問題,即是不是某個集成單元的***版本破壞了系統整體的集成,我管這種視角叫:向“前”看。

而“持續交付”關注的應該不是集成單元***版本之間的集成問題,而是某個集成單元的***版本是否可以(能和敢)部署到產品環境。換句話說就是維持產品環境的其他服務不變,只將當前集成單元的***版本部署到產品環境,產品是否依然可用,不被破壞。所以在“持續交付”的視角下,應該關注的是當前集成單元與產品環境上的其他服務的版本是否兼容,我管這種視角叫:向“后”看。

向前看是持續集成,向后看才是持續交付,如果前后都不看那就是在裸奔。

但是肯定早有同學在心里疑惑,將E2E測試下放到每一個服務自己的Pipeline中,靠譜么?是不是太重了?根據測試金字塔,E2E測試應該是屬于靠近金字塔頂端的測試種類,無論從數量和覆蓋范圍應該也都不會太多,怎么能靠它來保障服務之間的所有集成點和契約呢?

主角登場-契約測試

細心的同學肯定已經發現上面***一張圖中,我已經悄悄的把E2E測試變為了CT,即Contract Test,契約測試。

契約測試也是這兩年伴隨微服務架構的興起,經常被提及的一種比較新的測試類型。在測試金字塔中,他的位置介于E2E和Component Tests(可以理解成單個服務的API測試)之間。

簡單的理解,契約測試就是一種可以用類似于單元測試的技術驗證兩兩服務之間集成的測試技術。它相比于更低層次的單元測試的優勢是可以測集成(兩兩服務之間),相比于更高層次的E2E測試的優勢是實現方式上又類似于單元測試,更輕量,跑的更快,覆蓋的范圍也自然可以更廣更細。

使用契約測試替換掉E2E測試之后,整個架構也會變得更復雜一些,目前契約測試的框架也有很多,如大家常常提到的Pact或是SpringContracts等等。這里我先以Pact為例予以說明,其他框架實現上可能有些差別,但是思路是一致的。

A服務調用B服務的一個API,我們就稱為A和B之間存在了一個契約,即B應該按照這個契約提供一個滿足契約要求的API,而A也應該按照這個契約約定的方式來調用B的這個API。在這個過程中A作為調用方,我們稱之為Consumer端。B作為被調用方,我們稱之為Provider端。

如果A和B都履行契約,按照契約定義的約定調用和被調用,我們就可以認為集成不會有問題。但無論是B擅自修改了API破壞了契約,還是A擅自修改了調用API的方式破壞了契約,都會導致契約被破壞,反應到測試上就是契約測試會失敗,反應到產品上就是功能被破壞,出現Bug。

每個契約,例如A->B,都會有Consumer端和Provider端生成的兩個產出物:分別是a-b.consumer.json.1.1(由Consumer端生成的契約文件,所以版本也是Consumer端A的版本號)和a-b.provider.jar.2.0(由Provider端生成的契約驗證測試包,他由Provider端生成,所以版本是B的版本)。這個jar包其實就是一組測試,他的輸入是a-b.consumer.json,產出則是測試的結果,也就是契約的驗證結果:成功或是失敗。

可以把A服務產出的契約文件a-b.consumer.json.1.1想象成一把鑰匙,把B服務產出的Provider端的測試a-b.provider.jar.2.0想象成一把鎖。那契約測試的執行過程就像是用這把鑰匙試著去打開這把鎖:如果可以打開,我們認為這A1.1->B2.0的契約是滿足的,反之契約就是被破壞了。

值得注意的一點就是,契約測試不像E2E測試,它是有方向的,所以我們看到a-b和b-a是兩個不同的契約。

所以,只有當A1.1->B2.0和B2.0->A1.1雙向的契約都被驗證通過后,我們才能認為A1.1版本和B2.0版本的集成是沒有問題的。

用契約測試替換E2E測試

用契約測試替換E2E測試

回到前面的例子上,假設我們已經構建了ABC三個服務兩兩之間的契約測試。此時,A服務有了新的提交升級到了1.1版本,那我們如何才能通過契約測試來驗證A1.1版本能否交付到產品環境呢?

答案就是只要通過A的1.1版本的***代碼,生成所有A作為Consumer端的契約文件(a-b.consumer.json.1.1和a-c.consumer.json.1.1),用這兩把“鑰匙”去試著開(作為輸入執行Provider端測試)產品環境對應的兩把“鎖”(a-b.provider.jar.2.0和a-c.provider.jar.3.0)。

如果都可以打開(測試通過)的話,就證明A的新版本1.1作為Consumer端與產品環境的B和C服務是兼容的。

等等,別著急,還沒完……

因為我們還需要考慮A作為Provider的情況,做法還是通過A的1.1版本的***代碼生成A版本作為Provider端的契約測試(b-a.provider.jar.1.1和c-a.provider.jar.1.1),拿著這兩把“新鎖”,然后試著用產品環境上的兩把“鑰匙”(b-a.consumer.json.2.0和c-a.consumer.json3.0)去開。

如果也都可以打開(測試通過)的話,就證明A的新版本1.1作為Provider端與產品環境的B和C服務也是兼容的。

至此,當驗證了A的新版本1.1無論是作為調用端還是被調用端都與產品環境上的其他服務契約滿足后,我們就認為A1.1與B2.0和C3.0集成是沒有問題的,也就代表A1.1可以被放心地部署到產品環境中,替代現在的1.0版本。

***,敲黑板劃重點

  • 微服務架構下的獨立部署(交付)很重要,但往往容易被忽視,沒有被引起足夠重視。
  • 為了實現微服務的獨立持續交付,我們要向“后”看,不要向“前”看,即關注當前變更服務與部署環境中其他服務的兼容性而不是關注當前變更服務與其他服務***版本的兼容性。
  • 用契約測試來替代E2E測試,降低測試成本,提高測試覆蓋,盡早測試。并通過不斷地完善契約管理,保障微服務架構質量和避免微服務架構腐化僵化。

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2016-09-26 14:45:46

微服務

2019-04-03 08:10:17

代碼架構信息

2022-07-26 08:23:17

Zadig微服務

2017-10-19 09:47:55

容器化微服務集成

2022-03-09 10:01:18

DevOps微服務架構

2019-10-30 21:19:42

技術數據結構設計

2020-03-24 10:43:24

微服務架構數據

2018-10-28 18:09:22

微服務Microservic架構

2021-10-18 08:52:42

技術

2011-03-08 09:58:02

Postfix郵件服務

2015-06-12 11:55:05

TCL么么噠獨立

2021-10-21 09:10:34

微服務架構數據

2013-11-08 10:21:13

2019-10-17 14:07:43

技術云計算Docker

2010-12-03 11:32:22

IT業

2021-05-05 22:37:20

比特幣資產美元

2024-05-10 08:46:13

微服務架構技術

2023-08-09 19:03:21

數字化離岸交付

2019-07-12 08:45:07

開源微服務框架

2014-06-19 11:30:48

天翼云
點贊
收藏

51CTO技術棧公眾號

51一区二区三区| 外国精品视频在线观看 | 九九精品在线观看视频| 国产一级成人av| 日韩欧美在线视频| 自拍亚洲欧美老师丝袜| 日本xxxx人| 蜜臀精品一区二区三区在线观看| 欧美精品免费在线| 久久视频精品在线观看| jazzjazz国产精品久久| 在线观看日韩精品| 成年人午夜免费视频| 欧美天天影院| 91免费小视频| 1卡2卡3卡精品视频| 懂色av中文字幕| 黄色综合网站| 精品国内自产拍在线观看| 黄色录像a级片| 一区二区精彩视频| 欧美久久久久久久久中文字幕| 日本在线xxx| 丝袜国产在线| 国产精品福利在线播放| 欧美大香线蕉线伊人久久| 国产伦理吴梦梦伦理| 久久久精品网| 91精品国产91久久久久久吃药| 永久免费看片直接| 欧美日韩一区二区三区视频播放| 亚洲缚视频在线观看| 91蝌蚪视频在线| 婷婷久久综合九色综合99蜜桃| 日本精品视频一区二区| 你懂的av在线| 国产精品高颜值在线观看| 亚洲美女屁股眼交| 五月天色婷婷综合| 99riav在线| 国产色91在线| 亚洲国产成人不卡| 九一在线视频| 久久久久国产免费免费| 欧美极品色图| 免费在线国产| 久久久久久黄色| 日本a级片久久久| 欧美日韩国产综合视频| 91蜜桃视频在线| 久久综合狠狠综合久久综青草 | 亚洲最新av在线| 一道本在线观看| 狠狠色狠狠色综合婷婷tag| 日韩精品亚洲元码| 波多野结衣一本| 一本色道久久综合狠狠躁的番外| 亚洲精品网站在线播放gif| 日本丰满少妇裸体自慰| 日韩av不卡一区| 日韩精品在线视频观看| www.av天天| 久久国产成人精品| 久热精品视频在线观看| 玖玖爱免费视频| 亚洲黄色毛片| 青青草原一区二区| 69视频免费看| 韩国毛片一区二区三区| 国产精品国产亚洲精品看不卡15 | 99re这里只有精品视频首页| 久久综合入口| 波多野结衣在线影院| 国产精品欧美一区喷水| 伊人网在线免费| 678在线观看视频| 黄色精品在线看| av视屏在线播放| av日韩一区| 亚洲国产精彩中文乱码av| 新91视频在线观看| 色喇叭免费久久综合网| 欧美精品精品精品精品免费| 亚洲精品男人天堂| 久久精品国产秦先生| 4444kk亚洲人成电影在线| 五月婷婷在线播放| 国产精品乱码一区二区三区软件 | 国产自产自拍视频在线观看| 日韩欧美亚洲一二三区| 五月花丁香婷婷| 精品国产一区二区三区成人影院| 国产亚洲成精品久久| 538精品在线视频| 国产视频一区欧美| 成人免费视频网址| 无套内谢的新婚少妇国语播放| 欧美国产日韩亚洲一区| 精品免费久久久久久久| av亚洲一区二区三区| 欧美一区二区三区四区视频| 免费看黄色aaaaaa 片| 婷婷综合在线| 国产va免费精品高清在线| 国产夫妻自拍av| 国产午夜精品福利| 无码 制服 丝袜 国产 另类| 亚洲精品无播放器在线播放| 日韩av在线免费播放| 日韩欧美综合视频| 日韩av电影天堂| 国产一区免费在线观看| 在线看一级片| 欧美日本一区二区| b站大片免费直播| 欧美精品国产| 成人激情综合网| 国内三级在线观看| 精品成人久久av| 18深夜在线观看免费视频| 欧美综合视频| 人人澡人人澡人人看欧美| 丰满人妻一区二区三区无码av | av首页在线观看| jlzzjlzz国产精品久久| 糖心vlog在线免费观看| 欧美videos粗暴| 国产亚洲综合久久| 精品国产一区二区三区四| 国产99精品视频| 艳母动漫在线免费观看| 欧美大片网站| 色七七影院综合| 天堂网一区二区| 91麻豆国产自产在线观看| 一卡二卡三卡视频| 超碰成人免费| 欧美国产日韩一区二区在线观看| 国产精品免费无遮挡| 中文字幕日本不卡| 911福利视频| 91一区二区| 成人黄色中文字幕| 国产写真视频在线观看| 91麻豆精品国产自产在线| 永久免费看片直接| 九色综合国产一区二区三区| 亚洲一区二区高清视频| 欧美a一级片| 久久精品国产精品亚洲| 国产www免费观看| 亚洲精品久久久久久国产精华液| 中文字幕55页| 欧美特黄视频| 国产精品一区视频| 中文字幕乱码在线播放| 亚洲色图日韩av| 中文字幕av免费观看| 国产精品乱人伦中文| 欧美性受xxxxxx黑人xyx性爽| 色777狠狠狠综合伊人| 亚洲va欧美va国产综合久久| 最新av在线播放| 亚洲黄色在线观看| 欧美日韩a v| 亚洲日本在线看| 好吊操视频这里只有精品| 99精品久久久| 天堂资源在线亚洲视频| 日韩精品视频中文字幕| 97精品视频在线| 欧美老女人性开放| 欧美日本国产视频| 久久网免费视频| 91婷婷韩国欧美一区二区| 无码人妻精品一区二区三区66| 日韩免费在线| 国产厕所精品在线观看| 亚洲性受xxx喷奶水| 在线免费观看羞羞视频一区二区| 国产99久久九九精品无码| 91电影在线播放| 91精品国产色综合久久不卡电影 | 国产一区二区三区奇米久涩| 久久电影tv| 久久久成人精品视频| 丰满人妻一区二区三区免费| 在线欧美日韩精品| 国产免费无码一区二区视频| 久久亚洲精精品中文字幕早川悠里 | 日韩一区二区三区四区| 久久久久99精品成人片我成大片| 中文字幕成人在线观看| 手机在线免费毛片| 久久精品首页| a级黄色片免费| 国产亚洲一区二区三区不卡| 999日本视频| 视频在线日韩| 久久久久久久97| 日韩伦理在线电影| 亚洲美女动态图120秒| 国产黄色av网站| 欧美亚洲精品一区| 国产精品1000| 亚洲欧美日韩国产综合| 中文字幕人妻一区二区| 国产大陆精品国产| 无限资源日本好片| 99re国产精品| 欧美xxxx吸乳| 久久久影院免费| 欧美高清性xxxxhd| 成功精品影院| 亚洲一区二区久久久久久| 欧美成a人片在线观看久| 欧美激情图片区| 久草资源在线观看| 国产一区二区三区欧美| 先锋av资源站| 亚洲第一福利在线观看| www.av网站| 欧美日韩第一区日日骚| 欧美日韩 一区二区三区| 精品欧美aⅴ在线网站| 岛国毛片在线观看| 综合av第一页| 五月综合色婷婷| 日本一区免费视频| 第一次破处视频| 26uuu成人网一区二区三区| 男女一区二区三区| 国产成人福利片| 日本高清免费观看| 国产一区二区在线免费观看| 超碰在线公开97| 日韩成人伦理电影在线观看| 国产福利视频在线播放| 国产模特精品视频久久久久| 日本阿v视频在线观看| 欧美影院一区| 成人国产一区二区三区| 你懂的成人av| 三级在线免费观看| 99精品一区| 黄色污污在线观看| 欧美日韩福利| 国产aaa免费视频| 亚洲清纯自拍| 欧美色图另类小说| 久久久xxx| 午夜在线观看av| 精品一区二区在线视频| 国产乱女淫av麻豆国产| 国产精品资源在线观看| 中国男女全黄大片| 丰满白嫩尤物一区二区| 97人妻精品一区二区三区免费| 成人免费av资源| 中文文字幕文字幕高清| 久久综合国产精品| 日韩人妻无码精品综合区| 中文在线一区二区| 亚洲波多野结衣| 一区二区三区在线免费观看 | 在线国产电影不卡| 伊人免费在线观看| 制服丝袜国产精品| 国产成人精品a视频| 亚洲成人在线网| 欧美日韩激情视频一区二区三区| 一区二区三区国产视频| 国产高清一区二区三区视频| 久久久久久久电影一区| 中文字幕av一区二区三区佐山爱| 成人福利网站在线观看11| 精品欧美视频| 裸模一区二区三区免费| 久久激情电影| 国产精品久久国产| 久久最新视频| 日本wwwxx| 91麻豆免费看片| 欧美成人777| 精品久久久一区| 11024精品一区二区三区日韩| 精品电影一区二区| 国内精品在线视频| 欧美激情第三页| 欧美va视频| 国产精品初高中精品久久| 国产免费av一区二区三区| 神马午夜伦理影院| 久久福利精品| 18深夜在线观看免费视频| 久久精品日产第一区二区三区高清版| 91麻豆精品成人一区二区| 图片区小说区区亚洲影院| 97久久人国产精品婷婷| 日韩av在线网| av在线导航| 国产精品欧美久久久| 国产欧美啪啪| 97超碰免费观看| 爽好久久久欧美精品| 亚洲精品成人无码毛片| 国产精品国产三级国产普通话99| 特一级黄色大片| 欧美哺乳videos| 欧美jizz18hd性欧美| 日本精品免费一区二区三区| 粉嫩久久久久久久极品| 91视频成人免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕一区二区三区乱码不卡| 亚洲日本韩国一区| 亚洲综合网av| 亚洲日本中文字幕| a国产在线视频| 国产精品毛片va一区二区三区| 久久亚洲影视| 91视频免费版污| 久久免费电影网| 日韩免费不卡视频| 欧美成人伊人久久综合网| 天天综合视频在线观看| 国产福利视频一区二区| 亚洲精品456| 欧美亚洲一二三区| 91在线精品秘密一区二区| 国产精品30p| 亚洲精品在线电影| 欧美xxxbbb| 成人做爰66片免费看网站| 中文字幕一区二区三区久久网站| 向日葵污视频在线观看| 国产欧美日韩麻豆91| 一级片视频在线观看| 日韩久久免费视频| 在线天堂新版最新版在线8| 狠狠色综合欧美激情| 亚洲国产高清一区| 免费日本黄色网址| 偷拍与自拍一区| 日韩偷拍自拍| 国产成人精品一区二区三区| 精品国产乱码久久久久久果冻传媒 | 欧美精品一区在线| 久久精品1区| 舐め犯し波多野结衣在线观看| 日本黄色一区二区| av免费观看一区二区| 国产一区二区丝袜高跟鞋图片| 欧美理论电影大全| 亚洲这里只有精品| 亚洲欧美综合色| 超碰人人人人人人| 69**夜色精品国产69乱| 九色精品91| 午夜免费福利视频在线观看| 亚洲婷婷综合色高清在线| www.好吊色| 91国语精品自产拍在线观看性色| 亚洲区小说区| 中文字幕22页| 亚洲一区精品在线| 男男电影完整版在线观看| 国产美女精品免费电影| 欧美精品九九| 无码熟妇人妻av| 欧美另类一区二区三区| 超碰公开在线| 免费国产一区二区| 久久精品国产精品青草| 久久精品国产亚洲av高清色欲 | 国产成人高清精品| 狠狠色综合网站久久久久久久| 天堂va蜜桃一区二区三区漫画版| 国产黄色片在线| 亚洲精品一区二区三区99| 日韩新的三级电影| 国产一区一区三区| 99精品偷自拍| 91女人18毛片水多国产| 欧美精品精品精品精品免费| 精品日韩免费| 最新版天堂资源在线| 欧美午夜免费电影| 免费污视频在线| 日韩妆和欧美的一区二区| 国产精品中文字幕日韩精品| 日日摸天天添天天添破| 久久精品一本久久99精品| 夜夜春成人影院| 无码人妻aⅴ一区二区三区玉蒲团| 色哟哟精品一区| 里番在线播放| 日日噜噜噜夜夜爽爽| 久久免费美女视频| 成人毛片在线精品国产|