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

阿里巴巴代碼平臺架構的演進之路

網絡
相信很多做后端服務的同學在看到單機、讀寫分離、分片這些字眼一定不會覺得陌生。沒錯,代碼服務在發展的開始階段面臨的問題和其他web服務大體一致,所以使用的解決方案也大體一致。

代碼平臺的發展之路

相信很多做后端服務的同學在看到單機、讀寫分離、分片這些字眼一定不會覺得陌生。沒錯,代碼服務在發展的開始階段面臨的問題和其他web服務大體一致,所以使用的解決方案也大體一致。

單機服務

眾所周知,Git是一種分布式的版本控制軟件,每個人的本地都有一份完整的代碼版本數據。但為了解決多人協同開發和流程管控(評審、測試卡點等),需要一個集中式的遠端中央倉庫來完成這些功能,這就是單機服務的來源。

讀寫分離

隨著協同人數的增多,以及提交數量的變多,單機升配也無法解決調用量過高的問題。而通過統計我們發現,對于Git服務讀寫比例大概是20:1,為了保證主鏈路提交的正常,我們做了讀寫分離,來分散壓力。通過主備同步來完成數據的同步,并使用一寫多讀的架構來擴展讀服務的能力。

分片

但無論如何做讀寫分離,所有機器的規格始終是一樣的。雖然倉庫數量的增加、平臺用戶的增加,無論是存儲還是計算都會達到單機所能承載的極限。這個時候我們采用了分片的方式,即將不同的倉庫劃分到不同的片中,而每個片都是一個完整的讀寫分離架構。當一個請求到來時,服務會根據查詢庫特征信息,決定這個倉庫所在的分片,而后又根據接口的讀寫特性,將請求轉發到具體的機器上。有點類似于數據庫中的分庫分表。這樣以來,通過分片+讀寫分離的架構,我們理論上可以支持水平上的無限擴容。

問題及思考

那么分片+讀寫分離是否是解決代碼服務大規模、高并發問題的銀彈呢?在我們看來,答案是否定的。
伴隨著代碼服務體量的發展,我們解決的核心問題一直以來主要是兩個:

集中式的Git存儲服務,既是I/O密集型也是計算密集型(Git的壓縮算法);
文件數量眾多,單個倉庫的文件數量也可能是十萬甚至百萬級,對數據一致性的保證和運維可靠性的挑戰極大。
實際上,代碼平臺架構的發展,就是在這兩個問題之間找平衡,以在一定規模情況下保證整個平臺的穩定性。但一直沒有根本性地解決掉這兩個問題。然而隨著規模逐步上漲,上述的兩個核心問題引發的劣勢又逐步變得明顯起來。

代碼服務主備架構:有狀態服務帶來的問題

對高可用系統比較熟悉的同學,從名字上應該就看出些許端倪。主備架構的讀寫分離方案其天然引入的就是有狀態服務的問題。

整個系統的請求流轉,主要分兩次轉發:

通過統一的代理層,可將用戶的不同客戶端請求轉發到對應的系統上,如Git命令行客戶端的SSH協議和HTTP協議、頁面的訪問及API接口請求等。
然后對接的模塊會將用戶不同協議的請求轉換為內部的RPC調用,并通過統一的RPC代理模塊RPC Proxy和分片服務Shard Config將請求按分片和讀寫轉發到對應的服務上。

讀和寫操作如何處理

如果是一個寫操作(如:push,從頁面上對文件、分支等進行新增、刪除、修改等操作),請求則會落到倉庫對應分片的RW/WO服務器上,在RW/WO服務寫入完成以后,再通過Git協議的同步方式,同步到同分片的其他機器上,這樣一次寫操作就完成了。而對于讀操作,則是在倉庫對應分片中隨機找一個RO的機器進行轉發。

問題分析

當某個分片的主節點發生異常(服務crash或服務器宕機等),分片內的機器狀態會發生變化。原本的RW/WO狀態會置為不可用,Backup的機器會取代原來的RW/WO服務來承接寫操作的請求。

從系統的角度上分析,主備架構存在以下四個問題:

1、可用性:

由于讀寫操作是分離的,所以在寫服務器failover期間,服務的寫功能是無法使用的;
對于單片而言,寫操作是單點的,一臺服務波動則整個分片都波動。
2、性能:

