• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Apache ZooKeeper設(shè)計理念和數(shù)據(jù)結(jié)構(gòu)的研究

    2022-02-03 07:12:06索海燕
    現(xiàn)代計算機(jī) 2022年21期
    關(guān)鍵詞:版本號鑒權(quán)服務(wù)端

    陳 濤,索海燕

    (1.畢馬威信息技術(shù)服務(wù)(南京)有限公司,南京 210003;2.南京醫(yī)科大學(xué)第一附屬醫(yī)院(江蘇省人民醫(yī)院)信息處,南京 210096)

    0 引言

    在傳統(tǒng)的計算機(jī)行業(yè)中,開發(fā)人員通常擅長開發(fā)單機(jī)程序,卻很難高效地開發(fā)出多個獨立程序協(xié)同工作功能。這是因為開發(fā)這種協(xié)同技術(shù)是非常困難的,很容易導(dǎo)致開發(fā)者投入大量的時間考慮協(xié)同工作的業(yè)務(wù)邏輯,而沒有時間更好地處理并實現(xiàn)應(yīng)用程序的業(yè)務(wù)邏輯。

    Apache ZooKeeper 是基于分布式計算的核心概念設(shè)計的,中心化的管理方式,提供了注冊中心和配置中心,旨在解決分布式框架數(shù)據(jù)一致性的難題。分布式系統(tǒng)的核心要素就是構(gòu)建中心化平臺,集群中每個子節(jié)點都需要通過中心化平臺保障數(shù)據(jù)的最終一致性。ZooKeeper 一詞的本意是“動物園管理者”,原因是Apache基金會有多個以動物名稱命名的框架,這些框架都需要中心化服務(wù)。ZooKeeper 最初由知名互聯(lián)網(wǎng)公司雅虎創(chuàng)建,該項目最早起源于雅虎研究院的一個研究小組。當(dāng)時雅虎研究人員發(fā)現(xiàn),雅虎內(nèi)部很多大型系統(tǒng)都需要依賴一個分布式協(xié)調(diào)系統(tǒng),但是這些系統(tǒng)存在分布式單點問題。開發(fā)人員嘗試開發(fā)了一個無單點問題的通用分布式協(xié)調(diào)框架,利用該框架后業(yè)務(wù)開發(fā)人員可以將精力全部集中在處理業(yè)務(wù)邏輯上。本文深入研究ZooKeeper內(nèi)核數(shù)據(jù)結(jié)構(gòu)的原理。

    1 ZooKeeper設(shè)計理念

    分布式領(lǐng)域有一個著名的“拜占庭將軍問題”[1],它是由Lamport 等人在1982 年提出的?!鞍菡纪④妴栴}”描述了這樣一個場景:拜占庭帝國有許多支軍隊,不同軍隊的將軍需要共同制定一個統(tǒng)一的軍事計劃,用于做出進(jìn)攻或者撤退的決定。這些將軍因為地理隔離原因,需要依賴通信員進(jìn)行通信。但是,通信員之中可能會存在叛徒,這些通信員叛徒可以任意篡改軍事信息,從而欺騙將軍。

    “拜占庭將軍問題”在分布式計算領(lǐng)域引發(fā)了探討[2]。從理論上來說,在分布式計算領(lǐng)域,試圖在異步系統(tǒng)不可靠通道上達(dá)到一致性狀態(tài)是不可能的。通常在對一致性的研究過程中,都需要一個前提假設(shè):通信通道是可靠的。但在實際應(yīng)用中,網(wǎng)絡(luò)波動和硬件故障很容易造成消息不完整,或被惡意程序篡改。為了保障消息的最終一致性,學(xué)者們提出了多個定律或理論。

    分布式領(lǐng)域有一個很著名的CAP 定律[3]:一致性(consistency)、可用性(availability)和分區(qū)容忍性(partition-tolerance)。任何一個系統(tǒng)都不能同時滿足這三個要求。對于網(wǎng)絡(luò)分區(qū)(network-partition),為了避免腦裂(split-brain)問題,即從節(jié)點無法與群首節(jié)點通信時,與第二個群首節(jié)點建立主從關(guān)系。ZooKeeper 在腦裂場景下,從節(jié)點為只讀狀態(tài),從而保證不會產(chǎn)生多個主從關(guān)系集群。ZooKeeper 的設(shè)計理念可以保證一致性和可用性。

    此外分布式領(lǐng)域還有一個BASE 理論[4],它是基本可用(basically available)、軟狀態(tài)(soft state)和最終一致性(eventually consistent)的簡寫。核心思想是即使無法做到實時一致性(強(qiáng)一致性),也能夠采用一定的同步機(jī)制來保證系統(tǒng)最終達(dá)到一致性的效果。這也是對CAP 定律一致性和可用性進(jìn)行權(quán)衡的結(jié)果[5]。ZooKeeper 巧妙地使用了一種稱為Zookeeper 原子廣播(Zoo?keeper atomic broadcast,ZAB)的協(xié)議保障數(shù)據(jù)的最終一致性,使得其成為分布式系統(tǒng)的奠基石。

    ZooKeeper 集群采用了中心化設(shè)計理念和最終一致性算法,本質(zhì)上和分布式數(shù)據(jù)存儲系統(tǒng)原理相似。其數(shù)據(jù)結(jié)構(gòu)是模仿文件系統(tǒng)設(shè)計的,數(shù)據(jù)結(jié)構(gòu)是一個帶有根節(jié)點的目錄樹。其中每個節(jié)點被稱為Znode,每個Znode 都對應(yīng)著唯一的路徑,并默認(rèn)能夠存儲大小為1MB 的二進(jìn)制數(shù)據(jù)。下面以Apache Dubbo 對接ZooKeeper 生成的服務(wù)提供目錄為例展示中心化設(shè)計理念,如圖1所示。

    圖1 Apache Dubbo生成的服務(wù)提供目錄

    如圖1所示,Apache Dubbo在啟動時會根據(jù)用戶配置在ZooKeeper注冊中心創(chuàng)建四個Znode:/providers、/consumers、/routers 和/configurators。每個節(jié)點的路徑由父節(jié)點和服務(wù)名組成,例如,第一行的/providers 節(jié)點對應(yīng)的路徑是/dubbo/ser?vice1/providers。

    采用中心化設(shè)計理念的分布式系統(tǒng),可以利用ZooKeeper實現(xiàn)如下五種需求。

    (1)為分布式集群提供中心化配置功能,例如負(fù)載均衡配置、異常場景策略配置。此外還支持熱更新,監(jiān)聽某個路徑的狀態(tài),在不重啟程序的前提下,修改配置參數(shù)并立即生效。

    (2)為分布式集群提供節(jié)點動態(tài)發(fā)現(xiàn)與異常監(jiān)控機(jī)制,例如RPC 提供者向注冊中心同步自己的服務(wù)狀態(tài),注冊中心實時監(jiān)控提供者的異常情況,并及時通知服務(wù)消費者。節(jié)點的動態(tài)拓展功能指的是新節(jié)點能夠獲取集群其他節(jié)點信息。某節(jié)點故障宕機(jī)后,集群中其他節(jié)點可以獲取通知并實現(xiàn)故障恢復(fù)。

    (3)為分布式集群提供主從集的集群管理,支持Raft 協(xié)議群首節(jié)點投票選舉功能,是絕大多數(shù)分布式系統(tǒng)主從集的核心功能。

    (4)提供分布式鎖,支持公平鎖和非公平鎖,提供分布式隊列。提供分布式計數(shù)器、分布式多線程同步器。支撐客戶端實現(xiàn)群首選舉設(shè)計模式。

    (5)提供發(fā)布/訂閱設(shè)計模式的實現(xiàn)方案。

    2 ZooKeeper數(shù)據(jù)結(jié)構(gòu)

    ZooKeeper 命名空間內(nèi)部擁有一個樹狀的內(nèi)存模型,其中各節(jié)點被稱為Znode。每個Znode包含一個路徑和與之相關(guān)的元數(shù)據(jù)[6],以及該Znode 下關(guān)聯(lián)的子節(jié)點列表。ZooKeeper 內(nèi)核設(shè)計原理都是圍繞著Znode 展開的,Znode 在Zoo?Keeper中所起的作用如圖2所示。

    圖2 Znode實例

    如圖2 所示,提供者向ZooKeeper 節(jié)點A 創(chuàng)建了Znode臨時節(jié)點,用來保存其地址和接口等信息。服務(wù)消費者從Znode臨時節(jié)點獲取對應(yīng)的地址等信息,從Znode永久節(jié)點獲取負(fù)載均衡路由策略等信息,最后直連提供者發(fā)起請求。同時服務(wù)消費者監(jiān)控Znode 臨時節(jié)點,及時獲取提供者在線狀態(tài)信息。ZooKeeper 節(jié)點A 通過ZAB 協(xié)議同步Znode 臨時節(jié)點數(shù)據(jù)到ZooKeeper節(jié)點B。

    每個Znode都對應(yīng)著一個唯一路徑,并存儲默認(rèn)1 MB 的二進(jìn)制數(shù)據(jù),格式為字節(jié)數(shù)組(byte array)。ZooKeeper 不直接提供序列化和反序列化的功能,通常使用客戶端序列化工具進(jìn)行解析操作。Znode 可以通過配置增大存儲數(shù)據(jù)容量,但通常不建議這么做,如果存儲的數(shù)據(jù)容量比較大,客戶端拉取時會面臨著網(wǎng)絡(luò)帶寬的壓力,ZooKeeper 主從集同步數(shù)據(jù)也會有帶寬壓力。如果真有這方面的需求,可以考慮把數(shù)據(jù)保存在支持事務(wù)的數(shù)據(jù)庫里,例如MySQL 把數(shù)據(jù)的主鍵更新在Znode上,實現(xiàn)大容量數(shù)據(jù)的實時同步。此外,因為臨時節(jié)點在創(chuàng)建者會話失效時會被刪除,所以ZooKeeper 不允許臨時節(jié)點擁有子節(jié)點,臨時時序節(jié)點同理。如果需要創(chuàng)建子節(jié)點,可以考慮父節(jié)點采用持久節(jié)點或者持久時序節(jié)點來實現(xiàn)。ZooKeeper 將全量Znode數(shù)據(jù)保存在內(nèi)存中,用此來增加服務(wù)器的吞吐量。這種機(jī)制導(dǎo)致了ZooKeeper 特別適合以讀操作為主,不涉及事務(wù)的請求處理。

    原語操作列表API 在擴(kuò)展操作列表時需要新增API,頻繁更新API 將會降低服務(wù)的靈活性。為了保障服務(wù)的靈活性,ZooKeeper 提供給客戶端可調(diào)用的API,用于文件系統(tǒng)的操作,既實現(xiàn)了對Znode 的操作,又保障了API 的長期穩(wěn)定運行。

    每個Znode 都有一個版本號,當(dāng)對Znode 執(zhí)行修改或刪除操作時,都會導(dǎo)致版本號增加。所以對Znode 的并發(fā)修改可以保證有順序地執(zhí)行,因為每次調(diào)用API 傳入的參數(shù)包含版本號,只有當(dāng)參數(shù)版本號與ZooKeeper 服務(wù)器上的版本號一致時,修改或刪除操作才會執(zhí)行成功。當(dāng)多個線程同時對一個Znode進(jìn)行操作時,版本號就能保證操作的原子性和可見性。ZooKeeper API支持用戶設(shè)置成禁用版本號檢查。版本號的設(shè)計和JDK 的AtomicStampedReference 采用long類型時間戳控制版本號,保障比較并交換(CAS)原子操作的原理相似。圖3 為Znode 使用版本號來控制并發(fā)操作的示意圖。

    如圖3 所示,客戶端1 發(fā)起修改請求,把版本號1 當(dāng)作參數(shù),如果版本號等于1,就設(shè)置/path 路徑Znode 的值為A。服務(wù)端接收到請求后,設(shè)置Znode 的值為A,并把版本號加1,此時服務(wù)端版本號為2??蛻舳? 獲取版本號為2的Znode值,然后向ZooKeeper服務(wù)端發(fā)起請求,把版本號等于2當(dāng)作參數(shù)。服務(wù)端通過版本號校驗,把Znode 值設(shè)置成了B,并把版本號加1,此時服務(wù)端版本號為3??蛻舳? 發(fā)起修改請求,把版本號2 當(dāng)作參數(shù),但是此時ZooKeeper服務(wù)端的Znode 版本號為3,所以版本校驗不通過。ZooKeeper 服務(wù)端直接返回操作失敗異常。通過圖3的示例可以看出版本號機(jī)制可以有效地控制并發(fā)修改問題,保證操作的原子性。

    圖3 Znode版本號機(jī)制

    Znode 上保存的版本號本質(zhì)上是Stat 類型的對象屬性,該對象保存了節(jié)點的屬性信息。Stat對象主要包含了上次更新的時間戳(ZooKeeper transaction ID,zxid)以及擁有的子節(jié)點數(shù)量。實際業(yè)務(wù)中,ZooKeeper 管理版本號時,并不是使用單純加1的操作,還要利用事務(wù)的機(jī)制,將事務(wù)中的版本號zxid 更新Znode 的版本號。Zxid 是ZooKeeper 服務(wù)端處理事務(wù)最重要的組成元素,zxid 是64 位long 類型整數(shù),前32 位表示時代標(biāo)識Epoch,后32位表示操作序號counter。

    3 監(jiān)視點與通知

    客戶端可以對Znode 設(shè)置監(jiān)視點(watcher),當(dāng)Znode 狀態(tài)發(fā)生變化時,ZooKeeper 對客戶端發(fā)出對應(yīng)的事件通知,又稱基于通知(notifica?tion)的事件消息機(jī)制[7]。簡而言之,就是對Znode 綁定了一個狀態(tài)監(jiān)視機(jī)制。監(jiān)視點是單次觸發(fā)的操作,一個監(jiān)視點只能觸發(fā)一個通知。

    對一個Znode 的操作,ZooKeeper 先向客戶端傳送事件通知,然后對該節(jié)點進(jìn)行變更操作。這里的Znode操作是一個事務(wù),客戶端不需要擔(dān)心收到通知后,再獲取的數(shù)據(jù)有問題。Zoo?Keeper 管理的API 均可在Znode 上設(shè)置監(jiān)聽點,監(jiān)聽其讀寫操作,如Exists()、GetData()、GetChildren()。

    ZooKeeper 移除監(jiān)視點的方法有兩個,一是觸發(fā)這個監(jiān)視點事件通知;二是客戶端會話關(guān)閉或超時,監(jiān)視點通知無法發(fā)送,導(dǎo)致監(jiān)視點移除。監(jiān)視點觸發(fā)的事件通知不包含變更的Znode 數(shù)據(jù)。客戶端在獲取事件通知以后,仍然需要主動調(diào)用GetData API 獲取變更的數(shù)據(jù)。當(dāng)然這個操作并不是原子性的,獲得通知和拉取數(shù)據(jù)的過程中Znode數(shù)據(jù)可能會被再次修改。監(jiān)視點事件通知的詳細(xì)過程如圖4所示。

    在圖4 中,客戶端1 創(chuàng)建Znode 數(shù)據(jù)為A,并設(shè)置監(jiān)聽點??蛻舳? 更新Znode 數(shù)據(jù)為B,并觸發(fā)監(jiān)聽點NodeDataChanged。此時,Zoo?Keeper 先通知客戶端1 數(shù)據(jù)變更,再通過ZAB協(xié)議通知集群數(shù)據(jù)為B,并修改群首持久化數(shù)據(jù)。客戶端1 接收到只是變更通知,仍需發(fā)起GetData 請求獲取Znode 數(shù)據(jù),客戶端1 獲取數(shù)據(jù)的過程中,客戶端2 又更新Znode 數(shù)據(jù)為A。結(jié)果客戶端1 獲取Znode 數(shù)據(jù)仍然為A。客戶端1 再次對Znode 設(shè)置監(jiān)聽點。雖然客戶端1 使用監(jiān)聽點,沒有獲取數(shù)據(jù)B,出現(xiàn)了ABA 的問題,但是監(jiān)聽點機(jī)制能夠保證數(shù)據(jù)的最終一致性。這里獲取Znode 數(shù)據(jù)和設(shè)置監(jiān)聽點是同一個API請求(GetData API)。

    圖4 監(jiān)視點事件通知

    服務(wù)端監(jiān)聽點的信息全部保存在內(nèi)存中,每個監(jiān)聽點大約占用0.3 KB 內(nèi)存,監(jiān)聽點不會存到硬盤上。因為當(dāng)服務(wù)端發(fā)現(xiàn)客戶端連接斷開時,判斷出無法給客戶端發(fā)送監(jiān)視點通知,就會把內(nèi)存中失效的監(jiān)視點刪除。之所以客戶端重連后監(jiān)視點仍舊生效,是因為客戶端本地保存了監(jiān)視點數(shù)據(jù),重連后同步服務(wù)端啟用對應(yīng)的監(jiān)視點。

    客戶端重連成功后,會將全部未觸發(fā)的監(jiān)視點列表發(fā)送給服務(wù)端。服務(wù)端接收并檢查該列表,如果部分Znode在客戶端上一個會話注冊監(jiān)視點之后就已經(jīng)更新了,那么服務(wù)端將直接把對應(yīng)的監(jiān)視點通知事件發(fā)送給客戶端,其余監(jiān)視點重新在服務(wù)端上注冊。服務(wù)端通過對比Znode 修改zxid 包含的時間戳,就能判斷未觸發(fā)監(jiān)視點列表Znode是否已經(jīng)更新。

    除此之外,還有一種可能導(dǎo)致ABA 的問題場景,假設(shè)Path 路徑的Znode 不存在,客戶端A調(diào)用Exists API 監(jiān)聽該路徑是否存在,如果此時客戶端A 突然斷線,在客戶端A 斷線期間,客戶端B 創(chuàng)建了Path 路徑的Znode,很快Path 路徑的Znode 又被刪除了。Path 刪除后,客戶端A 重新連上了,但是此時客戶端A 無法感知Znode是否存在過??蛻舳薃 沒有收到對應(yīng)監(jiān)視點通知,仍然會將全部未觸發(fā)的監(jiān)視點列表發(fā)送給服務(wù)端。這種ABA 問題無法避免,所以業(yè)務(wù)上應(yīng)盡量規(guī)避這種場景。

    4 ACL權(quán)限控制

    ZooKeeper 提供的安全機(jī)制,是通過訪問控制表(access control list,ACL)來實現(xiàn)訪問權(quán)限控制的。權(quán)限控制表ACL 綁定在每個Znode 上,且子節(jié)點不會繼承父節(jié)點的權(quán)限,父、子節(jié)點的權(quán)限相對獨立。如果客戶端沒有父節(jié)點的權(quán)限,在子節(jié)點沒有設(shè)置權(quán)限的情況下,客戶端可以直接訪問子節(jié)點,所以需要分別設(shè)置父、子節(jié)點權(quán)限。ACL 權(quán)限控制方式也被應(yīng)用在Linux和Unix文件系統(tǒng)中。

    ACL 定義了Read、Write、Create、Delete、Admin共五種Znode操作的權(quán)限。Read權(quán)限用于獲取當(dāng)前節(jié)點數(shù)據(jù)權(quán)限,獲取子節(jié)點列表權(quán)限。Write 權(quán)限用于更新當(dāng)前節(jié)點權(quán)限。Create 權(quán)限用于創(chuàng)建子節(jié)點權(quán)限。Delete權(quán)限用于刪除子節(jié)點權(quán)限。Admin 權(quán)限用于設(shè)置節(jié)點ACL 列表的權(quán)限。

    訪問權(quán)限的檢查是基于每一個Znode 的,ACL 權(quán)限控制包含兩個方面,一是ZooKeeper 服務(wù)端內(nèi)置的ACL 鑒權(quán)模式;二是客戶端請求服務(wù)器提交的鑒權(quán)信息??蛻舳苏埱髷y帶的鑒權(quán)信息數(shù)據(jù)結(jié)構(gòu)是根據(jù)ZooKeeper 服務(wù)端采用的鑒權(quán)模式來匹配的,格式是scheme:auth-info,即“鑒權(quán)模式:鑒權(quán)信息”的格式。通??蛻舳诉M(jìn)程可以在任何時候調(diào)用addAuthInfo 來提交鑒權(quán),只有IP 鑒權(quán)模式不需要該操作。常用的鑒權(quán)模式包括world 鑒權(quán)模式、digest 鑒權(quán)模式、IP 鑒權(quán)模式、自定義鑒權(quán)模式、SAS鑒權(quán)模式、super鑒權(quán)模式共六種。

    猜你喜歡
    版本號鑒權(quán)服務(wù)端
    認(rèn)識vSphere安裝程序
    云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
    新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
    在Windows Server 2008上創(chuàng)建應(yīng)用
    深入淺出 全面獲知系統(tǒng)版本號
    移動網(wǎng)絡(luò)用戶頻繁鑒權(quán)問題的優(yōu)化方案探討
    移動通信(2015年2期)2015-04-13 04:14:26
    基于小型核心網(wǎng)的LTE鑒權(quán)的一種新實現(xiàn)
    多種方法查看系統(tǒng)版本號
    電腦迷(2014年8期)2014-04-29 08:53:03
    電子商務(wù)的數(shù)據(jù)陳舊性檢查的設(shè)計與實現(xiàn)
    電信增值業(yè)務(wù)運營中的認(rèn)證鑒權(quán)控制方案研究
    中文字幕久久专区| 国产在线精品亚洲第一网站| 中亚洲国语对白在线视频| 日日干狠狠操夜夜爽| 国产一区二区激情短视频| 国产成年人精品一区二区| 美女大奶头视频| 波多野结衣高清无吗| 两个人的视频大全免费| 国产免费男女视频| 99久久99久久久精品蜜桃| 亚洲欧美日韩高清在线视频| 亚洲美女搞黄在线观看 | 精品久久久久久久人妻蜜臀av| 亚洲第一欧美日韩一区二区三区| 国产中年淑女户外野战色| 天美传媒精品一区二区| 一夜夜www| 一个人免费在线观看电影| 一个人免费在线观看电影| 亚洲av一区综合| 久久精品综合一区二区三区| 美女黄网站色视频| avwww免费| 欧美在线黄色| 精华霜和精华液先用哪个| 日本五十路高清| 好男人电影高清在线观看| 1000部很黄的大片| 999久久久精品免费观看国产| 国产淫片久久久久久久久 | 观看免费一级毛片| 特大巨黑吊av在线直播| 狂野欧美白嫩少妇大欣赏| 在现免费观看毛片| 一本一本综合久久| 嫁个100分男人电影在线观看| 在线观看午夜福利视频| 91久久精品国产一区二区成人| 观看美女的网站| 男女之事视频高清在线观看| 深爱激情五月婷婷| 一个人免费在线观看的高清视频| 欧美黑人欧美精品刺激| 亚洲精品色激情综合| 国产伦精品一区二区三区视频9| 男人舔女人下体高潮全视频| 国产精品一区二区性色av| 日韩大尺度精品在线看网址| 欧美成人一区二区免费高清观看| 91久久精品国产一区二区成人| 日韩av在线大香蕉| 亚洲七黄色美女视频| 国产伦人伦偷精品视频| 18禁在线播放成人免费| 乱人视频在线观看| 亚洲性夜色夜夜综合| АⅤ资源中文在线天堂| 美女黄网站色视频| 国产私拍福利视频在线观看| 亚洲美女视频黄频| 精品一区二区免费观看| 3wmmmm亚洲av在线观看| 色噜噜av男人的天堂激情| 精品久久久久久久久亚洲 | 欧美又色又爽又黄视频| 亚洲精品在线观看二区| 午夜福利在线在线| 日韩精品青青久久久久久| 国产免费男女视频| 日本一本二区三区精品| 久久精品国产亚洲av天美| 亚洲久久久久久中文字幕| 欧美3d第一页| 亚洲一区高清亚洲精品| 欧美3d第一页| x7x7x7水蜜桃| 两人在一起打扑克的视频| 成人av在线播放网站| 国产淫片久久久久久久久 | 中文字幕免费在线视频6| 国产视频内射| 精品日产1卡2卡| 亚洲久久久久久中文字幕| 免费看日本二区| 两人在一起打扑克的视频| 国产麻豆成人av免费视频| 能在线免费观看的黄片| 国产美女午夜福利| 18禁黄网站禁片午夜丰满| 熟女人妻精品中文字幕| 国产精品嫩草影院av在线观看 | 亚洲欧美日韩无卡精品| 亚洲自拍偷在线| 日本 av在线| 婷婷六月久久综合丁香| 亚洲美女视频黄频| 日韩欧美三级三区| 国产欧美日韩一区二区三| 我的女老师完整版在线观看| 亚洲片人在线观看| 草草在线视频免费看| 亚洲av免费在线观看| АⅤ资源中文在线天堂| 超碰av人人做人人爽久久| 亚洲aⅴ乱码一区二区在线播放| 一区二区三区四区激情视频 | 97超视频在线观看视频| 精品午夜福利在线看| 成人特级av手机在线观看| 丰满人妻一区二区三区视频av| 亚洲av免费在线观看| 国产一级毛片七仙女欲春2| 欧美性感艳星| 国产野战对白在线观看| 国产野战对白在线观看| 欧美绝顶高潮抽搐喷水| 精品一区二区三区av网在线观看| 亚洲在线自拍视频| 91九色精品人成在线观看| h日本视频在线播放| 成人特级黄色片久久久久久久| 999久久久精品免费观看国产| 精品人妻偷拍中文字幕| 国产精品1区2区在线观看.| av中文乱码字幕在线| 男女做爰动态图高潮gif福利片| 国产三级黄色录像| 午夜福利免费观看在线| 亚洲狠狠婷婷综合久久图片| 国产伦人伦偷精品视频| 日本 欧美在线| 1024手机看黄色片| 桃色一区二区三区在线观看| 校园春色视频在线观看| 中文字幕人妻熟人妻熟丝袜美| 99久久精品一区二区三区| 黄色配什么色好看| 中文亚洲av片在线观看爽| 欧美又色又爽又黄视频| 黄色女人牲交| 在线免费观看的www视频| 变态另类丝袜制服| 在线观看美女被高潮喷水网站 | 一个人免费在线观看电影| 俺也久久电影网| 亚洲国产色片| 欧美中文日本在线观看视频| 午夜精品一区二区三区免费看| 久久精品国产亚洲av涩爱 | 亚洲 国产 在线| 亚洲美女视频黄频| 丰满乱子伦码专区| 极品教师在线免费播放| 99久久无色码亚洲精品果冻| 一本一本综合久久| 国产精品伦人一区二区| 直男gayav资源| 亚洲va日本ⅴa欧美va伊人久久| 亚洲 国产 在线| 欧美一区二区国产精品久久精品| 亚洲黑人精品在线| 麻豆国产av国片精品| 在线看三级毛片| 国产精品久久电影中文字幕| 窝窝影院91人妻| 又黄又爽又免费观看的视频| 日韩欧美 国产精品| 国内揄拍国产精品人妻在线| 九九热线精品视视频播放| 我要搜黄色片| 18禁在线播放成人免费| 久久精品综合一区二区三区| 琪琪午夜伦伦电影理论片6080| 波多野结衣高清作品| 一区二区三区四区激情视频 | 成年女人毛片免费观看观看9| 最近最新中文字幕大全电影3| 精品久久久久久久人妻蜜臀av| 黄色一级大片看看| 国产av麻豆久久久久久久| 亚洲av二区三区四区| 我的老师免费观看完整版| 午夜福利欧美成人| АⅤ资源中文在线天堂| 色播亚洲综合网| 日韩 亚洲 欧美在线| 国产av一区在线观看免费| 色综合婷婷激情| 99久久九九国产精品国产免费| 日韩大尺度精品在线看网址| 久久国产精品影院| 在线观看一区二区三区| 免费高清视频大片| 亚洲aⅴ乱码一区二区在线播放| 无人区码免费观看不卡| 观看免费一级毛片| 欧美不卡视频在线免费观看| 午夜福利在线在线| 欧美精品国产亚洲| 午夜老司机福利剧场| 亚洲欧美激情综合另类| 色尼玛亚洲综合影院| 久久久久久久久中文| 中文亚洲av片在线观看爽| 午夜影院日韩av| 在线免费观看的www视频| 91在线精品国自产拍蜜月| 美女cb高潮喷水在线观看| 国内精品久久久久久久电影| 日韩欧美国产在线观看| 特级一级黄色大片| 午夜福利在线观看免费完整高清在 | 国产精品久久视频播放| 中文字幕精品亚洲无线码一区| 国产 一区 欧美 日韩| 国产精品不卡视频一区二区 | 俺也久久电影网| 国产精品伦人一区二区| 国产伦精品一区二区三区四那| 亚洲中文字幕日韩| 国产主播在线观看一区二区| 最近视频中文字幕2019在线8| 国产精品嫩草影院av在线观看 | 亚洲精品久久国产高清桃花| 无人区码免费观看不卡| 99热这里只有是精品50| 黄色配什么色好看| av中文乱码字幕在线| 十八禁网站免费在线| 老鸭窝网址在线观看| xxxwww97欧美| 夜夜躁狠狠躁天天躁| 看十八女毛片水多多多| 国产精品久久久久久亚洲av鲁大| 亚洲av成人av| 十八禁人妻一区二区| 99热这里只有是精品在线观看 | 欧美性猛交黑人性爽| 亚洲成a人片在线一区二区| 两性午夜刺激爽爽歪歪视频在线观看| 草草在线视频免费看| 搡老妇女老女人老熟妇| 99热6这里只有精品| 乱码一卡2卡4卡精品| 99久久九九国产精品国产免费| 国产精品影院久久| 88av欧美| 亚洲五月婷婷丁香| 精品99又大又爽又粗少妇毛片 | 亚洲欧美日韩高清在线视频| 老熟妇乱子伦视频在线观看| 久久国产乱子伦精品免费另类| 变态另类丝袜制服| 久久久久九九精品影院| 成熟少妇高潮喷水视频| 国产探花极品一区二区| 日本五十路高清| 国产精品三级大全| 亚洲五月婷婷丁香| 欧美国产日韩亚洲一区| .国产精品久久| 亚洲国产精品sss在线观看| 成年女人永久免费观看视频| 国产成人影院久久av| 成年女人毛片免费观看观看9| 午夜免费男女啪啪视频观看 | 国产欧美日韩一区二区精品| 欧洲精品卡2卡3卡4卡5卡区| 成人永久免费在线观看视频| 村上凉子中文字幕在线| 一个人免费在线观看的高清视频| 国产麻豆成人av免费视频| 天堂av国产一区二区熟女人妻| 久久精品91蜜桃| 我的女老师完整版在线观看| 亚洲五月天丁香| 欧美日韩亚洲国产一区二区在线观看| 亚洲国产日韩欧美精品在线观看| 精品国产亚洲在线| 国产私拍福利视频在线观看| 欧美成人a在线观看| 人妻久久中文字幕网| 国产伦一二天堂av在线观看| 欧美日本亚洲视频在线播放| 亚洲国产欧美人成| aaaaa片日本免费| 18+在线观看网站| 嫩草影视91久久| 长腿黑丝高跟| 能在线免费观看的黄片| 欧美潮喷喷水| 精品一区二区三区人妻视频| 久久人人爽人人爽人人片va | www.熟女人妻精品国产| 少妇高潮的动态图| 九九久久精品国产亚洲av麻豆| 69av精品久久久久久| 两人在一起打扑克的视频| 欧美日韩国产亚洲二区| 亚洲成人久久性| 亚洲自偷自拍三级| 麻豆成人午夜福利视频| 精品久久久久久久久久久久久| 一区二区三区激情视频| 五月玫瑰六月丁香| 性欧美人与动物交配| 色综合婷婷激情| 精品人妻1区二区| 偷拍熟女少妇极品色| 免费在线观看亚洲国产| 精品国内亚洲2022精品成人| 亚洲成人久久性| 麻豆国产97在线/欧美| 午夜精品久久久久久毛片777| 99精品在免费线老司机午夜| 亚洲成人久久性| 国产亚洲欧美在线一区二区| aaaaa片日本免费| 日本熟妇午夜| 日韩欧美精品v在线| 一区二区三区四区激情视频 | 亚洲人成网站在线播| 老司机深夜福利视频在线观看| 757午夜福利合集在线观看| 国产精品99久久久久久久久| 悠悠久久av| 丰满乱子伦码专区| 国产精品亚洲av一区麻豆| 亚洲,欧美,日韩| 搡女人真爽免费视频火全软件 | 尤物成人国产欧美一区二区三区| 小说图片视频综合网站| 香蕉av资源在线| 久久午夜福利片| 亚洲在线观看片| av福利片在线观看| 自拍偷自拍亚洲精品老妇| 一个人免费在线观看的高清视频| 亚洲人与动物交配视频| 小蜜桃在线观看免费完整版高清| 日本五十路高清| а√天堂www在线а√下载| 国产精品久久电影中文字幕| 一个人看的www免费观看视频| 国产精品久久久久久精品电影| 一边摸一边抽搐一进一小说| 天堂影院成人在线观看| 熟女电影av网| 天堂√8在线中文| 国产麻豆成人av免费视频| 一本综合久久免费| 少妇丰满av| 国产精华一区二区三区| 窝窝影院91人妻| 日本与韩国留学比较| 夜夜爽天天搞| 天堂网av新在线| 日韩精品青青久久久久久| 国产伦人伦偷精品视频| 99久久成人亚洲精品观看| 色哟哟哟哟哟哟| 一个人免费在线观看的高清视频| 国产精品亚洲av一区麻豆| 一个人看的www免费观看视频| 亚洲激情在线av| 国产成人aa在线观看| 国产精品亚洲美女久久久| 国产精品久久久久久精品电影| 一本一本综合久久| 韩国av一区二区三区四区| 九九久久精品国产亚洲av麻豆| 99精品久久久久人妻精品| 老司机深夜福利视频在线观看| 日韩欧美一区二区三区在线观看| 欧美成狂野欧美在线观看| netflix在线观看网站| 欧美在线黄色| 性色avwww在线观看| 日日摸夜夜添夜夜添小说| 国产av在哪里看| 日本 欧美在线| 波多野结衣巨乳人妻| 深夜a级毛片| 日韩欧美精品免费久久 | 欧美黑人欧美精品刺激| 国产亚洲欧美98| 亚洲电影在线观看av| 69人妻影院| 91在线观看av| 亚洲成人中文字幕在线播放| 中国美女看黄片| 欧美最黄视频在线播放免费| 国产精品久久久久久亚洲av鲁大| 搡老妇女老女人老熟妇| 最近最新中文字幕大全电影3| 国产三级中文精品| 国模一区二区三区四区视频| 日韩欧美在线乱码| 黄色女人牲交| 久99久视频精品免费| 欧美绝顶高潮抽搐喷水| av欧美777| 午夜精品久久久久久毛片777| 国产伦一二天堂av在线观看| 美女大奶头视频| 午夜福利视频1000在线观看| 欧美最黄视频在线播放免费| 久久国产乱子免费精品| 18美女黄网站色大片免费观看| 国产激情偷乱视频一区二区| 久久国产乱子免费精品| 日韩高清综合在线| 91九色精品人成在线观看| 久久亚洲精品不卡| av女优亚洲男人天堂| 看黄色毛片网站| 搡女人真爽免费视频火全软件 | 成人美女网站在线观看视频| av中文乱码字幕在线| 国产精品久久视频播放| 夜夜躁狠狠躁天天躁| 亚洲国产精品sss在线观看| 午夜福利视频1000在线观看| 国产精品不卡视频一区二区 | 如何舔出高潮| 国产视频一区二区在线看| 国产精品自产拍在线观看55亚洲| av黄色大香蕉| 国产男靠女视频免费网站| 一本久久中文字幕| 一个人看视频在线观看www免费| 精品一区二区免费观看| 一级作爱视频免费观看| 天堂影院成人在线观看| 成人特级黄色片久久久久久久| 听说在线观看完整版免费高清| 又爽又黄a免费视频| 日韩欧美国产一区二区入口| 亚洲精华国产精华精| 在线国产一区二区在线| 国产精品免费一区二区三区在线| 99热6这里只有精品| 午夜两性在线视频| 18禁在线播放成人免费| 日本一本二区三区精品| 亚洲精品一区av在线观看| 午夜福利视频1000在线观看| 特大巨黑吊av在线直播| 国产 一区 欧美 日韩| 色在线成人网| 久久九九热精品免费| 特级一级黄色大片| www.999成人在线观看| 免费看日本二区| 久久精品91蜜桃| 成人午夜高清在线视频| 精品久久久久久久人妻蜜臀av| 婷婷六月久久综合丁香| 首页视频小说图片口味搜索| 午夜福利高清视频| 性色av乱码一区二区三区2| 淫妇啪啪啪对白视频| 亚洲精品成人久久久久久| 免费在线观看亚洲国产| 小说图片视频综合网站| 嫩草影院新地址| 久久久久免费精品人妻一区二区| 亚洲av成人av| 欧美极品一区二区三区四区| 99久久久亚洲精品蜜臀av| 国产精品久久视频播放| 99国产精品一区二区三区| 麻豆国产97在线/欧美| 亚洲天堂国产精品一区在线| 婷婷色综合大香蕉| 在线免费观看不下载黄p国产 | 少妇高潮的动态图| 欧美性猛交黑人性爽| 国产在线精品亚洲第一网站| 精品久久久久久久久亚洲 | 18禁黄网站禁片午夜丰满| 欧美激情久久久久久爽电影| 久久久久久大精品| 免费观看精品视频网站| 久久亚洲精品不卡| 两人在一起打扑克的视频| 国产高潮美女av| 久久久久国内视频| 又黄又爽又免费观看的视频| 噜噜噜噜噜久久久久久91| 久久国产精品人妻蜜桃| 国产主播在线观看一区二区| 成人鲁丝片一二三区免费| 欧美又色又爽又黄视频| 久9热在线精品视频| 小说图片视频综合网站| 久久久久久久精品吃奶| 国产伦在线观看视频一区| 有码 亚洲区| 久久久色成人| 久久国产精品影院| 精品免费久久久久久久清纯| 亚洲中文日韩欧美视频| 变态另类丝袜制服| 国产综合懂色| 亚洲av.av天堂| 精品99又大又爽又粗少妇毛片 | 欧美一区二区精品小视频在线| 97热精品久久久久久| 天天一区二区日本电影三级| 亚洲内射少妇av| 国产人妻一区二区三区在| 99久久99久久久精品蜜桃| 99国产极品粉嫩在线观看| 综合色av麻豆| 国产亚洲欧美98| 免费人成在线观看视频色| 成人永久免费在线观看视频| 精品国产亚洲在线| 亚洲,欧美精品.| 亚洲av不卡在线观看| 欧美又色又爽又黄视频| 国产成人aa在线观看| 99久久久亚洲精品蜜臀av| 精品欧美国产一区二区三| 不卡一级毛片| 男插女下体视频免费在线播放| 亚洲专区国产一区二区| 日本 欧美在线| 看十八女毛片水多多多| 国产高清有码在线观看视频| 国产成+人综合+亚洲专区| 听说在线观看完整版免费高清| 午夜日韩欧美国产| 琪琪午夜伦伦电影理论片6080| 亚洲在线观看片| 国产av不卡久久| 人妻丰满熟妇av一区二区三区| 亚州av有码| 最近最新中文字幕大全电影3| 免费av毛片视频| 欧美高清性xxxxhd video| 日本 av在线| 免费黄网站久久成人精品 | xxxwww97欧美| 国产av在哪里看| 欧美3d第一页| 午夜影院日韩av| 首页视频小说图片口味搜索| 人人妻人人澡欧美一区二区| 久久久久性生活片| 神马国产精品三级电影在线观看| 简卡轻食公司| 国产爱豆传媒在线观看| 精品一区二区三区视频在线| 亚洲电影在线观看av| 亚洲国产精品成人综合色| 亚洲va日本ⅴa欧美va伊人久久| 国产黄色小视频在线观看| 搞女人的毛片| 日日干狠狠操夜夜爽| 757午夜福利合集在线观看| 岛国在线免费视频观看| 99国产精品一区二区三区| 狠狠狠狠99中文字幕| 婷婷丁香在线五月| 波多野结衣巨乳人妻| 久久久久久大精品| 欧美日本视频| 日韩欧美免费精品| 一个人看视频在线观看www免费| 51午夜福利影视在线观看| 久久久精品欧美日韩精品| 成人一区二区视频在线观看| 女生性感内裤真人,穿戴方法视频| 小蜜桃在线观看免费完整版高清| 国产一区二区亚洲精品在线观看| 窝窝影院91人妻| 亚洲无线在线观看| 在线国产一区二区在线| 露出奶头的视频| 91狼人影院| 制服丝袜大香蕉在线| 黄色一级大片看看| 色精品久久人妻99蜜桃| 九九在线视频观看精品| 嫁个100分男人电影在线观看| 亚洲电影在线观看av| 午夜精品在线福利| 欧美一区二区精品小视频在线| bbb黄色大片| 国产av在哪里看| 亚洲第一欧美日韩一区二区三区| 五月伊人婷婷丁香| 亚洲美女搞黄在线观看 | 国产aⅴ精品一区二区三区波| 欧美精品国产亚洲| 啦啦啦观看免费观看视频高清| 久久精品综合一区二区三区| 91九色精品人成在线观看| 51午夜福利影视在线观看| 波野结衣二区三区在线| 欧美成人一区二区免费高清观看| 国产一区二区三区视频了| 国产麻豆成人av免费视频| 亚洲真实伦在线观看| 亚洲人成网站在线播| 精品乱码久久久久久99久播| 国产探花在线观看一区二区| 99国产综合亚洲精品| 欧美日韩瑟瑟在线播放| 午夜老司机福利剧场| 成人毛片a级毛片在线播放| 又爽又黄无遮挡网站|