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

一文了解EPaxos核心協(xié)議流程

開發(fā) 開發(fā)工具
EPaxos(Egalitarian Paxos)作為工業(yè)界備受矚目的下一代分布式一致性算法,具有廣闊的應(yīng)用前景。但縱觀業(yè)內(nèi),至今仍未出現(xiàn)一個EPaxos的工程實現(xiàn),甚至都沒看到一篇能把EPaxos講得通俗一點的文章。

????

引言

EPaxos(Egalitarian Paxos)作為工業(yè)界備受矚目的下一代分布式一致性算法,具有廣闊的應(yīng)用前景。但縱觀業(yè)內(nèi),至今仍未出現(xiàn)一個EPaxos的工程實現(xiàn),甚至都沒看到一篇能把EPaxos講得通俗一點的文章。EPaxos算法理論雖好,但由于其實在晦澀難懂,工程實現(xiàn)上也有很多挑戰(zhàn),實際應(yīng)用落地尚未成熟。

本文旨在通俗易懂地介紹EPaxos算法,由淺入深、一步一步的讓只有Paxos或Raft等分布式一致性算法基礎(chǔ)的同學(xué)都能輕易看懂EPaxos,真正將晦澀難懂的EPaxos,變的平易近人,帶入千萬家。

在《一文了解分布式一致性算法EPaxos》中,從Paxos的問題引出EPaxos,介紹了EPaxos的基本概念與直觀理解,相信讀者已經(jīng)對EPaxos有了整體的印象。

本文將從Paxos與EPaxos對比的角度,介紹EPaxos核心協(xié)議流程。上一篇文章最后留下的思考題,相信在閱讀完本文后,都能找到答案。閱讀本文需要一些Paxos或Raft等分布式一致性算法背景。

一 EPaxos基本思想

EPaxos是一個Leaderless的一致性算法,無需選舉Leader,任意副本均可發(fā)起提議。

Leaderless也可以看作每個副本都是Leader,從Multi-Paxos或Raft的角度看,如果使用多Group,將每個Leader劃分到不同的Group,每個副本擔(dān)任一個Group的Leader,同時擔(dān)任其它所有Group的Follower,好像也可以做到類似Leaderless的效果。

使用多Group實現(xiàn)的Leaderless,每個Group獨立的對一系列Instance達(dá)成一致,每個Group產(chǎn)生一條Instance序列,不同Group產(chǎn)生的Instance彼此獨立,不能確定先后順序。因此跨Group的一致性是一大問題,在一致性層面無法解決,往往需要在上層使用分布式事務(wù)來解決。

EPaxos解決了這個問題,實現(xiàn)了真正的Leaderless。EPaxos通過跟蹤Instance之間的依賴關(guān)系,確定不同Group產(chǎn)生的Instance的相對順序,然后通過排序?qū)⒍郍roup產(chǎn)生的多條Instance序列合并成一條全局的Instance序列,實現(xiàn)了跨Group的一致性,也即實現(xiàn)了真正的Leaderless。

EPaxos先運行共識協(xié)議,使各副本對Instance的值和Instance依賴的相對順序達(dá)成一致,隨后運行排序算法,基于前面已經(jīng)達(dá)成共識的Instance的相對順序,對Instance進(jìn)行全局排序,最終得到一致的全局Instance序列。

以上是站在Multi-Paxos或Raft使用多Group實現(xiàn)Leaderless的角度引出EPaxos的基本思想,實際Group是一致性算法之外的概念,這里引入Group只是為了方便介紹,實際EPaxos中并沒有Group的概念,但與Paxos或Raft類似,可以在EPaxos之上實現(xiàn)多Group。

二 EPaxos的Instance

EPaxos的Instance與Paxos有所不同,Paxos的Instance事先分配序號,但EPaxos的Instance不事先分配序號,各副本可以并發(fā)的亂序提交,但跟蹤記錄Instance之間的依賴關(guān)系,最后根據(jù)依賴關(guān)系排序。這里先總結(jié)一下不同點:

??

??

EPaxos的Instance與Paxos的不同點

Paxos的Instance由全局連續(xù)遞增的InstanceID標(biāo)識,InstanceID也是Instance的序號,全局唯一,連續(xù)遞增。