主備機器在同步上需要額外的時間開銷。對于松散文件、文件壓縮的Git倉庫,這個耗時比單文件拷貝耗時更久。
3、安全:

用戶側的短時間內的瞬時操作,對于節點同步來說可能是并發的,無法保證同步中的事務順序。
4、成本:

同分片寫,主備機器要求規格完全一致。但由于接收的請求不同,存在嚴重的資源消耗不均;
由于同步的小文件多,對延時敏感,跨機房異步同步,機器規格一比一復制。
這四個系統上缺陷帶來的問題,在一定使用規模和服務穩定性要求下是可以容忍的。但隨著商業化的深入和用戶規模的增長,這些問題的解決變得迫在眉睫。接下來我將和大家分享在過去的一年中,我們團隊對這些架構上問題的思考和解決思路。

代碼服務多副本架構:消滅有狀態的存儲服務

在上一個小節中,我們已經比較清晰地認識到架構上面臨的四個問題主要是有狀態服務帶來的。那么在新架構的設計中,我們的目標只有一個——消滅有狀態的服務。目標有了,如何去實現?我們首先對業內幾個流行的分布式系統做了深入的了解和學習,比如ETCD、Paxos協議的學習等。同時我們也學習了代碼服務的老大哥——Github開源的寥寥文章,但Github認為分布式架構是他們的核心競爭力,所以可參考的文章較少,但從這些文章中我們依然深受啟發。首先對于任何架構升級,要能做到“開著飛機換引擎”,讓架構軟著陸是架構升級的保底要求。因此在grpc的代理層之上沒有任何的改動。從內部的RPC調用以下則是我們新架構實施的地方。

和前一節的不同,在新的底層設計中:

我們希望設計一個GPRC D-PROXY的模塊,能將gRPC的請求做到寫時復制,從而達到多寫的第一步;
其次在Proxy Config的模塊中來存放倉庫、副本、機器等元數據;
再次通過一個分布式的鎖(D-Lock)來完成對倉庫級別的鎖控制;
最后我們希望有一個快速的算法能計算倉庫的checksum,快速識別倉庫的副本是否一致。

通過這些模塊的組合完成倉庫多副本的并發寫入、隨機讀取,我們就可以去除底層存儲節點的狀態,從而能將倉庫的副本離散到不同機房中。此外得益于機器與副本的解耦,每個服務器都可以有獨立的配置,這也為后續的異構存儲打下了基礎。

代碼服務多副本架構的實現

有了基礎的設計,通過MVP的實現,我們驗證了這個架構的可行性。并通過一年多的時間進行開發和壓測,最終將我們的多副本架構成功上線并逐步開始提供服務。在實現過程中,我們為這個系統起了一個頗有意義的名字——伽利略,因為在我們的多副本架構中,最小的副本數是3,而伽利略在發明了天文望遠鏡觀察到火星的衛星恰好就是3個。我們希望秉承這個不停探索的精神,所以起了這個有意義的名字。在具體的設計中,我們通過對gRPC proxy模塊的改寫,讓來自用戶的一次寫操作完成寫復制,并通過對git的改寫以支持分段提交。我們基于git的數據特性,編寫了checksum的模塊,可以對git倉庫進行快速的全量和增量一致性計算。

伽利略架構在系統架構層面解決了之前主備架構帶來的問題:

1、可用性提升:多寫和隨機讀讓底層的git存儲服務不存在寫單點和failover的切換問題;

2、寫性能提升:副本并發多寫,讓底層的副本間不存在主備復制的時間開銷,性能比肩單盤;

3、安全:寫操作的分段提交和鎖的控制,在解決分布式系統寫安全的基礎上也控制了用戶寫操作的事務性;

4、成本大幅度降低:

每個副本都會承擔讀寫操作,水位平均

副本與機器解耦,釋放機器的規格限制,可以根據倉庫的訪問熱度采用不同涉及機型和存儲介質
說了這么多,當用戶執行push后,在伽利略中會發生什么呢?我們用一個動畫來簡單演示下:

