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

分布式系統協調內核——Zookeeper

大數據 分布式
本篇要介紹 Patrick Hunt 等人在 2010 年發表的、至今仍然廣泛使用的、定位于分布式系統協調組件的論文 —— ZooKeeper: Wait-free coordination for Internet-scale systems。

[[402864]]

本文轉載自微信公眾號「木鳥雜記」,作者木鳥雜記。轉載本文請聯系木鳥雜記公眾號。

本篇要介紹 Patrick Hunt 等人在 2010 年發表的、至今仍然廣泛使用的、定位于分布式系統協調組件的論文 —— ZooKeeper: Wait-free coordination for Internet-scale systems。我們在多線程、多進程編程時,免不了進行同步和互斥,常見手段有共享內存、消息隊列、鎖、信號量等等。而在分布式系統中,不同組件間必然也需要類似的協調手段,于是 Zookeeper 應運而生。配合客戶端庫,Zookeeper 可以提供動態參數配置(configuration metadata)、分布式鎖、共享寄存器(shared register)、服務發現、集群關系(group membership)、多節點選主(leader election)等一系列分布式系統的協調服務。

總體來看,Zookeeper 有以下特點:

  1. Zookeeper 是一個分布式協調內核,本身功能比較內聚,以保持 API 的簡潔與高效。
  2. Zookeeper 提供一組高性能的、保證 FIFO的、基于事件驅動的非阻塞 API。
  3. Zookeeper 使用類似文件系統的目錄樹方式對數據進行組織,表達能力強大,方便客戶端構建更復雜的協調源語。
  4. Zookeeper 是一個自洽的容錯系統,使用 Zab 原子廣播(atomic broadcast)協議保證高可用和一致性。

本文依從論文順序,簡要介紹下 Zookeeper 的服務接口設計與模塊粗略實現。更多細節請參考論文和開源項目主頁。

服務設計

我們在設計服務接口的時候,首先要抽象出服務組織和交互所涉及到的基本概念,進而才能厘清圍繞這些基本概念的動作集合。對于 Zookeeper 來說,這些基本概念稱為術語(Terminology),動作集合稱為服務接口(API)。

術語集

  1. 客戶端:client,使用 Zookeeper 服務的用戶。
  2. 服務器:server,提供 Zookeeper 服務的進程。
  3. 數據樹:data tree,Zookeeper 中所有的數據以樹形結構進行組織。
  4. z-節點:znode、Zookeeper Node,數據樹中的節點,是基本數據單元。
  5. 會話:session,客戶端與服務器會新建一個會話來標識一個連接,之后客戶端每次請求都會通過該會話句柄來進行。Watch 事件的生命周期也是和會話綁定的。

后面行文中,對應術語的中英文可能會交雜使用。

數據組織

Zookeeper 對所存數據進行類似文件系統的樹形層次化組織,可以提供給使用者更強大的靈活性。比如可以很自然的表示命名閾(namespace),比如使用同一父節點的所有孩子表示成員關系(membership)。一個路徑(Path)可以定位到一個唯一的數據節點,進而能夠唯一標識一個基本數據單元。

zookeeper 層次化的命名空間組織

樹中支持兩種類型的 znode:

  1. 普通節點:Regular,生命周期無限,客戶端需要調用接口顯式的對這類節點進行增刪。
  2. 暫態節點:Ephemeral,生命周期綁定到會話上,會話銷毀,節點刪除。

此外,Zookeeper 允許客戶端在創建 znode 時,附加一個 sequential 標志。Zookeeper 便會自動給節點名字添加一個全局自增的計數作為后綴。

Zookeeper 使用***推***的方式實現訂閱機制,即用戶在訂閱(watch)了某個節點后,當該節點發生變化時,客戶端會收到一次通知(邊緣觸發),一個訂閱是綁定到會話上的,因此會話銷毀后,訂閱的事件也會消失。

會話機制(session)。可以看到,Zookeeper 使用會話機制管理客戶端一次連接的生命周期。在實現時,會話會關聯一個超時間隔(timeout)。如果客戶端死掉或者與 Zookeeper 斷開連接,超時時限內客戶端未進行心跳,Zookeeper 會在服務器端銷毀該會話。