EPaxos的Instance空間是二維的,每個副本擁有其中一行,因此由二維的R.i標(biāo)識,其中R為副本標(biāo)識,i為副本內(nèi)連續(xù)遞增的整數(shù),每開始一個新的Instance就加一。副本R擁有的Instance序列為R.1,R.2,R.3,...... R.i,......

EPaxos的Instance相對Paxos還有一些額外的屬性:

  • state標(biāo)識Instance當(dāng)前的狀態(tài),可取值pre-accepted、accepted、committed。因為EPaxos的Instance的狀態(tài)比較多,所以需要專門的state字段標(biāo)識。
  • deps為依賴的Instance集合,存放所有依賴的Instance的標(biāo)識,即要在前面執(zhí)行的Instance。deps保存了Instance之間的相對順序,后續(xù)將基于deps對Instance進(jìn)行排序。
  • seq為Instance的序列號,其值為deps中所有Instance的seq的最大值加一,反映Instance提議的順序,后續(xù)排序的時候使用。

EPaxos的Instance的deps和seq屬性與Instance的值一樣,也需要在各副本之間達(dá)成一致,后續(xù)各副本將獨立的基于deps和seq對Instance進(jìn)行排序。因為EPaxos的排序算法是確定性的,各副本基于相同的deps和seq對Instance進(jìn)行排序,最終會得到一致的全局Instance序列。

將Instance看作圖的頂點,deps就是頂點的出邊,圖的頂點和邊都確定并在各副本之間達(dá)成一致之后,各副本對圖進(jìn)行確定性的排序,最終得到一致的Instance序列。

三 EPaxos共識協(xié)議

Paxos提交一個值需要兩階段,而EPaxos的Instance多了依賴集合deps和序列號seq,為了確定這些屬性的值,EPaxos比Paxos多了一個階段。完整的EPaxos有三階段,但并非每個階段都是必須的,下表將Paxos與EPaxos的協(xié)議流程進(jìn)行對比:

??

??

Paxos與EPaxos的協(xié)議流程對比

EPaxos與Paxos相比,Prepare階段和Accept階段類似,但EPaxos多了PreAccept階段,也是EPaxos最關(guān)鍵的一個階段。正因為EPaxos多了PreAccept階段,Instance的狀態(tài)更多了,所以引入專門的state屬性來標(biāo)識Instance當(dāng)前所處的狀態(tài)(pre-accepted、accepted、committed)。沒有引入Prepare階段的狀態(tài),是因為Prepare階段沒有提議值,可以通過本地有無提議值來與其它狀態(tài)區(qū)分。通常情況下,EPaxos只運行PreAccept階段,即可Commit,Prepare階段和Accept階段都能跳過。

EPaxos與Paxos類似,在任意階段如果發(fā)現(xiàn)Instance被搶占,都需要回退到Prepare階段重新開始。

1 Prepare階段

Prepare階段的作用,EPaxos與Paxos類似,都是為了爭取提議權(quán),同時學(xué)習(xí)之前已經(jīng)提議的最新值。在EPaxos中,因為每個副本都擁有各自獨立的Instance空間,在自己的Instance空間上提議,相當(dāng)于Multi-Paxos的Leader,所以與Multi-Paxos類似,通常情況下可直接跳過Prepare階段,直接從下一階段開始。

2 PreAccept階段

PreAccept階段是EPaxos特有的,其作用是確定Instance的依賴集合deps和序列號seq,同時盡量讓提議值、deps和seq在各副本間達(dá)成一致。若PreAccept階段已經(jīng)達(dá)成一致,則直接到Commit階段(Fast Path),否則需要運行Accept階段,然后才到Commit階段(Slow Path)。

PreAccept階段是如何確定Instance的依賴集合deps和序列號seq的呢?其實比較簡單,從副本本地已存在的Instance中,收集需要在前面執(zhí)行的Instance,即本地deps集合,本地seq即本地deps中的所有Instance的seq的最大值加一。最終的依賴集合deps取大多數(shù)副本的本地deps集合的并集,最終的序列號seq則取他們的本地seq的最大值。

各副本并發(fā)提議的時候,不同副本的本地deps和本地seq都可能不一樣,那么PreAccept階段如何才能達(dá)成一致呢?如果有足夠多的副本(Fast Quorum)的本地deps和本地seq都相同,則已經(jīng)達(dá)成了一致。否則,最終的依賴集合deps取大多數(shù)(Slow Quorum)副本的本地deps的并集,最終的序列號seq取它們的本地seq的最大值,然后運行Accept階段達(dá)成一致。

