精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

卡一精品卡二卡三网站乱码| av中文字幕一区二区三区| 亚洲天堂偷拍| 亚洲社区在线观看| 午夜激情视频网| 草草在线视频| 国产精品久久久久7777按摩| 成人免费在线一区二区三区| 五月天激情四射| 这里只有精品在线| 国产亚洲人成网站在线观看| 欧美日韩一区二区区| 亚洲人体影院| 一区二区激情小说| 日韩资源av在线| 蜜桃91麻豆精品一二三区| 玖玖国产精品视频| 欧美日韩国产成人| 女人十八毛片嫩草av| 精品自拍偷拍| 日韩午夜小视频| 熟女人妇 成熟妇女系列视频| av在线影院| 国产精品蜜臀在线观看| 韩日午夜在线资源一区二区| 国产精品久久久久久免费播放| 久久福利影视| 97精品在线观看| 亚洲人与黑人屁股眼交| 一区二区美女| 日韩黄在线观看| 国产精品区在线| 三上悠亚亚洲一区| 精品久久久视频| 日韩在线观看a| 国产三区在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产伦精品一区二区三区千人斩| 精品久久久久久亚洲综合网| 涩涩网站在线看| 国产精品久久乐| 在线精品视频小说1| 日韩毛片在线免费看| 免费在线小视频| 亚洲不卡一区二区三区| 欧美一二三不卡| av在线免费网站| 亚洲免费观看视频| 无码人妻精品一区二区三区99v| 日本在线视频观看| 国产精品成人免费在线| 午夜精品一区二区三区在线观看 | 国产l精品国产亚洲区久久| av在线视屏| 黑人欧美xxxx| 亚洲精品乱码久久久久久自慰| 美女视频在线免费| 欧美色视频日本版| 一级特黄性色生活片| 丁香婷婷久久| 91精品国产品国语在线不卡| 欧美午夜精品理论片| 精品国产第一国产综合精品| 日韩欧美亚洲国产另类 | 91美女精品福利| 久久精品日产第一区二区三区乱码 | 欧美国产亚洲一区| sese综合| 欧美日本不卡视频| 国产精品熟女一区二区不卡| 亚洲一区二区三区四区电影| 精品国产露脸精彩对白 | 欧美韩国一区二区| 一本一生久久a久久精品综合蜜| 黄色网页在线免费观看| 一二三四社区欧美黄| 国产黄视频在线| 91伊人久久| 日韩一级欧美一级| 国产熟女高潮一区二区三区| 精品一区二区三| 久久精品国产免费观看| 欧美日韩中文视频| 老司机精品久久| 成人性生交大片免费看视频直播| www.香蕉视频| 久久免费精品国产久精品久久久久| 水蜜桃一区二区| 久草在线资源站资源站| 色婷婷狠狠综合| 婷婷中文字幕在线观看| 欧美做受69| 久久精彩免费视频| 福利一区二区三区四区| 日本中文字幕一区二区视频 | 日韩伦理一区| 欧美劲爆第一页| 波多野结衣人妻| 粉嫩绯色av一区二区在线观看| 欧美日韩精品不卡| 91麻豆免费在线视频| 色综合色综合色综合| www.国产福利| 精品久久影视| 久久免费精品视频| 一卡二卡三卡在线| 久久综合九色综合欧美亚洲| av影院在线播放| 69堂精品视频在线播放| 精品国产露脸精彩对白| 成人一级黄色大片| 日韩精品一区第一页| 国产精品18毛片一区二区| 午夜视频在线观看免费视频| 午夜电影一区二区三区| 色婷婷一区二区三区在线观看| 综合伊思人在钱三区| 欧美日本黄视频| 一区二区三区www污污污网站| av日韩在线网站| 无码人妻精品一区二区蜜桃百度| 日韩成人高清| 日韩第一页在线| 九九热国产精品视频| 麻豆国产精品一区二区三区 | 自拍视频亚洲| 国产欧美欧洲在线观看| 美女做暖暖视频免费在线观看全部网址91 | 五月天婷婷综合网| 国产成人综合在线| 91免费视频黄| 中文成人在线| 最近2019中文字幕在线高清| 一级片免费在线播放| 成人精品一区二区三区中文字幕 | 国产91丝袜美女在线播放| 国产手机视频一区二区| 国产精品免费区二区三区观看| 国产精品扒开做爽爽爽的视频| 在线观看日韩一区| 免费看黄色的视频| 欧美一级播放| 麻豆久久久av免费| 日韩福利一区| 亚洲一区999| 99re这里只有精品在线| 久久久精品2019中文字幕之3| 久久精品免费一区二区| 中文字幕亚洲影视| 日韩美女在线看| 免费人成在线观看网站| 色一情一乱一乱一91av| 精品无人区无码乱码毛片国产| 久久久人人人| 日韩精品电影网站| 欧美电影在线观看网站| 日韩视频免费中文字幕| 国产又大又黑又粗| 一区二区三区 在线观看视频 | av成人资源| 久久久久久久久久久久av| 日韩在线视频观看免费| 五月婷婷欧美视频| 久操视频免费看| 日韩av中文字幕一区二区三区| 神马影院午夜我不卡影院| 欧美爱爱视频| 久久久久久九九九| 亚洲av成人精品日韩在线播放| 色偷偷一区二区三区| 成人信息集中地| 国产iv一区二区三区| 18禁网站免费无遮挡无码中文| 欧亚精品一区| 国产日韩欧美在线播放| av小次郎在线| 精品一区二区三区四区| 中文字幕观看在线| 亚洲免费三区一区二区| 亚洲精品乱码久久| 日本aⅴ精品一区二区三区| 国产四区在线观看| 午夜欧洲一区| 国产中文字幕91| 538在线视频| 中文字幕欧美日韩精品 | 国产亚洲视频在线观看| 国产又粗又猛又爽又黄的| 亚洲不卡在线观看| 亚洲AV成人无码网站天堂久久| 国产精品18久久久久久久久 | 日韩另类视频| 欧美激情一二区| 国产美女性感在线观看懂色av| 在线不卡欧美精品一区二区三区| 国产在线拍揄自揄拍无码视频| 国产三级精品三级| 小日子的在线观看免费第8集| 欧美亚洲网站| 韩日视频在线观看| 日韩理论电影大全| 久草热久草热线频97精品| 亚洲精品毛片| 欧美性视频网站| 在线欧美三级| 在线播放精品一区二区三区| 免费看av毛片| 欧美一区二区三区不卡| 中文字幕精品视频在线观看| 亚洲综合免费观看高清完整版| 91成人破解版| 99久久精品免费看| 午夜诱惑痒痒网| 日本亚洲视频在线| 又粗又黑又大的吊av| 牛牛国产精品| 综合一区中文字幕| 精品久久久久中文字幕小说 | 国产精品欧美一区二区| 国产v日韩v欧美v| 久久不射热爱视频精品| 激情小视频在线| 国产手机视频精品| 日韩在线观看视频一区二区三区| 日韩欧美二区三区| 99久久精品国产一区色| 欧美色区777第一页| 福利网址在线观看| 一本一本久久a久久精品综合麻豆| 国产在线视频二区| 亚洲成人av资源| 免费无遮挡无码永久在线观看视频| 国产精品乱人伦一区二区| 久久视频精品在线观看| 国产欧美日韩在线观看| 无码一区二区三区在线| 国产夜色精品一区二区av| 少妇真人直播免费视频| 久久日韩粉嫩一区二区三区| 强迫凌虐淫辱の牝奴在线观看| 成人午夜又粗又硬又大| av电影在线播放| 国产a级毛片一区| 乳色吐息在线观看| 岛国一区二区在线观看| 久草视频福利在线| 成人福利视频网站| 久久精品女同亚洲女同13| 99久久久免费精品国产一区二区| 国产日韩视频一区| av福利精品导航| 大地资源二中文在线影视观看| 99天天综合性| 国产黄片一区二区三区| 国产日韩精品久久久| 免费看日本黄色片| 国产精品看片你懂得 | 精品久久久久久国产| 国产精品100| 欧美午夜不卡视频| 一区二区三区黄色片| 日韩午夜激情电影| 人妻精品无码一区二区| 亚洲精品在线视频| 91网在线播放| 久久91超碰青草是什么| xxx.xxx欧美| 欧美中文字幕在线播放| 成人国产一区| 91久久久一线二线三线品牌| 久9re热视频这里只有精品| 乱色588欧美| 水蜜桃久久夜色精品一区| av一区二区三区免费观看| 免费精品视频| 性欧美1819| 成人美女在线视频| 男人舔女人下部高潮全视频| ...av二区三区久久精品| 国产一级性生活| 在线观看日韩一区| 亚洲国产精品一| 亚洲一区第一页| 日韩影视在线| 国产成人福利视频| 日韩在线成人| 日本不卡免费新一二三区| 51精产品一区一区三区| 自拍日韩亚洲一区在线| 蜜桃视频在线观看一区| 国产a级片视频| 中文字幕va一区二区三区| 久久网中文字幕| 欧美性猛交xxxx黑人交| 欧美77777| 日韩在线观看免费网站| 欧美男男激情videos| 成人在线精品视频| 免费看成人吃奶视频在线| 日韩视频一二三| 日韩高清在线一区| 日本人添下边视频免费| 一区在线播放视频| www.国产com| 精品国产一区二区亚洲人成毛片| 第一页在线观看| 91精品国产91久久久| 亚洲91网站| 亚洲一区二区三区乱码| 久久成人一区| 人体私拍套图hdxxxx| 亚洲免费观看高清完整版在线观看| 少妇高潮av久久久久久| 亚洲成人黄色在线观看| 国产一区久久精品| 国产精品高潮呻吟久久av黑人| 最新国产一区二区| 一级特黄录像免费播放全99| 三级欧美在线一区| 亚洲二区三区四区| 亚洲精选在线| 国产又粗又猛又爽又黄| 国产精品午夜久久| 欧美 日韩 精品| 精品国产乱码久久久久久浪潮| 欧美精品日韩少妇| 国产成人精品免高潮在线观看| 精品国产导航| 成人国产在线看| 国产在线精品不卡| 精品国产大片大片大片| 欧美亚洲一区二区在线| 你懂的在线观看| 欧洲精品在线视频| 婷婷精品在线| 免费在线激情视频| 99国产精品国产精品久久| 国产精品变态另类虐交| 欧美va在线播放| 欧美xxxbbb| 高清av免费一区中文字幕| 中文视频一区| 精品无码av一区二区三区不卡| 亚洲视频你懂的| 国产黄频在线观看| 久久久久成人精品| 久久人人爽人人爽人人片av不| www.日本在线播放| 99久久精品免费观看| 91玉足脚交嫩脚丫在线播放| 日韩高清不卡av| 三上悠亚激情av一区二区三区| 日韩经典在线视频| 久久av老司机精品网站导航| 艳妇荡乳欲伦69影片| 日韩写真欧美这视频| 黄色成人在线网| 久久精品二区| 青青草成人在线观看| 亚洲AV成人无码精电影在线| 欧美一区二区不卡视频| 国产99re66在线视频| 久久精品国产综合精品| 日韩av不卡一区二区| 夫妻性生活毛片| 亚洲成色777777在线观看影院 | 91精品国产91久久久久久吃药| 亚州精品视频| 亚洲欧美国产日韩综合| 亚洲另类一区二区| 亚洲国产精品久久人人爱潘金莲 | 波多野结衣激情视频| www.欧美三级电影.com| 久久av偷拍| 黄色一级在线视频| 国产女同性恋一区二区| 精品乱子伦一区二区| 欧美一级免费视频| 欧美激情777| 国产一级免费片| 欧美在线观看一二区| 在线黄色网页| 欧美日韩视频在线一区二区观看视频| 麻豆一区二区在线| 国产在线视频你懂的| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 久久久久久久一区二区| 国产欧美高清视频在线| 韩国三级丰满少妇高潮| 色94色欧美sute亚洲线路一久| 黄色网页在线看| 欧美日韩精品免费看| 国产成人免费视频网站| 五月天婷婷导航| 欧美疯狂做受xxxx高潮| 欧美一区二区麻豆红桃视频| 天天躁日日躁狠狠躁av| 欧美日韩高清不卡| 深夜av在线| 日韩精品免费一区|