數據模型(Data model)。Zookeeper 本質上提供樹形組織的 KV 模型。除存儲鍵值對數據外,Zookeeper 更多的是以其空間結構和生命周期管理作為表達能力,來提供協調語義。當然,Zookeeper 也允許客戶端為節點附加一些元信息(meta-data)和配置信息(configuration),并且提供版本和時間戳支持,從而提供更強大的表達能力。

API 細節

下面是以偽碼的形式列出 Zookeeper 對客戶端提供的 API 細節和注釋。所有操作對象都是路徑( path) 所對應的數據節點(znode)。

  1. // 在路徑 path 處創建一個 znode,存入數據 data 
  2. // 并設置 regular, ephemeral, sequential 等 flags 標志。 
  3. // 返回值:znode 名字 
  4. create(path, data, flags)  
  5.  
  6. // 如果 path 處的 znode 與預期 version 相同, 
  7. // 則刪除該 znode。 
  8. // 指定 version 一般是為了并發安全。 
  9. delete(path, version) 
  10.  
  11. // watch 讓客戶端在此 path 上添加一個監聽 
  12. // 返回值:路徑對應的 znode,存在時返回 true 
  13. // 不存在返回 false 
  14. exists(path, watch) 
  15.  
  16. // 獲取路徑 path 對應的 znode 的數據和元信息 
  17. // 當 znode 存在時,允許設置 watch 來監聽 
  18. // znode 數據變化 
  19. getData(path, watch) 
  20.  
  21. // 當 version 匹配時,將數據 data 寫入 
  22. // path 對應的 znode 
  23. setData(path, data, version) 
  24.  
  25. // 獲取路徑 path 對應的 znode 的所有孩子 
  26. getChildren(path, watch) 
  27.  
  28. // 同步最新數據,通常放在 getData 前面 
  29. sync(path) 

上面的 API 有以下特點:

異步支持。所有接口都有同步(synchronous)和異步(asynchronous)版本。異步版本以回調函數方式進行執行,客戶端可以根據業務需求,選擇阻塞等待以獲取重要更新,或者異步調用以獲得更好性能。

路徑而非句柄。為了簡化接口設計,并減少服務端維護的狀態, Zookeeper 使用路徑而非 znode 句柄的形式來提供對 znode 的操作接口。畢竟,句柄類似于 session,是有狀態的,會增加分布式系統的實現復雜度。使用路徑,可以配合版本信息做成類似冪等的接口,在處理多客戶端并發時,更容易實現。

版本信息。所有的更新操作(set/delete)都需要指明對應數據的版本號,版本號不匹配則終止更新并返回異常。但可以通過指定特殊版本號 -1 ,跳過版本號檢查。

語義保證

在處理多個客戶端向 Zookeeper 發出的并發請求時, API 有兩個基本順序的保證:

線性化寫(Linearizable writes)。所有 Zookeeper 狀態的更新請求會被串行化執行。

客戶端內的先入先出(FIFO client order)。給定客戶端的請求會按其發送的順序進行執行。

但這里的線性化是一種異步線性化:A-linearizability。即單個客戶端可以同時有多個正在執行的請求(multiple outstanding operations),但是這些請求會按發出順序進行執行。對于讀請求,可以在每個服務器本地(不需要通過主)執行。因此,可以通過增加服務器(Observer)提升讀請求的吞吐。

此外,Zookeeper 還提供可用性和持久性的保證:

可用性(liveness):Zookeeper 集群中過半數節點可用,則可對外正常提供服務。

持久性(durability):任何被成功返回給客戶端的修改請求,都會作用到 Zookeeper 狀態機中。即使不斷有節點故障重啟,只要 Zookeeper 能正常提供服務,就不會影響這一特性。

Zookeeper 架構

為了提供高可靠性,Zookeeper 使用多臺服務器對數據進行冗余存取。然后使用 Zab 共識協議處理所有的更新請求,然后寫入 WAL,進而應用到本地內存狀態機(data tree)。

在 Zab 協議中,所有節點分為兩種角色,Leader 和 Followers,前者只有一個,剩余的都是 Followers。但后來實踐中,可能有 Observers。

zookeeper 組件與請求流程

如上圖所示,當 Server 收到一個請求時,首先進行預處理(Request Processor),如果是寫請求,則通過 Zab 協議(Atomic Broadcast)達成一致,然后各自提交到本地數據庫(Replicated Database)。對于讀請求,直接讀取本地數據庫中狀態后返回。

請求處理(Request Processor)