PreAccept階段的Fast Quorum始終包含提議者,會在后面討論原因。Fast Quorum的值不小于Slow Quorum。假設(shè)副本總數(shù)為N,可容忍F個副本同時失效,N = 2F + 1,則Fast Quorum = 2F,優(yōu)化后的EPaxos可優(yōu)化至F + [ (F + 1) / 2 ],Slow Quorum = F + 1。Fast Quorum取值的推導(dǎo)這里先不做介紹,會在后續(xù)文章中詳細(xì)討論,Slow Quorum即大多數(shù)副本,與Paxos的Accept階段相同。

3 Accept階段

Accept階段的作用,EPaxos與Paxos類似,但Paxos只將提議值同步到大多數(shù)副本,EPaxos需要將提議值、deps和seq都同步到大多數(shù)副本,一旦形成多數(shù)派則決議達(dá)成。若在PreAccept階段已經(jīng)達(dá)成決議,則可跳過Accept階段,直接進(jìn)入Commit階段。

4 Commit階段

Commit階段的作用,EPaxos與Paxos類似,都是將達(dá)成的決議異步發(fā)送給其它副本,讓其它副本學(xué)習(xí)到?jīng)Q議,不同的是EPaxos的決議不僅包括決議值,還包括deps和seq。

四 EPaxos排序算法

與Paxos不同,EPaxos的Instance提交后,它們的順序還沒有確定,因此EPaxos需要一個額外的排序過程,對已提交的Instance進(jìn)行排序。當(dāng)Instance被提交,并且其依賴集合deps中的所有Instance也都提交后,就可以開始一次排序過程。

將EPaxos的Instance看作圖的頂點,Instance的依賴集合deps看作頂點的出邊,Instance的值和依賴集合deps達(dá)成一致后,圖的頂點和邊就在各副本之間達(dá)成一致,因此各副本會看到相同的依賴圖。

EPaxos對Instance排序的過程,類似于對圖進(jìn)行確定性的拓?fù)渑判颉5枰⒁獾氖荅Paxos的Instance之間的依賴可能形成環(huán),即圖中可能會有環(huán)路,因此不完全是拓?fù)渑判颉?/p>

為了處理循環(huán)依賴,EPaxos對Instance排序的算法需要先尋找圖的強連通分量,環(huán)路都包含在了強連通分量中,如果把一個強連通分量整體看作圖的一個頂點,則所有強連通分量構(gòu)成一個有向無環(huán)圖(DAG),然后對所有的強連通分量構(gòu)成的有向無環(huán)圖進(jìn)行拓?fù)渑判颉?/p>

EPaxos排序算法的流程如圖1所示,其中由背景色圈起來的部分是強連通分量:

??

??

EPaxos排序算法

尋找圖的強連通分量一般使用Tarjan算法,它是一個遞歸算法,實測發(fā)現(xiàn)遞歸實現(xiàn)很容易爆棧,也給工程應(yīng)用帶來了一定的挑戰(zhàn)。

不同強連通分量中的Instance按照確定性的拓?fù)漤樞蚺判颍粡娺B通分量中的Instance是并發(fā)提議的,理論上可以按任意確定性規(guī)則排序。EPaxos為每個Instance計算了一個seq序列號,seq的大小反映了Instance提議的順序,同一強連通分量里面的Instance按照seq大小排序。實際seq可能重復(fù),并不能保證全局唯一遞增,EPaxos論文并未考慮到這一點,實際可以使用seq加副本標(biāo)識排序。

事實上,隨著新的Instance不斷的運行,舊的Instance可能依賴新的Instance,新的Instance又可能依賴更新的Instance,如此下去可能導(dǎo)致依賴鏈不斷延伸,沒有終結(jié),排序過程一直無法進(jìn)行,形成活鎖。這也是EPaxos工程應(yīng)用的一大挑戰(zhàn)。

因為Instance排序算法是確定性的,各副本基于一致的依賴圖對Instance排序后,將得到一致的Instance序列。

五 EPaxos案例

下面使用一個具體的案例,介紹EPaxos的核心協(xié)議流程,如下圖所示,系統(tǒng)由R1、R2、R3、R4、R5,5個副本組成,水平方向代表時間,值A(chǔ)、B、C的提議流程如圖所示。