用戶3和用戶4是兩個著急下班的同學,他們本地master分支分別是提交3和提交4;
底部灰色的圓圈代表的是服務端一個倉庫三個副本的裝填,可以看到其中兩個master分支指向的是提交2,而其中有一個可能因為網絡或者其他原因導致其master的指向為1;
當用戶3和用戶4前后提交了代碼,由于用戶3更快達到服務,所以會率先啟動寫的流程;
在一個寫的流程開始,首先會對當前倉庫副本的一致性進行檢查,系統很容易就發現落后的副本1與其他兩個副本不一致,因此會將其標記為unhealthy。對于unhealthy的副本,是不會參與伽利略寫或讀的任何操作;
當用戶4的請求也被受理后,也會觸發一致性檢查,但是由于副本1已經被標記為unhealthy,所以對于用戶4的流程,這個副本就“不可見”了;
在用戶3的進程檢查后,發現多數副本是一致,則認為是可以寫入的,便會將非引用數據傳輸到副本中;同理用戶4的進程也是一樣,且因為非引用數據不會變更分支信息,所以不需要加鎖,可以同時操作;
當用戶3的進程收到非引用的數據傳輸成功后,便要開始進行引用的更新,這時第一步先去搶占這個倉庫的鎖。很幸運鎖是空閑的,用戶3的進程加鎖成功,開始改寫副本的引用指向;
當用戶4的進程也完成了非引用數據傳輸后也開始進行引用的更新。同樣,再更新操作前要去搶鎖,但發現鎖已經被占用,則用戶4的進程進入等待階段(如果等待超時,則直接告訴用戶4提交失敗);
當用戶3的進程改寫引用成功后,會釋放掉倉庫鎖。此時服務端的倉庫的master分支已經被修改為指向3。用戶3可以開心下班了;
當鎖被釋放后,用戶4的進程快速搶占,并嘗試修改引用指向,但發現更改的目標引用master已經和之前不同(之前是2,現在是被用戶3更改的3),此時用戶4的進程會失敗并釋放掉鎖。在用戶4的本地會收到類似“遠端分支已經被更新,請拉取最新提交后再推送”的類似提示。
以上就是多個用戶同時提交時,伽利略系統內部發生的事情。眼力好的同學可能會問,那在系統中被判定unhealthy的副本會怎么辦呢?這個就是剛才在架構實現中提到的運維系統會做的事務補償了,運維系統在收到unhealthy上報和定時掃描后都會觸發對unhealthy副本的修復,修復后的副本在確認一致后會置為healthy并繼續提供服務,當然這個過程在判斷修復是否一致也是加鎖操作的。

代碼托管運維管理平臺

除了上小節提到的副本修復,在系統運行中,還需要很多的運維操作。以往這些都是由運維同學操作的。Git服務涉及數據和同步,比單純的業務系統要運維復雜度要高,對應運維風險也比較高。在過去的一年中我們結合以往的運維經驗,以及新架構的需要,以工具化、自動化、可視化為目標,為伽利略系統打造了對應的運維管理平臺:

通過這個平臺我們大大提升了運維的質量、也充分釋放了運維人員的精力。

責任編輯:梁菲 來源: 阿里云云棲號
相關推薦

2015-07-24 12:21:14

wot 2015移動開發者大會

2017-12-02 21:03:05

WODT阿里巴巴古墨

2017-12-07 15:07:28

阿里巴巴數據庫技術架構演進

2019-08-15 10:25:02

代碼開發工具

2023-03-16 07:20:15

大數據平臺云數據

2019-04-23 09:13:54

蘇寧采購架構

2013-08-08 10:34:50

阿里巴巴BAT

2010-06-28 10:43:47

2011-04-28 10:12:13

海量數據分析平臺

2024-04-08 07:27:02

JDK8ZGC垃圾回收

2013-08-22 09:36:45

阿里巴巴王堅阿里云

2013-08-22 09:41:52

阿里巴巴去IOE王堅

2018-10-08 12:08:43

阿里計算平臺

2015-05-12 15:09:01

阿里巴巴公有云IaaS

2013-06-02 21:53:51

阿里巴巴Windows Azu淘寶

2009-02-27 10:46:32

DBA筆試題阿里巴巴

2023-03-29 09:42:32

2024-03-04 00:00:00

系統架構核心

2013-10-30 16:40:55

阿里巴巴阿里云云計算

2013-10-10 13:30:44

馬云阿里巴巴
點贊
收藏

51CTO技術棧公眾號