所有更新請求都會被轉為冪等(idempotent)的事務(txn),具體方法為獲取當前狀態、計算出目標狀態,封裝為事務,即可使用類似 CAS 的方式處理并發請求。因此,只要保證所有事務按固定順序執行,就能避免不同服務器上的數據副本分裂。

原子廣播(Atomic Broadcast)

所有更新請求都會被轉給 Zookeeper 的 Leader,Leader 首先將事務追加到本地 WAL,然后將變動使用 Zab 協議廣播到各個節點,收到過半成功回復之后,Leader 將變動提交(Commit)到本地內存數據庫,并廣播該 Commit 給 Followers。

由于 Zab 使用多數票原則,因此 2k+1 個節點的集群最多可以容忍 k 個節點的故障(failures)。

為了提高系統吞吐,Zookeeper 使用流水線(pipelined)方式優化多個請求處理過程。

復制狀態機(Replicated Database)

每個服務器都會在本機內存中維護一個 Zookeeper 中所有狀態的副本(replica),為了應對宕機重啟,ZooKeeper 會定期將狀態做快照。不同于普通快照,Zookeeper 稱其快照為 fuzzy snapshots,即在做快照時并不上鎖,通過 DFS 的方式遍歷文件樹 Dump 到本地。之后由于異常宕機重啟時,只需加最新快照,然后重新執行最新快照之后幾條 WAL 即可。由于 WAL 中記錄的事務的冪等性特點,即使快照和 WAL 的時間點不完全對應,也不會影響副本間的一致性。

客戶端服務器交互事宜(Client-Server Interactions)

串行寫。無論是在全局范圍還是具體到一個 Server 本地,所有更新操作都是串行的。在執行某個 Path 數據更新時,該 Server 會觸發所有與之連接的 Client 所訂閱的 Watch 事件。需要注意,這些事件只保存在 Server 本地,因為他們是和會話關聯的,如果 Client 與該 Server 斷開連接,會話便會銷毀,這些事件也隨之消亡。

本地讀。為了獲取極致性能,Zookeeper 的 Server 直接在本地處理讀請求。但這有可能造成客戶端拿到陳舊數據(比如其他客戶端在另外的 Server 更新了同一 Path)。于是 Zookeeper 設計出了 Sync 操作,會將調用 Sync 時刻的最新提交數據同步到與該 Client 連接的 Server 上,然后將最新數據返回給 Client。即,Zookeeper 將性能與時效性的選擇權交給了用戶,方法是是否調用 Sync。

一致性視圖。Zookeeper 全局會維持一個事務自增標識:zxid,它本質上是個邏輯時鐘,可以標識 Zookeeper 一個時刻的數據視圖。Client 在故障重啟后重新連接到一個新的 Server 時,如果該 Server 未執行到客戶端所存 zxid,則要么 Server 執行到該 zxid 后再回復 Client,要么 Client 換一個更新的 Server 進行連接。如此,可以保證 Client 不會看到回退的視圖。

會話過期。會話在 Zookeeper 中本質上標識一個 Client 到 Server 的連接。會話有超時時間,如果 Client 長時間(大于超時間隔)不發請求或者心跳,Server 便會刪除該會話。

小結

Zookeeper 使用目錄樹組織數據、使用 Zab 協議同步數據、使用非阻塞方式提供接口,構建了一個表達能力強大的分布式協調性內核。可以用于分布式系統的控制面以進行協調、調度和控制。近年來基于 Raft 的 Etcd 也是類似地位。

 

責任編輯:武曉燕 來源: 木鳥雜記
相關推薦

2021-08-26 08:03:30

大數據Zookeeper選舉

2021-07-29 07:48:36

Zookeeper 核心設計

2023-02-23 07:55:41

2012-11-06 13:58:26

分布式云計算分布式協同

2019-10-10 09:16:34

Zookeeper架構分布式

2015-06-17 14:10:34

Redis分布式系統協調

2021-10-25 10:21:59

ZK分布式鎖ZooKeeper

2017-10-24 11:28:23

Zookeeper分布式鎖架構

2015-05-18 09:59:48

ZooKeeper分布式計算Hadoop

2023-05-29 14:07:00

Zuul網關系統

2023-03-13 00:08:26

2023-05-12 08:23:03

分布式系統網絡

2021-02-28 07:49:28

Zookeeper分布式

2020-11-16 12:55:41