??

??

EPaxos共識協(xié)議

案例中各Instance的屬性取值如下表所示:

??

??

EPaxos核心協(xié)議流程案例中Instance的屬性

1 提議值A(chǔ)

首先R1運行PreAccept階段發(fā)起提議值A(chǔ),它首先獲取自己的本地deps和本地seq,此時它本地還沒有任何Instance,所以本地deps為空集,本地seq為初始值1,它持久化提議值A(chǔ)、本地deps和本地seq。

然后R1向R2、R3廣播PreAccept(A)消息,消息攜帶提議值A(chǔ)、本地deps、以及本地seq(圖中未標(biāo)示),此時R1、R2、R3組成Fast Quorum。PreAccept消息可以只廣播給Fast Quorum中的副本,EPaxos論文中將這種優(yōu)化稱為Thrifty優(yōu)化。

R2、R3收到PreAccept(A)消息后,分別獲取自己的本地deps和本地seq,與R1類似,本地deps為空集,本地seq為1,持久化后回復(fù)R1。

R1收到Fast Quorum中的副本的本地deps和本地seq都相同,決議達(dá)成,最終的deps為空集,seq為1,運行Commit階段提交。

2 提議值B

接下來R5運行PreAccept階段發(fā)起提議值B,此時它本地也還沒有任何Instance,所以本地deps為空集,本地seq為初始值1。R5本地持久化后,向R3、R4廣播PreAccept(B)消息。

R4回復(fù)的本地deps為空集,本地seq為1,R3此時本地已經(jīng)有了值A(chǔ)的Instance,因此R3回復(fù)的本地deps為{1.1},也即圖上標(biāo)示的{A},本地seq為2,即A的Instance的seq加一。

Fast Quorum中的副本的本地deps和seq不都相同,因此需要運行Accept階段,最終的deps取大多數(shù)副本的本地deps的并集為{1.1},也即圖上標(biāo)的{A},最終的seq取大多數(shù)副本的本地seq的最大值為2,通過Accept階段,將提議值B、最終的deps、最終的seq達(dá)成多數(shù)派。最后運行Commit階段提交。

3 提議值C

最后R1運行PreAccept階段發(fā)起提議值C,此時R1本地已經(jīng)有了值A(chǔ)的Instance,因此本地deps為{1.1},也即圖上標(biāo)示的{A},本地seq為3。R1本地持久化后,向R2、R3廣播PreAccept(C)消息。

R2和R3此時本地已經(jīng)有了值A(chǔ)和值B的Instance,因此R2、R3回復(fù)的本地deps為1.1,5.1},也即圖上標(biāo)示的{A,B},本地seq為3,即B的Instance的seq加一。

Fast Quorum中除了提議者R1以外的其它副本的本地deps和seq都相同,因此決議已經(jīng)達(dá)成,最終的deps為{1.1,5.1},也即{A,B},seq為3,運行Commit階段提交。

4 排序

提議值A(chǔ)、B、C的Instance按照它們的依賴集合deps畫出的依賴關(guān)系如下圖(左)所示:

??

??

提議值A(chǔ)、B、C的Instance之間的依賴關(guān)系(左),排序之后的順序(右)

A的Instance的deps為空集,因此沒有出邊;B的Instance的deps為{A},因此有一條出邊指向A;C的Instance的deps為{A,B},因此有兩條出邊,分別指向A和B。

依賴關(guān)系圖中沒有循環(huán)依賴,已經(jīng)是一個有向無環(huán)圖(DAG)。因此頂點A、B、C各自是一個強連通分量,進(jìn)行確定性的拓?fù)渑判蚝蟮玫剿鼈兊捻樞颍篈 <— B <— C,如圖如圖(右)所示。

六 EPaxos討論

1 Instance沖突

EPaxos引入Instance沖突(Interfere)的概念(與Parallel Raft類似,與并發(fā)沖突不是一個概念),若兩個Instance的值之間沒有沖突(例如訪問不同的key),則它們的先后順序無關(guān)緊要,甚至可以并行處理,因此EPaxos只處理有沖突的日志之間的依賴關(guān)系。

EPaxos的Instance的依賴集合deps,存放的是需要在該Instance之前執(zhí)行的Instance。引入沖突之后,deps中存放的是與該Instance沖突的Instance。