性高爱久久久久久久久| 欧产日产国产69| 在线日韩成人| 亚洲成人av福利| 国产精品推荐精品| 亚洲伊人成人网| 久久99国内| 伊人久久大香线| 久久人人爽爽爽人久久久| 国产成人精品在线观看| brazzers精品成人一区| 成人国产一区二区三区精品麻豆| 国产精品麻豆视频| 99精品99久久久久久宅男| 国产在线视频在线观看| 欧美禁忌电影| 欧美一区二区成人| 波多野结衣家庭教师在线| 国产专区在线| 国产精品一区二区久久精品爱涩| 欧美亚洲国产成人精品| 久久福利免费视频| 亚洲免费福利一区| 欧美一级免费大片| 黄在线观看网站| 国产亚洲依依| 丁香天五香天堂综合| 国产精品白嫩美女在线观看| 中文字幕在线观看成人| 亚欧日韩另类中文欧美| 欧美一区二区三区公司| 国产精品乱码久久久久| 日韩成人伦理| 国产精品美女久久久久aⅴ国产馆| 成人免费视频网站入口| 中文字幕二区三区| 国产手机视频一区二区| 久久99视频精品| 精品一区二区三区蜜桃在线| 婷婷激情成人| 在线观看亚洲专区| heyzo亚洲| 尤物yw193can在线观看| 国产日韩欧美综合一区| 蜜桃久久精品乱码一区二区| 丰满人妻一区二区| 国产在线看一区| 欧美最猛性xxxxx免费| 欧美国产日韩综合| 日本不卡免费一区| 一区二区在线视频| 久久久久久久无码| 6080成人| 日韩美一区二区三区| 中文 日韩 欧美| 国产精品麻豆成人av电影艾秋| 狠狠躁天天躁日日躁欧美| www.欧美黄色| 丝袜在线视频| 亚洲国产精品久久不卡毛片| 日韩视频一二三| 国产成人l区| 中文字幕一区二区三区四区| 视频一区在线免费观看| 韩国三级av在线免费观看| 91蝌蚪国产九色| 久久久久久久免费| 天天综合天天综合| 成人aa视频在线观看| 欧美色国产精品| 色综合久久88色综合天天看泰| 老司机精品免费视频| 精品国产91乱码一区二区三区四区| 亚洲精品国产品国语在线 | 日韩视频中文| 欧美国产乱视频| 精品少妇久久久| 亚洲天堂成人| 性欧美视频videos6一9| 久久久久久久久久免费视频| 在线看片一区| 欧美尤物巨大精品爽| 欧美精品一二三四区| 一区二区动漫| 欧美深夜视频| 国产综合久久久久久鬼色| 国产精品狼人色视频一区| 波多野结衣一本一道| 男人的天堂成人在线| 国产成人综合av| 一区二区日韩视频| 日本免费在线视频不卡一不卡二 | 三上悠亚ssⅰn939无码播放| 免费短视频成人日韩| 中国日韩欧美久久久久久久久| 乱老熟女一区二区三区| 国产又粗又猛又爽| 欧美日韩日本国产亚洲在线| 久久久久久久网站| 91久久精品www人人做人人爽 | av网站免费播放| 不卡区在线中文字幕| 视频三区二区一区| 波多野结依一区| 欧美日韩国产免费| 中文字幕在线视频播放| 国产韩日影视精品| 51精品在线观看| 国产视频aaa| 国产欧美一区二区在线| 精品国产av无码一区二区三区 | 999国产视频| 爱爱爱免费视频在线观看| 亚洲h动漫在线| 亚洲欧美自拍另类日韩| 在线观看欧美理论a影院| 九九久久久久久久久激情| 最新国产中文字幕| 91色婷婷久久久久合中文| 一区二区三区四区免费观看| 成人网ww555视频免费看| 亚洲精品国产精品久久清纯直播 | 艳妇乳肉豪妇荡乳xxx| 国产精品久久久久蜜臀| 视频一区国产视频| 国产午夜精品美女视频明星a级| 久久免费精彩视频| 精品无码三级在线观看视频| 日韩动漫在线观看| 波多视频一区| 亚洲国产高清高潮精品美女| 免费一级片视频| 国产精品12区| 亚洲黄色网址在线观看| 欧美亚洲人成在线| 这里只有精品久久| 波多野结衣一二区| 国产视频一区二区在线| 欧美综合在线观看视频| 丝袜连裤袜欧美激情日韩| 欧美激情综合色综合啪啪五月| 国产精品人妻一区二区三区| 国产精品国产自产拍高清av王其| 成人免费xxxxx在线视频| 国产欧美高清视频在线| 日韩美女免费线视频| 五月天婷婷在线观看| 午夜久久久影院| 成熟妇人a片免费看网站| 国产精品99免费看| 国产精品午夜av在线| 啊啊啊久久久| 精品小视频在线| 无码人妻久久一区二区三区不卡| 亚洲精品福利电影| 精品久久久久久亚洲精品| 熟妇高潮一区二区| 日韩视频在线一区二区三区| 久久草视频在线看| 超碰国产一区| 这里只有精品在线观看| 一炮成瘾1v1高h| 亚洲精品第一国产综合野| 粗大的内捧猛烈进出视频| 欧美日韩影院| 国新精品乱码一区二区三区18| av在线最新| 亚洲性线免费观看视频成熟| 在线免费观看av片| 亚洲免费观看视频| 日本一级片在线播放| 久久久久在线| 中文字幕一区二区中文字幕| 国产劲爆久久| 国产成人aa精品一区在线播放| 免费黄色在线网站| 日韩一卡二卡三卡| 免费看毛片网站| 中文字幕一区二区三区av | 成人国产在线观看| 超碰网在线观看| 国产精品国产一区| 国产综合动作在线观看| 久久野战av| 操91在线视频| 免费av在线电影| 制服丝袜中文字幕亚洲| 中文字幕一区二区三区精品| 亚洲国产精华液网站w| 精品无码av一区二区三区不卡| 久久精品首页| 99久re热视频精品98| 色吊丝一区二区| 亚洲一区二区三区xxx视频| 九九这里只有精品视频| 国产伦一区二区三区| 亚洲影院色无极综合| 性国裸体高清亚洲| 久久国产精品久久久| 色就是色亚洲色图| 日韩欧美高清dvd碟片| 五月婷婷六月婷婷| 亚洲一区二区三区中文字幕| 中文字幕网站在线观看| 东方欧美亚洲色图在线| 亚洲xxx在线观看| 国产精品一国产精品k频道56| 波多野结衣三级在线| 免费观看不卡av| 国产精品日韩欧美一区二区三区 | 91激情视频在线观看| 国产999精品久久| 日韩av片专区| 日韩在线a电影| 无码中文字幕色专区| 亚洲大全视频| 亚洲欧美国产一区二区| 日韩高清电影免费| aa成人免费视频| 精品国产一区二区三区性色av| 国产成人亚洲综合91| 国模精品视频| 久久久亚洲影院| 操你啦在线视频| 久久精品国产96久久久香蕉 | 欧美片一区二区三区| 1024视频在线| 亚洲国产精品专区久久| 欧美在线一级va免费观看| 性欧美videosex高清少妇| av鲁丝一区鲁丝二区鲁丝三区| 亚洲天堂avav| 国产精品一区二区在线播放 | 在线观看a级片| 综合网日日天干夜夜久久| 男人的天堂在线| 亚洲欧美精品在线| 久久精品蜜桃| 日韩欧美亚洲一二三区| www.午夜色| 红桃视频在线观看一区二区| 免费一区二区三区在在线视频| 中文字幕一区二区三区波野结 | 国产精品你懂的| 日韩精品无码一区二区三区久久久 | 色综合色综合色综合色综合色综合| 亚洲精品午夜久久久久久久| 一区二区三区在线影院| 免费人成在线观看| 亚洲午夜久久久久中文字幕久| 免费又黄又爽又色的视频| 亚洲国产婷婷综合在线精品| 久久精品无码人妻| 欧美日韩国产一区中文午夜| 成人午夜淫片100集| 一本大道久久a久久综合婷婷| 7799精品视频天天看| 欧美伊人精品成人久久综合97 | 欧美变态tickling挠脚心| 国产丰满美女做爰| 精品精品国产高清一毛片一天堂| 丰满人妻一区二区三区免费视频| 精品国产乱码久久久久久1区2区 | 中文字幕av久久爽| 9191久久久久久久久久久| 国产xxxx孕妇| 亚洲第一福利网| 黄网在线观看| 久久精品国产精品亚洲| 性欧美疯狂猛交69hd| 久久久亚洲人| 中文字幕成人免费视频| 国产成人免费视频网站| 国产中文字幕一区二区| 欧美激情综合在线| 久久r这里只有精品| 精品久久久久久久久中文字幕 | 精品无人码麻豆乱码1区2区| 国产老头和老头xxxx×| 91在线观看污| 久久爱一区二区| 同产精品九九九| 一区二区日韩视频| 亚洲精品动漫100p| 在线视频三区| 午夜精品久久久久久久99热 | 九色91在线| 国产精品国产亚洲伊人久久| 日本精品视频| 欧美日韩亚洲综合一区二区三区激情在线 | 精品免费国产一区二区三区四区| 天堂中文网在线| 丝袜一区二区三区| 欧美亚洲日本精品| 91在线观看欧美日韩| 免费精品国产| 亚洲精品久久久久久久蜜桃臀| 日本不卡一二三区黄网| 无码国产精品一区二区免费式直播 | 久久av高潮av无码av喷吹| 在线观看视频一区| 人成网站在线观看| 深夜福利日韩在线看| 日韩深夜视频| 999日本视频| 成人婷婷网色偷偷亚洲男人的天堂| 美女av免费观看| 美女mm1313爽爽久久久蜜臀| 国产精品久久久免费观看| 亚洲女女做受ⅹxx高潮| 久久久久久在线观看| 亚洲成人av片在线观看| 国产精品一卡二卡三卡| 日韩免费中文字幕| 日本福利一区| 成人在线免费观看视频网站| 捆绑紧缚一区二区三区视频| www.88av| 亚洲午夜久久久久中文字幕久| 国产一区二区麻豆| 中文字幕一区二区精品| 国产日韩另类视频一区| 久久草.com| 亚洲日本欧美| 成人做爰www看视频软件| 一区二区三区精品视频在线| 亚洲手机在线观看| 在线视频一区二区| 成人欧美一区二区三区的电影| 国产日韩一区二区三区| 欧美激情第8页| 51自拍视频在线观看| 国产精品久久毛片a| 久久久久亚洲视频| 亚洲人成电影网站| 免费观看欧美大片| 欧美大陆一区二区| 亚洲在线视频| 亚洲最大成人网站| 欧美日韩另类视频| 日本人妖在线| 欧洲成人午夜免费大片| 免费成人av| 色综合手机在线| 国产精品久久国产精麻豆99网站| 中文字幕在线观看1| 综合激情国产一区| 国产精品久久久久久久久久辛辛 | 久久国产高清视频| 欧美一级片免费看| 黄污视频在线观看| 国产精品国产精品国产专区蜜臀ah| 韩国亚洲精品| 黑丝av在线播放| 欧美三级免费观看| 国产三区四区在线观看| 国产精品久久久久久久午夜| 日韩在线综合| 中文字幕人妻无码系列第三区| 亚洲一区视频在线| 日本中文字幕一区二区有码在线| 国产成人拍精品视频午夜网站| 日本大胆欧美| 九九九久久久久久久| 午夜精品免费在线观看| 男人天堂综合| 国产免费一区二区三区香蕉精| 自拍欧美日韩| 视频免费在线观看| 欧美影视一区二区三区| av片在线观看| 久久99精品久久久久久久青青日本 | 天天色综合色| 4438x全国最大成人| 亚洲成精国产精品女| 精品电影在线| 91久久精品国产91久久性色| 在线看片欧美| 天天操天天干天天操天天干| 欧美一级爆毛片| 午夜激情在线播放| 在线一区亚洲| av在线这里只有精品| 在线观看国产精品视频| 久久欧美在线电影| 精品日本12videosex| 午夜影院福利社| 日本韩国精品一区二区在线观看| 免费在线午夜视频| 精品国产乱码久久久久久丨区2区| 视频在线观看一区二区三区| 成人免费视频网站入口::| 日韩h在线观看| 亚洲老司机网| 女人扒开屁股爽桶30分钟| 亚洲久草在线视频| 黄色电影免费在线看| 99在线视频免费观看| 日本欧美一区二区在线观看| 国产精品第二十页|