Redis分布式鎖Zookeeper

2021-07-16 07:57:34

ZooKeeperCurator源碼

2019-07-16 09:22:10

RedisZookeeper分布式鎖

2017-10-27 08:40:44

分布式存儲剪枝系統

2020-10-27 11:50:53

運維Zookeeper腦裂

2023-10-26 18:10:43

分布式并行技術系統

2023-03-20 00:04:07

點贊
收藏

51CTO技術棧公眾號

www.com毛片| 欧美国产激情18| aaaaaa亚洲| 成人精品一区二区| 久久成人精品无人区| 久久精品亚洲一区| 亚洲午夜精品在线观看| 91福利区在线观看| 国产欧美精品一区二区三区四区| 国产精品偷伦一区二区| 日韩一级片大全| jizz性欧美23| 色8久久精品久久久久久蜜| 先锋影音欧美| 色欲av伊人久久大香线蕉影院| 日韩不卡一区二区| 海角国产乱辈乱精品视频| 日本精品久久久久中文| 精品一区二区男人吃奶| 欧美人狂配大交3d怪物一区| 日本福利视频在线| av网站大全在线| 国产欧美综合在线| 九色91在线视频| 国产女同91疯狂高潮互磨| 老牛国产精品一区的观看方式| 欧美老肥婆性猛交视频| 免费看的黄色录像| 免费看成人哺乳视频网站| 欧美大片在线观看| 亚洲一区二区在线视频观看| 日本成人伦理电影| 同产精品九九九| 2021国产视频| 国产网站在线免费观看| 国产日产欧美一区二区三区 | 男人j进女人j| 3d成人动漫在线| 国产亚洲精品bt天堂精选| 国产在线欧美日韩| 日本美女一级片| 国产69精品一区二区亚洲孕妇| 亚洲xxxxx性| 91精东传媒理伦片在线观看| 日韩高清不卡一区| 日韩av电影在线播放| 青青草av在线播放| 一区二区三区福利| 97在线免费视频| 日韩欧美a级片| 在线亚洲免费| 欧美性在线视频| 综合激情网五月| 六月丁香综合| 国产不卡av在线| 中文字幕在线欧美| 日韩精品一二三四| 国产精品亚洲激情| 国产精品无码白浆高潮| 国产一区二区在线观看免费| 亚洲精品日韩av| www.四虎在线观看| av网站一区二区三区| 久久国产精品99久久久久久丝袜| 亚洲日本国产精品| 国产日韩欧美精品电影三级在线| 亚洲国产精品一区二区第四页av | 澳门精品久久国产| 亚洲成人在线网| 日韩aaaaa| 国产成人av| 日韩电影中文字幕在线| 欧美老熟妇乱大交xxxxx| 精品一级毛片| 久久精品最新地址| 久久久全国免费视频| 国产一区二区三区久久| 国产精品看片资源| 国产www免费观看| 99九九99九九九视频精品| 日本精品免费| av在线官网| 精品成人乱色一区二区| 黄色在线视频网| 另类视频一区二区三区| 亚洲黄色www| 国产精品情侣呻吟对白视频| 一区二区三区在线| 欧美性视频网站| 一本色道久久综合熟妇| 处破女av一区二区| 日韩av电影免费观看| 麻豆影院在线| 欧美日韩国产精品一区二区不卡中文 | 欧美三区免费完整视频在线观看| av亚洲天堂网| 麻豆一区一区三区四区| 日韩一区二区福利| 日产精品久久久久| 蜜臀av亚洲一区中文字幕| 成人av免费电影| 成年人视频网站在线| 亚洲国产视频直播| 日日噜噜夜夜狠狠| 男人的天堂久久| 久久久黄色av| 无码人妻一区二区三区免费| 国产一区二区三区精品视频| 欧美精品二区三区四区免费看视频 | 尤物tv国产一区| 国产精品成人av久久| 麻豆久久一区二区| 欧美日韩免费观看一区| 香蕉成人app免费看片| 在线免费视频一区二区| 亚洲黄色免费在线观看| 亚洲网色网站| 国产日韩欧美一二三区| 视频二区在线| 亚洲一二三区视频在线观看| 99日在线视频| 精品国产99| 欧美在线视频导航| 蜜臀久久久久久999| 亚洲激情一二三区| 伊人色在线观看| 日韩电影一区| 国产精品久久二区| 日韩大片b站免费观看直播| 亚洲国产综合视频在线观看| 日本一区二区三区在线免费观看| 999成人网| 国产精品日韩专区| 成在在线免费视频| 欧美中文字幕亚洲一区二区va在线| 午夜剧场免费看| 激情丁香综合| 国产精品久久亚洲7777| 婷婷在线播放| 日韩欧美中文字幕精品| 男人操女人的视频网站| 国产在线一区二区| 超碰在线免费观看97| 国产成人久久精品麻豆二区| 国产一区二区三区在线观看网站| 国产精品久久久久久久久久久久久久久久久 | 国产精品xxx在线观看www| 最新国产露脸在线观看| 日韩一区二区在线观看| 免费中文字幕在线| 国产成人精品免费在线| 亚洲熟妇无码av在线播放| silk一区二区三区精品视频| 久久久亚洲欧洲日产国码aⅴ| 高h调教冰块play男男双性文| 亚洲国产人成综合网站| 久久久久久婷婷| 午夜亚洲福利在线老司机| 就去色蜜桃综合| 欧美成人app| 久久九九热免费视频| 性生交生活影碟片| 午夜精品久久久| 日本一级免费视频| 蜜桃视频免费观看一区| 青青草原网站在线观看| 日韩高清一区| 午夜精品蜜臀一区二区三区免费| 婷婷婷国产在线视频| 日本韩国视频一区二区| 午夜国产福利视频| 国产成人在线视频网站| 激情综合在线观看| 日本女优一区| 99蜜桃在线观看免费视频网站| 97蜜桃久久| 国产一区二区三区网站| a天堂视频在线| 天天做天天摸天天爽国产一区| 日本少妇高潮喷水xxxxxxx| 久久99国产精品免费| 国产青草视频在线观看| 国产精品欧美日韩一区| 成人信息集中地欧美| 91制片在线观看| 自拍偷拍亚洲区| 好吊视频一区二区三区| 91豆麻精品91久久久久久| 久久国产高清视频| 91在线免费播放| 亚洲综合婷婷久久| 亚洲激情网址| 中文字幕久久综合| 网友自拍区视频精品| 成人a在线观看| 天堂av在线网| 久久成人av网站| 精品乱码一区二区三四区视频| 欧美一区二区三区免费观看视频| 久久久国产精品成人免费| 国产日韩欧美高清| 色婷婷精品久久二区二区密| 麻豆国产一区二区| 精品国产一二三四区| 亚洲综合自拍| 亚洲国产精品123| 日韩人体视频| av在线不卡一区| 欧美97人人模人人爽人人喊视频| 26uuu日韩精品一区二区| 在线āv视频| 日韩在线观看免费全集电视剧网站| 亚欧在线观看视频| 日韩欧美高清在线| 亚洲网站在线免费观看| 色综合中文综合网| 日韩欧美激情视频| 亚洲免费看黄网站| 你懂得在线观看| 日本一区二区三区四区| 深爱五月激情网| 成人av在线资源网| 在线中文字日产幕| 国产一区二区剧情av在线| 五月婷婷激情久久| 久久精品日韩欧美| 欧美视频第一区| 亚洲国产日韩在线| 精品成在人线av无码免费看| 亚洲精品一区二区妖精| 午夜久久资源| 清纯唯美日韩| 亚洲国产婷婷香蕉久久久久久99| 任你弄精品视频免费观看| 国产精品日韩一区二区| 波多野结衣在线一区二区| 99超碰麻豆| 婷婷综合国产| 国产精品免费观看高清| 在线综合色站| caoporen国产精品| 粉嫩一区二区三区四区公司1| 99re国产在线播放| 亚洲欧洲国产精品一区| 成人av网站观看| 波多野结衣一区二区三区免费视频| 成人动漫视频在线观看免费| 91精品啪在线观看国产爱臀 | 亚洲色图一区二区三区| 免费高清在线观看电视| 亚洲人亚洲人成电影网站色| 粉嫩av性色av蜜臀av网站| 亚洲激情一二三区| 久久9999久久免费精品国产| 午夜欧美2019年伦理| 日韩精品在线免费视频| 色94色欧美sute亚洲线路二 | 69av.com| 亚洲大片精品永久免费| 日韩欧美一区二区一幕| 欧美日韩在线视频观看| 天天干天天操天天爱| 精品1区2区3区| 99热这里只有精品99| 亚洲成av人乱码色午夜| 香蕉人妻av久久久久天天| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 日韩—二三区免费观看av| 日本中文字幕二区| 国产91综合网| 国产精品成人一区二区三区电影毛片| 久久亚洲精精品中文字幕早川悠里 | 国产美女免费视频| 亚洲国产精品免费| 精品99又大又爽又硬少妇毛片| 最近中文字幕2019免费| 丝袜在线视频| 日韩免费精品视频| 国产一区 二区| 蜜桃视频在线观看成人| 日韩欧美高清在线播放| 久久久久久www| 水野朝阳av一区二区三区| 亚洲天堂av一区二区三区| 成人免费毛片a| 天天干天天操天天拍| 夜夜亚洲天天久久| 天堂网一区二区| 日韩欧美三级在线| 国产黄在线看| 欧美久久久精品| 成人国产精品入口免费视频| 国产伦精品一区二区三区视频免费| 国产一区二区三区站长工具| 黄色a级片免费看| 蜜臀av国产精品久久久久 | 欧美国产日韩一二三区| 久草资源在线视频| 欧美色涩在线第一页| 人妻无码一区二区三区久久99| 最近2019中文字幕第三页视频| 两个人看的在线视频www| 91精品在线播放| 精品美女久久| 国产va亚洲va在线va| 久久激情五月婷婷| 最近中文字幕在线mv视频在线 | 中文字幕免费播放| 亚洲级视频在线观看免费1级| 精品自拍一区| 国产精品免费视频xxxx| 人妖一区二区三区| 国内少妇毛片视频| 国产美女在线精品| 成年人在线免费看片| 亚洲h精品动漫在线观看| 国产情侣激情自拍| 日韩最新中文字幕电影免费看| 性欧美18xxxhd| 韩国成人av| 亚洲网站在线| 中文字幕第三区| 国产精品国产馆在线真实露脸| 激情视频网站在线观看| 日韩精品中文字幕有码专区| 久久99亚洲网美利坚合众国| 亚洲一区制服诱惑| 亚洲精品一二三区区别| 小早川怜子一区二区三区| 国产精品五月天| 国产九色91回来了| 亚洲视频在线免费看| 日韩性xxx| 美女亚洲精品| 国产欧美精品| 久久人人爽人人爽人人片| 天涯成人国产亚洲精品一区av| 黄片毛片在线看| 久久久在线视频| 精品网站aaa| av动漫在线看| 久久久一区二区三区捆绑**| 男人天堂中文字幕| 日韩成人高清在线| 中文不卡1区2区3区| 欧美激情www| 免费看欧美女人艹b| 欧美波霸videosex极品| 欧美三级视频在线观看| 黄色免费在线观看| 999日本视频| 亚洲青涩在线| 久久精品成人av| 欧美日韩一区二区三区高清| 黄色的网站在线观看| 亚洲最大的av网站| 亚洲视频日本| 欧美老熟妇乱大交xxxxx| 欧美性大战xxxxx久久久| 午夜免费视频在线国产| 91美女福利视频高清| 亚洲无线一线二线三线区别av| 国产又粗又长又爽| 欧美亚洲愉拍一区二区| 免费黄色在线观看| 成人午夜电影免费在线观看| 国产亚洲亚洲| 懂色av粉嫩av浪潮av| 欧美一区中文字幕| av老司机免费在线| 日本不卡二区高清三区| 久久99在线观看| 日本少妇在线观看| 最近2019中文字幕mv免费看 | 四虎影视成人精品国库在线观看 | 精品国产乱码久久久久久牛牛| 小早川怜子影音先锋在线观看| 午夜精品一区二区在线观看的 | 久久精品三级| 天海翼在线视频| 日韩精品在线观看一区| 欧美日韩va| 国产精品999视频| 国产精品天美传媒沈樵| 亚洲第一页在线观看| 国产成人免费av| 亚洲精品在线观看91| 免费毛片视频网站| 日韩一级片在线观看| 日韩大尺度黄色| 成人免费a级片| 国产精品日产欧美久久久久| 国产 欧美 自拍| 国产精品一区二区三区久久久 | 亚洲色图制服诱惑| 精品无吗乱吗av国产爱色| 97超级碰碰| 麻豆精品精品国产自在97香蕉| 亚洲欧美在线视频免费| 久久久999成人|