沖突是一個與具體應(yīng)用相關(guān)的概念,引入沖突之后,所有Instance不再是全序的,變成了偏序的,減少了依賴,降低了Slow Path的概率,提高了效率。

2 Fast Quorum

關(guān)于Fast Quorum取值的推導(dǎo),留待后續(xù)文章介紹,這里先討論下,為什么PreAccept階段的Fast Quorum始終包含提議者。

EPaxos在每個階段,提議者總是本地先持久化成功之后,再廣播消息給其它副本。也就是說提議者總是在Quorum中,因此判斷是否達(dá)成Quorum時,提議者總是可以算一票。

在PreAccept階段,提議者將其本地deps和seq包含在了PreAccept消息中,作為其它副本計算它們本地deps和seq的基礎(chǔ),使得提議者的本地deps和seq總是包含在最終的deps和seq中,因此PreAccept階段的Fast Quorum始終包含提議者。

EPaxos總是先本地持久化成功之后再廣播給其它副本,這樣可以減小Fast Quorum,但也導(dǎo)致本地持久化與網(wǎng)絡(luò)消息收發(fā)不能并行進(jìn)行,降低了一些效率,同時也使得提議者不能容忍本地磁盤損壞的情況,這些都是EPaxos工程應(yīng)用必須面對的問題。

Fast Quorum的值為什么不會小于Slow Quorum呢?這里無需推導(dǎo)Fast Quorum的取值,從直觀上就可以得出這個結(jié)論。在Paxos中一個副本提議一個值,所有副本只會有兩種結(jié)果,接受或者不接受這個值。而在EPaxos中每個副本都可能給出不同的deps和seq,因此需要更多的副本給出相同的結(jié)果才能保證在有副本失效后能恢復(fù)出正確的結(jié)果。

七 EPaxos偽代碼

到這里,相信讀者已經(jīng)可以看懂EPaxos核心協(xié)議流程的偽代碼了。EPaxos核心協(xié)議流程偽代碼如下圖所示,為了簡單,省略了提議ID(Proposal ID,或者叫Ballot Number,投票編號)相關(guān)的部分,這部分與Paxos相同。

偽代碼中將日志視為命令(Command),每個Instance對一條Command達(dá)成一致,每個副本使用一個二維數(shù)組cmds保存收到的Command。

??

??

EPaxos核心協(xié)議流程偽代碼

八 總結(jié)

EPaxos通過顯示維護(hù)Instance之間的依賴關(guān)系,不僅去除了對Leader的依賴,還使得Instance可以并發(fā)的亂序提交,可以更好的進(jìn)行Pipelining優(yōu)化,同時顯式維護(hù)依賴也使得亂序執(zhí)行成為可能。EPaxos支持亂序確認(rèn)、亂序提交、亂序執(zhí)行,理論上可以有更高的吞吐量。同時也可以看到一些EPaxos工程應(yīng)用的挑戰(zhàn),這些都是EPaxos工程落地要解決的問題。

本文從Paxos與EPaxos對比的角度,介紹了EPaxos核心協(xié)議流程,但EPaxos的內(nèi)容決不僅僅只有這些,特別是Failover場景下,如何保證日志序列的順序性。

思考

最后留下幾個思考題,感興趣的同學(xué)可以先思考思考:

Instance的seq為什么會重復(fù),什么情況下會重復(fù)?

Fast Quorum的取值如何推導(dǎo)?

如果一個Instance的共識協(xié)議流程還未完成,其提議者就宕機了,其它副本該怎么處理這個Instance?

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2021-07-12 12:03:32

EPaxos分布式協(xié)議流程

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2023-08-26 20:56:02

滑動窗口協(xié)議

2022-02-24 07:34:10

SSL協(xié)議加密

2020-10-28 11:15:24

EPaxos分布式性算法

2022-02-20 09:56:28

TCPIP網(wǎng)絡(luò)協(xié)議

2023-12-06 16:28:56

2020-08-27 07:34:50

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

2023-09-02 21:44:24

TCP/IP通信協(xié)議

2019-10-12 08:59:36

軟件DevOps技術(shù)

2023-11-20 08:18:49

Netty服務(wù)器

2023-04-26 15:43:24

容器編排容器編排工具

2023-11-19 11:44:45

2023-11-06 08:16:19

APM系統(tǒng)運維

2022-06-08 08:11:56

威脅建模網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2025-05-23 09:38:54

JWT開發(fā)Go

2022-11-11 19:09:13

架構(gòu)

2025-05-13 01:45:00

MCP技術(shù)Java

2024-01-19 11:53:29

文件系統(tǒng)操作系統(tǒng)存儲

2023-10-27 08:15:45

點贊
收藏

51CTO技術(shù)棧公眾號

wwwwww欧美| 国产综合在线看| 加勒比av中文字幕| 日本h片在线| 91丨porny丨国产| 国产精品com| 久草网站在线观看| 伊人久久大香线蕉av不卡| 欧美私人免费视频| 2018日日夜夜| 免费日本一区二区三区视频| 成人高清免费观看| 国产精品一区二区三| 国产精品成人久久| 99热在线成人| 亚洲高清福利视频| 伊人国产精品视频| 久久爱91午夜羞羞| 亚洲自拍偷拍综合| 亚洲精品在线视频观看| 天堂资源最新在线| 国产精品一区三区| 国产精品看片资源| 久久国产视频精品| 精品白丝av| 萌白酱国产一区二区| 69精品无码成人久久久久久| 农村少妇一区二区三区四区五区 | 中文字幕在线国产精品| 老司机午夜免费福利| 高清不卡一区| 欧美三区在线视频| 黄色一级一级片| 草草影院在线| 一区二区三区在线视频免费观看| 午夜精品一区二区在线观看| 欧洲视频在线免费观看| 成人h动漫精品| 国产高清一区二区三区| 一级特黄特色的免费大片视频| 久久香蕉精品| 欧美野外猛男的大粗鳮| 日韩av免费网址| 狠狠色丁香久久综合频道| 久久综合亚洲社区| 麻豆精品国产免费| 亚洲一区二区三区无吗| 久久中文字幕国产| 538任你躁在线精品视频网站| 日韩精品免费一区二区三区| 伊人久久久久久久久久久| 青青草视频成人| 亚洲成aⅴ人片久久青草影院| 精品视频在线观看日韩| 69xxx免费视频| 国产精品宾馆| 亚洲精品短视频| 国产精品伦子伦| 亚洲影院天堂中文av色| 精品无人区乱码1区2区3区在线 | 国产wwwxx| 国产亚洲精品精品国产亚洲综合| 欧美色爱综合网| 婷婷激情小说网| 亚洲一区二区三区中文字幕在线观看| 日韩一区二区在线观看视频播放| 免费黄视频在线观看| 成人高潮视频| 日韩精品电影网| 最新中文字幕av| 欧美jizz| 欧美贵妇videos办公室| 国产午夜激情视频| 欧美亚洲一区| 国产日韩欧美综合| 成人无码一区二区三区| 久久综合色一综合色88| 亚洲一区二区三区色| 91黄色在线| 欧美日韩美女视频| 9l视频白拍9色9l视频| 日本精品一区二区三区在线观看视频| 精品国产欧美一区二区| 波多野结衣办公室33分钟| 成人高清电影网站| 欧美夫妻性生活视频| 国产成人亚洲精品自产在线| 日本少妇一区二区| 97自拍视频| 男生女生差差差的视频在线观看| 国产精品久久久久久久久搜平片| 成人午夜免费在线视频| 欧美二三四区| 欧美一区二区三区免费大片 | 亚洲成人一级片| 久久久久久9999| 国产精品一区在线免费观看| 三级在线观看视频| 欧美高清视频一二三区 | 亚洲国产人成综合网站| 欧美精品一区二区三区免费播放| 亚洲一区导航| 国产手机视频精品| 欧美日韩综合一区二区| 另类图片国产| 成人激情av| 91社区在线观看播放| 亚洲一区二区三区四区五区中文| 熟妇人妻无乱码中文字幕真矢织江| 蜜桃精品视频| 中文字幕欧美日韩| 国产无人区码熟妇毛片多| 九九在线精品视频| 欧美日韩天天操| 中文字幕免费高清电视剧网站在线观看| 精品欧美国产一区二区三区| 婷婷激情5月天| 国产亚洲电影| 97视频在线观看免费| 精品人妻伦一区二区三区久久| 国产日韩欧美一区二区三区乱码 | 亚洲欧美国产另类| 国产精品第一页在线观看| 久久99热这里只有精品| 日本中文不卡| 日韩影院在线| 日韩av在线不卡| 欧美被狂躁喷白浆精品| 国内一区二区视频| 亚洲日本无吗高清不卡| 午夜日韩成人影院| 亚洲九九九在线观看| 日本三级中文字幕| 国产成人av影院| 路边理发店露脸熟妇泻火| 欧美videos粗暴| 在线视频亚洲欧美| 国产真人无遮挡作爱免费视频| av电影在线观看一区| 欧美日韩中文字幕在线播放| 中文成人在线| 久久精品中文字幕| 97精品人妻一区二区三区香蕉| 欧美激情一区二区三区全黄| 大肉大捧一进一出好爽动态图| 日本精品影院| 欧美孕妇与黑人孕交| 色婷婷综合视频| 午夜一区二区三区视频| 国产人妻黑人一区二区三区| 影音先锋日韩资源| 黄色国产精品一区二区三区| 国产精品高颜值在线观看| 亚洲第一视频网| 日本一级黄色大片| 99国产精品久久久久| 水蜜桃色314在线观看| 欧美精品密入口播放| 91国产中文字幕| 欧美新色视频| 欧美色精品天天在线观看视频| 成人欧美一区二区三区黑人一 | 在线电影欧美成精品| 97精品在线播放| 国产九色精品成人porny | 久久一区国产| 亚洲欧美影院| 精品中文字幕一区二区三区四区 | 一本一生久久a久久精品综合蜜| 日本午夜免费一区二区| 久久午夜a级毛片| 亚洲av无码国产精品久久不卡| 亚洲图片自拍偷拍| 一级黄色片大全| 久久综合综合久久综合| 激情五月五月婷婷| 理论片一区二区在线| 国产福利视频一区| 91精选在线| 中文无码日韩欧| 成人一级片在线观看| 国产av不卡一区二区| y111111国产精品久久久| 国内精品视频在线| 国产特黄在线| 51精品国自产在线| 国产乱码久久久久久| 国产日韩精品一区二区三区| 亚洲综合20p| 宅男噜噜噜66国产日韩在线观看| 日韩国产欧美一区| 国产一区二区| 啪一啪鲁一鲁2019在线视频| 免费高清完整在线观看| 亚洲国产精品va在线| 中文字幕在线播放av| 亚洲图片欧美一区| 成年人看的免费视频| 成人精品国产一区二区4080| 日本激情视频在线| 亚洲第一黄网| 在线一区亚洲| 在线看成人短视频| 99三级在线| 四虎精品一区二区免费| 69av视频在线播放| 1区2区在线观看| 在线视频国产日韩| 视频一区二区免费| 欧美一二三在线| 中文字幕黄色av| 欧美午夜激情在线| 国产中文字幕免费| 亚洲欧美影音先锋| 免费看污片的网站| 99精品一区二区三区| 成人免费播放视频| 麻豆精品久久久| 国产精品亚洲αv天堂无码| 激情久久一区| 蜜桃视频一区二区在线观看| 99国产精品一区二区| 欧美精品一区在线| 国产精品2023| 97se国产在线视频| 成人激情久久| 国产欧美精品日韩| 澳门av一区二区三区| 欧美在线中文字幕| aa级大片免费在线观看| 久久成人av网站| 成人在线直播| 久久综合电影一区| 精品视频在线一区二区| 中文字幕亚洲欧美日韩2019| 精品电影在线| 亚洲欧美中文日韩在线v日本| 日韩在线视频免费| 亚洲二区中文字幕| 亚洲av综合色区无码一二三区| 91精品国产综合久久久久久久久久 | 国产精品成熟老女人| 综合久久2023| 欧美中文字幕第一页| 日韩电影免费看| …久久精品99久久香蕉国产| ****av在线网毛片| 91精品国产网站| 在线能看的av网址| 日本国产欧美一区二区三区| 丁香六月综合| 国产精品电影观看| 欧美视频免费看| 91精品国产综合久久香蕉最新版| 日韩电影免费观看高清完整版在线观看| 国产精品一区二区久久| 日韩大陆av| 99热在线播放| 窝窝社区一区二区| 日产精品高清视频免费| 欧美大人香蕉在线| 可以免费看的黄色网址| 极品少妇一区二区三区| 国产资源在线视频| 日韩成人精品视频| 美女网站视频黄色| 国产主播一区二区三区| 久久久久久久久久影视| 99re热视频这里只精品| 波多野结衣片子| 国产精品成人网| 亚洲欧美一区二区三区四区五区| 亚洲国产视频直播| 69亚洲精品久久久蜜桃小说| 欧美日韩三级在线| 精品国产伦一区二区三| 日韩av网站在线观看| 国产不卡av在线免费观看| 欧美日韩精品免费观看视完整| 国产激情久久久久| 国产精品亚洲四区在线观看| 痴汉一区二区三区| 深爱激情综合| 天天操天天干天天玩| 亚洲毛片播放| 网站一区二区三区| 高清成人免费视频| 美女脱光内衣内裤| 1000部国产精品成人观看| 豆国产97在线 | 亚洲| 一本在线高清不卡dvd| 国产原创中文av| 日韩av在线直播| 91短视频版在线观看www免费| 欧美福利视频在线观看| 怡红院成人在线| 岛国视频一区| 91综合在线| 国模无码视频一区二区三区| 久久国产生活片100| 草草地址线路①屁屁影院成人| 国产精品福利一区二区| 六月丁香激情综合| 欧美一级黄色片| 成人动漫在线播放| 久久久久久有精品国产| 国产精品传媒麻豆hd| 国产在线精品二区| 亚洲国产精品91| 免费激情视频在线观看| 成人妖精视频yjsp地址| 国产亚洲精品久久久久久豆腐| 狠狠躁夜夜躁人人爽天天天天97 | 久久99久久99精品蜜柚传媒| 婷婷色综合网| caoporn超碰97| 91丨九色丨尤物| 久久黄色小视频| 欧美日韩成人在线| 黑人与亚洲人色ⅹvideos| 韩国一区二区电影| 精品一区二区三区亚洲| 一区二区三区av在线| 日韩中文欧美在线| 亚洲一级中文字幕| 婷婷综合另类小说色区| 国产v在线观看| 日韩中文字幕在线免费观看| 欧美极品免费| 欧美亚洲免费在线| 国产精品综合色区在线观看| youjizz.com国产| 一区二区三区不卡视频| 国产欧美久久久| 久久九九国产精品怡红院| 国产成人精品一区二区三区视频 | 成人在线中文字幕| 97人人精品| 亚洲精品手机在线观看| 国产精品色在线观看| 中文字幕一区二区三区四区欧美| 亚洲精品小视频| 亚洲校园激情春色| 欧美黑人3p| 视频一区国产视频| 亚洲国产日韩一区无码精品久久久| 日韩欧美a级成人黄色| 免费a级毛片在线观看| 国产91免费看片| 亚洲午夜久久| 丰满少妇在线观看| 国产精品女主播av| 一卡二卡三卡在线观看| 久久久精品视频在线观看| 日韩三级网址| 东北少妇不带套对白| 99国产精品久久久久久久久久久 | 久久综合入口| 视频一区在线播放| 男人的午夜天堂| 欧美一二三区在线观看| av电影免费在线看| 欧美午夜免费| 久久国产精品72免费观看| 四虎永久免费地址| 日韩免费电影网站| 免费高潮视频95在线观看网站| 欧美日韩三区四区| 寂寞少妇一区二区三区| 麻豆一区产品精品蜜桃的特点| 精品少妇一区二区三区免费观看| www在线观看黄色| 日本成人看片网址| 国产一区二区三区免费观看| 国产一级一片免费播放| 亚洲欧美一区二区三区四区| 久久青草视频| 日韩a级在线观看| 久久新电视剧免费观看| 一级全黄裸体免费视频| 国内自拍欧美激情| 欧美天天综合| 中国老熟女重囗味hdxx| 粉嫩av一区二区三区免费野| 第三区美女视频在线| 97人人澡人人爽| 日韩精品免费专区| 毛片a片免费观看| 国产亚洲a∨片在线观看| 奇米一区二区| 日韩免费高清在线| 亚洲免费观看在线视频| 青青青草网站免费视频在线观看| 成人黄色在线播放| 国产亚洲亚洲| 污污的视频在线免费观看| 亚洲国产精品久久久久秋霞不卡 | 国产美女情趣调教h一区二区| 欧美午夜视频在线| 成人免费毛片a|