国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

全面解析LinkedIn以日志為中心的大數(shù)據(jù)管理方式

CSDN   發(fā)布時間:2015-12-24 10:19:05   作者:Jay Kreps   我要評論
這篇文章主要介紹了LinkedIn以日志為中心的大數(shù)據(jù)管理方式,LinkedIn是全球最大的招聘類社交網(wǎng)絡(luò),其在Hadoop集群方面的研發(fā)和使用非常先進(jìn),需要的朋友可以參考下

 Jay Kreps是來自LinkedIn的首席工程師,他表示日志幾乎在計算機(jī)產(chǎn)生的時候就存在,除了可用在分布式計算或者抽象分布式計算模型內(nèi)部之外,還有廣泛的用途。本文中他講述的日志的原理和通過把日志用做單獨(dú)服務(wù)來實現(xiàn)數(shù)據(jù)集成、實時數(shù)據(jù)處理以及分布式系統(tǒng)設(shè)計。文章內(nèi)容非常干貨,值得學(xué)習(xí)。

以下是原文:

我在六年前的一個令人興奮的時刻加入到LinkedIn公司。從那個時候開始我們就破解單一的、集中式數(shù)據(jù)庫的限制,并且啟動到特殊的分布式系統(tǒng)套件的轉(zhuǎn)換。這是一件令人興奮的事情:我們構(gòu)建、部署,而且直到今天仍然在運(yùn)行的分布式圖形數(shù)據(jù)庫、分布式搜索后端、Hadoop安裝以及第一代和第二代鍵值數(shù)據(jù)存儲。

從這一切里我們體會到的最有益的事情是我們構(gòu)建的許多東西的核心里都包含一個簡單的理念:日志。有時候也稱作預(yù)先寫入日志或者提交日志或者事務(wù)日志,日志幾乎在計算機(jī)產(chǎn)生的時候就存在,同時它還是許多分布式數(shù)據(jù)系統(tǒng)和實時應(yīng)用結(jié)構(gòu)的核心。

不懂得日志,你就不可能完全懂得數(shù)據(jù)庫,NoSQL存儲,鍵值存儲,復(fù)制,paxos,Hadoop,版本控制以及幾乎所有的軟件系統(tǒng);然而大多數(shù)軟件工程師對它們不是很熟悉。我愿意改變這種現(xiàn)狀。在這篇博客文章里,我將帶你瀏覽你必須了解的有關(guān)日志的所有的東西,包括日志是什么,如何在數(shù)據(jù)集成、實時處理和系統(tǒng)構(gòu)建中使用日志等。

第一部分:日志是什么?
20151224102009526.png (396×187)

日志是一種簡單的不能再簡單的存儲抽象。它是一個只能增加的,完全按照時間排序的一系列記錄。日志看起來如下:

我們可以給日志的末尾添加記錄,并且可以從左到右讀取日志記錄。每一條記錄都指定了一個唯一的有一定順序的日志記錄編號。
日志記錄的排序是由“時間”來確定的,這是因為位于左邊的日志記錄比位于右邊的要早些。日志記錄編號可以看作是這條日志 記錄的“時間戳”。在一開始就把這種排序說成是按時間排序顯得有點多余 ,不過 ,與任何一個具體的物理時鐘相比,時間 屬性是非常便于使用的屬性。在我們運(yùn)行多個分布式系統(tǒng)的時候,這個屬性就顯得非常重要。

對于這篇討論的目標(biāo)而言,日志記錄的內(nèi)容和格式不怎么重要。另外提醒一下,在完全耗盡存儲空間的情況下,我們不可能 再給日志添加記錄。稍后我們將會提到這個問題。

日志并不是完全不同于文件或者數(shù)據(jù)表的。文件是由一系列字節(jié)組成,表是由一系列記錄組成,而日志實際上只是按照時間順序存儲記錄的 一種數(shù)據(jù)表或者文件。

此時,你可能奇怪為什么要討論這么簡單的事情呢? 不同環(huán)境下的一個只可增加的有一定順序的日志記錄是怎樣與數(shù)據(jù)系統(tǒng)關(guān)聯(lián)起來的呢?答案是日志有其特定的應(yīng)用目標(biāo):它記錄了什么時間發(fā)生了什么事情。 而對分布式數(shù)據(jù)系統(tǒng)許多方面而言, 這才是問題的真正核心。

不過,在我們進(jìn)行更加深入的討論之前,讓我先澄清有些讓人混淆的概念。每個編程人員都熟悉另一種日志記錄-應(yīng)用使用syslog或者log4j可能寫入到本地文件里的沒有結(jié)構(gòu)的錯誤信息或者追蹤信息。為了區(qū)分開來,我們把這種情形的日志記錄稱為“應(yīng)用日志記錄”。應(yīng)用日志記錄是我在這兒所說的日志的一種低級的變種。最大的區(qū)別是:文本日志意味著主要用來方便人們閱讀,而我所說明的“日志”或者“數(shù)據(jù)日志”的建立是方便程序訪問。

(實際上,如果你對它進(jìn)行深入的思考,那么人們讀取某個機(jī)器上的日志這種理念有些不順應(yīng)時代潮流。當(dāng)涉及到許多服務(wù)和服務(wù)器的時候,這種方法很快就變成一個難于管理的方式,而且為了認(rèn)識多個機(jī)器的行為,日志的目標(biāo)很快就變成查詢和圖形化這些行為的輸入了-對多個機(jī)器的某些行為而言,文件里的英文形式的文本同這兒所描述的這種結(jié)構(gòu)化的日志相比幾乎就不適合了。)

數(shù)據(jù)庫日志

我不知道日志概念起源于何處-可能它就像二進(jìn)制搜索一樣:發(fā)明者認(rèn)為它太簡單而不能當(dāng)作一項發(fā)明。它早在IBM的系統(tǒng)R出現(xiàn)時候就出現(xiàn)了。數(shù)據(jù)庫里的用法是在崩潰的時候用它來同步各種數(shù)據(jù)結(jié)構(gòu)和索引。為了保證操作的原子性和持久性,在對數(shù)據(jù)庫維護(hù)的所有各種數(shù)據(jù)結(jié)構(gòu)做更改之前,數(shù)據(jù)庫把即將修改的信息謄寫到日志里。日志記錄了發(fā)生了什么,而且其中的每個表或者索引都是一些數(shù)據(jù)結(jié)構(gòu)或者索引的歷史映射。由于日志是即刻永久化的,可以把它當(dāng)作崩潰發(fā)生時用來恢復(fù)其他所有永久性結(jié)構(gòu)的可信賴數(shù)據(jù)源。

隨著時間的推移,日志的用途從實現(xiàn)ACID細(xì)節(jié)成長為數(shù)據(jù)庫間復(fù)制數(shù)據(jù)的一種方法。利用日志的結(jié)果就是發(fā)生在數(shù)據(jù)庫上的更改順序與遠(yuǎn)端復(fù)制數(shù)據(jù)庫上的更改順序需要保持完全同步。

Oracle,MySQL 和PostgreSQL都包括用于給備用的復(fù)制數(shù)據(jù)庫傳輸日志的日志傳輸協(xié)議。Oracle還把日志產(chǎn)品化為一個通用的數(shù)據(jù)訂閱機(jī)制,這樣非Oracle數(shù)據(jù)訂閱用戶就可以使用XStreams和GoldenGate訂閱數(shù)據(jù)了,MySQL和PostgreSQL上的類似的實現(xiàn)則成為許多數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵組件。
正是由于這樣的起源,機(jī)器可識別的日志的概念大部分都被局限在數(shù)據(jù)庫內(nèi)部。日志用做數(shù)據(jù)訂閱的機(jī)制似乎是偶然出現(xiàn)的,不過要把這種 抽象用于支持所有類型的消息傳輸、數(shù)據(jù)流和實時數(shù)據(jù)處理是不切實際的。

分布式系統(tǒng)日志

日志解決了兩個問題:更改動作的排序和數(shù)據(jù)的分發(fā),這兩個問題在分布式數(shù)據(jù)系統(tǒng)里顯得尤為重要。協(xié)商出一致的更改動作的順序(或者說保持各個子系統(tǒng)本身的做法,但可以進(jìn)行存在副作用的數(shù)據(jù)拷貝)是分布式系統(tǒng)設(shè)計的核心問題之一。

以日志為中心實現(xiàn)分布式系統(tǒng)是受到了一個簡單的經(jīng)驗常識的啟發(fā),我把這個經(jīng)驗常識稱為狀態(tài)機(jī)復(fù)制原理:如果兩個相同的、確定性的進(jìn)程從同一狀態(tài)開始,并且以相同的順序獲得相同的輸入,那么這兩個進(jìn)程將會生成相同的輸出,并且結(jié)束在相同的狀態(tài)。

這也許有點難以理解,讓我們更加深入的探討,弄懂它的真正含義。

確定性意味著處理過程是與時間無關(guān)的,而且任何其他“外部的“輸入不會影響到處理結(jié)果。例如,如果一個程序的輸出會受到線程執(zhí)行的具體順序影響,或者受到gettimeofday調(diào)用、或者其他一些非重復(fù)性事件的影響,那么這樣的程序一般最有可能被認(rèn)為是非確定性的。

進(jìn)程狀態(tài)是進(jìn)程保存在機(jī)器上的任何數(shù)據(jù),在進(jìn)程處理結(jié)束的時候,這些數(shù)據(jù)要么保存在內(nèi)存里,要么保存在磁盤上。

以相同的順序獲得相同輸入的地方應(yīng)當(dāng)引起注意-這就是引入日志的地方。這兒有一個重要的常識:如果給兩段確定性代碼相同的日志輸入,那么它們就會生成相同的輸出。

分布式計算這方面的應(yīng)用就格外明顯。你可以把用多臺機(jī)器一起執(zhí)行同一件事情的問題縮減為實現(xiàn)分布式一致性日志為這些進(jìn)程輸入的問題。這兒日志的目的是把所有非確定性的東西排除在輸入流之外,來確保每個復(fù)制進(jìn)程能夠同步地處理輸入。

當(dāng)你理解了這個以后,狀態(tài)機(jī)復(fù)制原理就不再復(fù)雜或者說不再深奧了:這或多或少的意味著“確定性的處理過程就是確定性的”。不管怎樣,我都認(rèn)為它是分布式系統(tǒng)設(shè)計里較常用的工具之一。

這種方式的一個美妙之處就在于索引日志的時間戳就像時鐘狀態(tài)的一個副本——你可以用一個單獨(dú)的數(shù)字描述每一個副本,這就是經(jīng)過處理的日志的時間戳。時間戳與日志一一對應(yīng)著整個副本的狀態(tài)。

由于寫進(jìn)日志的內(nèi)容的不同,也就有許多在系統(tǒng)中應(yīng)用這個原則的不同方式。舉個例子,我們記錄一個服務(wù)的請求,或者服務(wù)從請求到響應(yīng)的狀態(tài)變化,或者它執(zhí)行命令的轉(zhuǎn)換。理論上來說,我們甚至可以為每一個副本記錄一系列要執(zhí)行的機(jī)器指令或者調(diào)用的方法名和參數(shù)。只要兩個進(jìn)程用相同的方式處理這些輸入,這些進(jìn)程就會保持副本的一致性。

一千個人眼中有一千種日志的用法。數(shù)據(jù)庫工作者通常區(qū)分物理日志和邏輯日志。物理日志就是記錄每一行被改變的內(nèi)容。邏輯日志記錄的不是改變的行而是那些引起行的內(nèi)容被改變的SQL語句(insert,update和delete語句)。

分布式系統(tǒng)通??梢詫挿悍譃閮煞N方法來處理數(shù)據(jù)和完成響應(yīng)。“狀態(tài)機(jī)器模型”通常引用一個主動-主動的模型——也就是我們?yōu)橹涗浾埱蠛晚憫?yīng)的對象。對此進(jìn)行一個細(xì)微的更改,稱之為“預(yù)備份模型”,就是選出一個副本做為leader,并允許它按照請求到達(dá)的時間來進(jìn)行處理并從處理過程中輸出記錄其狀態(tài)改變的日志。其他的副本按照leader狀態(tài)改變的順序而應(yīng)用那些改變,這樣他們之間達(dá)到同步,并能夠在leader失敗的時候接替leader的工作。
20151224102031921.png (477×243)

為了理解兩種方式的不同,我們來看一個不太嚴(yán)謹(jǐn)?shù)睦印<俣ㄓ幸粋€算法服務(wù)的副本,保持一個獨(dú)立的數(shù)字作為它的狀態(tài)(初始值為0),并對這個值進(jìn)行加法和乘法運(yùn)算。主動-主動方式應(yīng)該會輸出所進(jìn)行的變換,比如“+1”,“*2”等。每一個副本都會應(yīng)用這些變換,從而得到同樣的解集。主動-被動方式將會有一個獨(dú)立的主體執(zhí)行這些變換并輸出結(jié)果日志,比如“1”,“3”,“6”等。這個例子也清楚的展示了為什么說順序是保證各副本間一致性的關(guān)鍵:一次加法和乘法的順序的改變將會導(dǎo)致不同的結(jié)果。
分布式日志可以理解為一致性問題模型的數(shù)據(jù)結(jié)構(gòu)。因為日志代表了后續(xù)追加值的一系列決策。你需要重新審視Paxos算法簇,盡管日志模塊是他們最常見的應(yīng)用。 在Paxos算法中,它通常通過使用稱之為多paxos的協(xié)議,這種協(xié)議將日志建模為一系列的問題,在日志中每個問題都有對應(yīng)的部分。在ZAB, RAFT等其它的協(xié)議中,日志的作用尤為突出,它直接對維護(hù)分布式的、一致性的日志的問題建模。

我懷疑的是,我們就歷史發(fā)展的觀點是有偏差的,可能是由于過去的幾十年中,分布式計算的理論遠(yuǎn)超過了其實際應(yīng)用。在現(xiàn)實中,共識的問題是有點太簡單了。計算機(jī)系統(tǒng)很少需要決定單個值,他們幾乎總是處理成序列的請求。這樣的記錄,而不是一個簡單的單值寄存器,自然是更加抽象。

此外,專注于算法掩蓋了 抽象系統(tǒng)需要的底層的日志。我懷疑,我們最終會把日志中更注重作為一個商品化的基石,不論其是否以同樣的方式 實施的,我們經(jīng)常談?wù)撘粋€哈希表而不是糾結(jié)我們 得到是不是具體某個細(xì)節(jié)的哈希表,例如線性或者帶有什么什么其它變體哈希表。日志將成為一種大眾化的接口,為大多數(shù)算法和其實現(xiàn)提升提供最好的保證和最佳的性能。

變更日志101: 表與事件的二相性。

讓我們繼續(xù)聊數(shù)據(jù)庫。數(shù)據(jù)庫中存在著大量變更日志和表之間的二相性。這些日志有點類似借貸清單和銀行的流程,數(shù)據(jù)庫表就是當(dāng)前的盈余表。如果你有大量的變更日志,你就可以使用這些變更用以創(chuàng)建捕獲當(dāng)前狀態(tài)的表。這張表將記錄每個關(guān)鍵點(日志中一個特別的時間點)的狀態(tài)信息。這就是為什么日志是非?;镜臄?shù)據(jù)結(jié)構(gòu)的意義所在:日志可用來創(chuàng)建基本表,也可以用來創(chuàng)建各類衍生表。同時意味著可以存儲非關(guān)系型的對象。
這個流程也是可逆的:如果你正在對一張表進(jìn)行更新,你可以記錄這些變更,并把所有更新的日志發(fā)布到表的狀態(tài)信息中。這些變更日志就是你所需要的支持準(zhǔn)實時的克隆?;诖耍憔涂梢郧宄睦斫獗砼c事件的二相性: 表支持了靜態(tài)數(shù)據(jù)而日志捕獲變更。日志的魅力就在于它是變更的完整記錄,它不僅僅捕獲了表的最終版本的內(nèi)容,它還記錄了曾經(jīng)存在過的其它版本的信息。日志實質(zhì)上是表歷史狀態(tài)的一系列備份。

這可能會引起你對源代碼的版本管理。源代碼管理和數(shù)據(jù)庫之間有密切關(guān)系。版本管理解決了一個大家非常熟悉的問題,那就是什么是分布式數(shù)據(jù)系統(tǒng)需要解決的— 時時刻刻在變化著的分布式管理。版本管理系統(tǒng)通常以補(bǔ)丁的發(fā)布為基礎(chǔ),這實際上可能是一個日志。您可以直接對當(dāng)前 類似于表中的代碼做出“快照”互動。你會注意到, 與其他分布式狀態(tài)化系統(tǒng)類似,版本控制系統(tǒng) 當(dāng)你更新時會復(fù)制日志,你希望的只是更新補(bǔ)丁并將它們應(yīng)用到你的當(dāng)前快照中。

最近,有些人從Datomic –一家銷售日志數(shù)據(jù)庫的公司得到了一些想法。這些想法使他們對如何 在他們的系統(tǒng)應(yīng)用這些想法有了開闊的認(rèn)識。 當(dāng)然這些想法不是只針對這個系統(tǒng),他們會成為 十多年分布式系統(tǒng)和數(shù)據(jù)庫文獻(xiàn)的一部分。

這可能似乎有點過于理想化。但是不要悲觀!我們會很快把它實現(xiàn)。
請讓我首先解釋 一下“數(shù)據(jù)集成”是什么意思,還有為什么我覺得它很重要,之后我們再來看看它和日志有什么關(guān)系。

數(shù)據(jù)集成就是將數(shù)據(jù)組織起來,使得在與其有關(guān)的服務(wù)和系統(tǒng)中可以訪問它們。“數(shù)據(jù)集成”(data integration)這個短語應(yīng)該不止這么簡單,但是我找不到一個更好的解釋。而更常見的術(shù)語 ETL 通常只是覆蓋了數(shù)據(jù)集成的一個有限子集(譯注:ETL,Extraction-Transformation-Loading的縮寫,即數(shù)據(jù)提取、轉(zhuǎn)換和加載)——相對于關(guān)系型數(shù)據(jù)倉庫。但我描述的東西很大程度上可以理解為,將ETL推廣至實時系統(tǒng)和處理流程。
你一定不會聽到數(shù)據(jù)集成就興趣盎然屏住呼吸,并且天花亂墜的想到關(guān)于大數(shù)據(jù)的概念,不過,我相信世俗的問題“讓數(shù)據(jù)可被訪問” 是一個組織應(yīng)該關(guān)注的有價值的事情。

對數(shù)據(jù)的高效使用遵循一種 馬斯洛的需要層次理論 。金字塔的基礎(chǔ)部分包括捕獲所有相關(guān)數(shù)據(jù),能夠?qū)⑺鼈內(nèi)糠诺竭m當(dāng)?shù)奶幚憝h(huán)境(那個環(huán)境應(yīng)該是一個奇妙的實時查詢系統(tǒng),或者僅僅是文本文件和python腳本)。這些數(shù)據(jù)需要以統(tǒng)一的方式建模,這樣就可以方便讀取和數(shù)據(jù)處理。如果這種以統(tǒng)一的方式捕獲數(shù)據(jù)的基本需求得到滿足,那么就可以在基礎(chǔ)設(shè)施上以若干種方法處理這些數(shù)據(jù)——映射化簡(MapReduce),實時查詢系統(tǒng),等等。

很明顯,有一點值得注意:如果沒有可靠的、完整的數(shù)據(jù)流,Hadoop集群除了象昂貴的且難于安裝的空間取暖器哪樣外不會做更多事情了。一旦數(shù)據(jù)和處理可用,人們就會關(guān)心良好數(shù)據(jù)模型和一致地易于理解的語法哪些更細(xì)致的問題。最后,人們才會關(guān)注更加高級的處理-更好的可視化、報表以及處理和預(yù)測算法。

以我的經(jīng)驗,大多數(shù)機(jī)構(gòu)在數(shù)據(jù)金字塔的底部存在巨大的漏洞-它們?nèi)狈煽康?、完整的?shù)據(jù)流-而是打算直接跳到高級數(shù)據(jù)模型技術(shù)上。這樣做完全是反著來做的。因此,問題是我們?nèi)绾螛?gòu)建通過機(jī)構(gòu)內(nèi)所有數(shù)據(jù)系統(tǒng)的可靠的數(shù)據(jù)流。

數(shù)據(jù)集成:兩個并發(fā)癥

兩種趨勢使數(shù)據(jù)集成變得更困難。

事件數(shù)據(jù)管道

第一個趨勢是增長的事件數(shù)據(jù)(event data)。事件數(shù)據(jù)記錄的是發(fā)生的事情,而不是存在的東西。在web系統(tǒng)中,這就意味著用戶活動日志,還有為了可靠的操作以及監(jiān)控數(shù)據(jù)中心的機(jī)器的目的,所需要記錄的機(jī)器級別的事件和統(tǒng)計數(shù)字。人們傾向稱它們?yōu)?ldquo;日志數(shù)據(jù)”,因為它們經(jīng)常被寫到應(yīng)用的日志中,但是這混淆了形式與功能。這種數(shù)據(jù)位于現(xiàn)代web的中心:歸根結(jié)底,Google的資產(chǎn)是由這樣一些建立在點擊和映像基礎(chǔ)之上的相關(guān)管道所生成的——那也就是事件。

這些東西并不是僅限于網(wǎng)絡(luò)公司,只是網(wǎng)絡(luò)公司已經(jīng)完全數(shù)字化,所以它們更容易用設(shè)備記錄。財務(wù)數(shù)據(jù)一直是面向事件的。RFID(無線射頻識別)將這種跟蹤能力賦予物理對象。我認(rèn)為這種趨勢仍將繼續(xù),伴隨著這個過程的是傳統(tǒng)商務(wù)活動的數(shù)字化。

這種類型的事件數(shù)據(jù)記錄下發(fā)生的事情,而且往往比傳統(tǒng)數(shù)據(jù)庫應(yīng)用要大好幾個數(shù)量級。這對于處理提出了重大挑戰(zhàn)。

專門的數(shù)據(jù)系統(tǒng)的爆發(fā)

第二個趨勢來自于專門的數(shù)據(jù)系統(tǒng)的爆發(fā),通常這些數(shù)據(jù)系統(tǒng)在最近的五年中開始變得流行,并且可以免費(fèi)獲得。專門的數(shù)據(jù)系統(tǒng)是為OLAP, 搜索, 簡單 在線 存儲, 批處理, 圖像分析, 等 等 而存在的。

更多的不同類型數(shù)據(jù)的組合,以及將這些數(shù)據(jù)存放到更多的系統(tǒng)中的愿望,導(dǎo)致了一個巨大的數(shù)據(jù)集成問題。

日志結(jié)構(gòu)數(shù)據(jù)流

為了處理系統(tǒng)之間的數(shù)據(jù)流,日志是最自然的數(shù)據(jù)結(jié)構(gòu)。其中的秘訣很簡單:

將所有組織的數(shù)據(jù)提取出來,并將它們放到一個中心日志,以便實時查閱。

每個邏輯數(shù)據(jù)源都可以建模為它自己的日志。一個數(shù)據(jù)源可以是一個應(yīng)用程序的事件日志(如點擊量或者頁面瀏覽量),或者是一個接受修改的數(shù)據(jù)庫表。每個訂閱消息的系統(tǒng)都盡可能快的從日志讀取信息,將每條新的記錄保存到自己的存儲,并且提升其在日志中的地位。訂閱方可以是任意一種數(shù)據(jù)系統(tǒng) —— 一個緩存,Hadoop,另一個網(wǎng)站中的另一個數(shù)據(jù)庫,一個搜索系統(tǒng),等等。
20151224102101041.png (320×305)

例如,日志針對每個更改給出了邏輯時鐘的概念,這樣所有的訂閱方都可以被測量。推導(dǎo)不同的訂閱系統(tǒng)的狀態(tài)也因此變得相對簡單的多,因為每個系統(tǒng)都有一個讀取動作的“時間點”。

為了讓這個顯得更具體,我們考慮一個簡單的案例,有一個數(shù)據(jù)庫和一組緩存服務(wù)器集群。日志提供了一種同步更新所有這些系統(tǒng),并推導(dǎo)出每一個系統(tǒng)的接觸時間點的方法。我們假設(shè)寫了一條日志X,然后需要從緩存做一次讀取。如果我們想保證看到的不是陳舊的數(shù)據(jù),我們只需保證沒有從任何尚未復(fù)制X的緩存中讀取即可。

日志也起到緩存的作用,使數(shù)據(jù)生產(chǎn)與數(shù)據(jù)消費(fèi)相同步。由于許多原因這個功能很重要,特別是在多個訂閱方消費(fèi)數(shù)據(jù)的速度各不相同的時候。這意味著一個訂閱數(shù)據(jù)系統(tǒng)可以宕機(jī),或者下線維護(hù),之后重新上線以后再趕上來:訂閱方按照自己控制的節(jié)拍來消費(fèi)數(shù)據(jù)。批處理系統(tǒng),如Hadoop或者是一個數(shù)據(jù)倉庫,或許只是每小時或者每天消費(fèi)一次數(shù)據(jù),而實時查詢系統(tǒng)可能需要及時到秒。由于無論是原始數(shù)據(jù)源還是日志,都沒有各種目標(biāo)數(shù)據(jù)系統(tǒng)的相關(guān)知識,因此消費(fèi)方系統(tǒng)可以被添加和刪除,而無需傳輸管道的變化。
特別重要的是:目標(biāo)系統(tǒng)只知道日志,不知道數(shù)據(jù)源系統(tǒng)的任何細(xì)節(jié)。消費(fèi)方系統(tǒng)自身無需考慮數(shù)據(jù)到底是來自于一個RDBMS(關(guān)系型數(shù)據(jù)庫管理系統(tǒng)Relational Database Management System),一種新型的鍵值存儲,或者它不是由任何形式的實時查詢系統(tǒng)所生成的。這似乎是一個小問題,但實際上是至關(guān)重要的。

這里我使用術(shù)語“日志”取代了“消息系統(tǒng)”或者“發(fā)布-訂閱”,因為它在語義上更明確,并且對支持?jǐn)?shù)據(jù)復(fù)制的實際實現(xiàn)這樣的需求,有著更接近的描述。我發(fā)現(xiàn)“發(fā)布訂閱”并不比間接尋址的消息具有更多的含義——如果你比較任何兩個發(fā)布-訂閱的消息傳遞系統(tǒng)的話,你會發(fā)現(xiàn)他們承諾的是完全不同的東西,而且大多數(shù)模型在這一領(lǐng)域都不是有用的。你可以認(rèn)為日志是一種消息系統(tǒng),它具有持久性保證和強(qiáng)大的訂閱語義。在分布式系統(tǒng)中,這個通信模型有時有個(有些可怕的)名字叫做原子廣播。

值得強(qiáng)調(diào)的是,日志仍然只是基礎(chǔ)設(shè)施。這并不是管理數(shù)據(jù)流這個故事的結(jié)束:故事的其余部分圍繞著元數(shù)據(jù),模式,兼容性,以及處理數(shù)據(jù)結(jié)構(gòu)的所有細(xì)節(jié)及其演化。除非有一種可靠的,一般的方法來處理數(shù)據(jù)流運(yùn)作,語義在其中總是次要的細(xì)節(jié)。

在 LinkedIn(SNS社交網(wǎng)站)

在LinkedIn從集中式關(guān)系數(shù)據(jù)庫向分布式系統(tǒng)集合轉(zhuǎn)化的過程中,我看到這個數(shù)據(jù)集成問題迅速演變。

現(xiàn)在主要的數(shù)據(jù)系統(tǒng)包括:

搜索
社交圖譜
Voldemort (鍵值存儲)(譯注:一種分布式數(shù)據(jù)庫)
Espresso (文檔存儲)
推舉引擎
OLAP查詢引擎(譯注:OLAP聯(lián)機(jī)分析技術(shù))
Hadoop
Terradata
Ingraphs (監(jiān)控圖表和指標(biāo)服務(wù))
這些都是專門的分布式系統(tǒng),在其專業(yè)領(lǐng)域提供先進(jìn)的功能。
這種使用日志作為數(shù)據(jù)流的思想,甚至在我到這里之前就已經(jīng)與LinkedIn相伴了。我們開發(fā)的一個最早的基礎(chǔ)設(shè)施之一,是一種稱為databus 的服務(wù),它在我們早期的Oracle表上提供了一種日志緩存抽象,可伸縮訂閱數(shù)據(jù)庫修改,這樣我們就可以很好支持我們的社交網(wǎng)絡(luò)和搜索索引。

我會給出一些歷史并交代一下上下文。我首次參與到這些大約是在2008年左右,在我們轉(zhuǎn)移鍵值存儲之后。我的下一個項目是讓一個工作中的Hadoop配置演進(jìn),并給其增加一些我們的推薦流程。由于缺乏這方面的經(jīng)驗,我們自然而然的安排了數(shù)周計劃在數(shù)據(jù)的導(dǎo)入導(dǎo)出方面,剩下的時間則用來實現(xiàn)奇妙的預(yù)測算法。這樣我們就開始了長途跋涉。

我們本來計劃是僅僅將數(shù)據(jù)從現(xiàn)存的Oracle數(shù)據(jù)倉庫中剖離。但是我們首先發(fā)現(xiàn)將數(shù)據(jù)從Oracle中迅速取出是一種黑暗藝術(shù)。更糟的是,數(shù)據(jù)倉庫的處理過程與我們?yōu)镠adoop而計劃的批處理生產(chǎn)過程不適合——其大部分處理都是不可逆轉(zhuǎn)的,并且與即將生成的報告具體相關(guān)。最終我們采取的辦法是,避免使用數(shù)據(jù)倉庫,直接訪問源數(shù)據(jù)庫和日志文件。最后,我們?yōu)榱思虞d數(shù)據(jù)到鍵值存儲 并生成結(jié)果,實現(xiàn)了另外一種管道。
這種普通的數(shù)據(jù)復(fù)制最終成為原始開發(fā)項目的主要內(nèi)容之一。糟糕的是,在任何時間任意管道都有一個問題,Hadoop系統(tǒng)很大程度上是無用的——在錯誤的數(shù)據(jù)基礎(chǔ)上運(yùn)行奇特的算法,只會產(chǎn)生更多的錯誤數(shù)據(jù)。

雖然我們已經(jīng)以一種通用的方式創(chuàng)建事物,但是每個數(shù)據(jù)源都需要自定義配置安裝。這也被證明是巨量錯誤與失敗的根源。我們在Hadoop上實現(xiàn)的網(wǎng)站功能已經(jīng)開始流行起來,同時我們發(fā)現(xiàn)我們有一長串感興趣的工程師。每個用戶都有他們想要集成的一系列系統(tǒng),他們想要的一系列新數(shù)據(jù)源。
有些東西在我面前開始漸漸清晰起來。

首先,我們已建成的通道雖然有一些雜亂,但實質(zhì)上它們是很有價值的。在采用諸如Hadoop的新的處理系統(tǒng)生成可用數(shù)據(jù)的過程,它開啟了大量的可能性。 基于這些數(shù)據(jù)過去很難實現(xiàn)的計算,如今變?yōu)榭赡堋?許多新的產(chǎn)品和分析技術(shù)都來源于把分片的數(shù)據(jù)放在一起,這些數(shù)據(jù)過被鎖定在特定的系統(tǒng)中。

第二, 眾所周知,可靠的數(shù)據(jù)加載需要數(shù)據(jù)通道的深度支持。如果我們可以捕獲所有我們需要的結(jié)構(gòu),我就就可以使得Hadoop數(shù)據(jù)全自動的加載,這樣就不需要額外的操作來增加新的數(shù)據(jù)源或者處理模式變更–數(shù)據(jù)就會自動的出現(xiàn)在HDFS,Hive表就會自動的生成對應(yīng)于新數(shù)據(jù)源的恰當(dāng)?shù)牧小?/p>

第三,我們的數(shù)據(jù)覆蓋率仍然非常低。如果你查看存儲于Hadoop中的可用的Linked 數(shù)據(jù)的全部百分比,它仍然是不完整的?;ㄙM(fèi)大量的努力去使得各個新的數(shù)據(jù)源運(yùn)轉(zhuǎn)起來,使得數(shù)據(jù)覆蓋度完整不是一件容易的事情。

我們正在推行的,為每個數(shù)據(jù)源和目標(biāo)增建客戶化數(shù)據(jù)加載,這種方式很顯然是不可行的。我們有大量的數(shù)據(jù)系統(tǒng)和數(shù)據(jù)倉庫。把這些系統(tǒng)和倉庫聯(lián)系起來,就會導(dǎo)致任意一對系統(tǒng)會產(chǎn)生如下所示的客戶化通道。
20151224102131433.png (709×244)

需要注意的是:數(shù)據(jù)是雙向流動的:例如許多系統(tǒng)諸如數(shù)據(jù)庫和Hadoop既是數(shù)據(jù)轉(zhuǎn)化的來源又是數(shù)據(jù)轉(zhuǎn)化的目的地。這就意味著我們我們不必為每個系統(tǒng)建立兩個通道:一個用于數(shù)據(jù)輸入,一個用于數(shù)據(jù)輸出。

這顯然需要一大群人,而且也不具有可操作性。隨著我們接近完全連接,最終我們將有差不多O(N2)條管道。

替代的,我們需要像這樣通用的東西:
20151224102151782.png (704×295)

我們需要盡可能的將每個消費(fèi)者與數(shù)據(jù)源隔離。理想情形下,它們應(yīng)該只與一個單獨(dú)的數(shù)據(jù)倉庫集成,并由此讓他們能訪問到所有東西。

這個思想是增加一個新的數(shù)據(jù)系統(tǒng)——或者它是一個數(shù)據(jù)源或者它是一個數(shù)據(jù)目的地——讓集成工作只需連接到一個單獨(dú)的管道,而無需連接到每個數(shù)據(jù)消費(fèi)方。

這種經(jīng)歷使得我關(guān)注創(chuàng)建Kafka來關(guān)聯(lián)我們在消息系統(tǒng)所見的與數(shù)據(jù)庫和分布式系統(tǒng)內(nèi)核所發(fā)布的日志。我們希望一些實體作為中心的通道,首先用于所有的活動數(shù)據(jù),逐步的擴(kuò)展到其他用途,例如Hadoop外的數(shù)據(jù)實施,數(shù)據(jù)監(jiān)控等。

在相當(dāng)長的時間內(nèi),Kafka是獨(dú)一無二的底層產(chǎn)品,它既不是數(shù)據(jù)庫,也不是日志文件收集系統(tǒng),更不是傳統(tǒng)的消息系統(tǒng)。但是最近Amazon提供了非常類似Kafka的服務(wù),稱之為Kinesis.相似度包括了分片處理的方式,數(shù)據(jù)的保持,甚至包括在Kafka API中,有點特別的高端和低端消費(fèi)者分類。我很開心看到這些,這表明了你已經(jīng)創(chuàng)建了很好的底層協(xié)議,AWS已經(jīng)把它作為服務(wù)提供。他們對此的期待與我所描述的吻合:通道聯(lián)通了所有的分布式系統(tǒng),諸如DynamoDB, RedShift, S3等,它同時作為使用EC2進(jìn)行分布式流處理的基礎(chǔ)。

與ETL和數(shù)據(jù)倉庫的關(guān)系

我們再來聊聊數(shù)據(jù)倉庫。數(shù)據(jù)倉庫是清洗和歸一數(shù)據(jù)結(jié)構(gòu)用于支撐數(shù)據(jù)分析的倉庫。這是一個偉大的理念。對不熟悉數(shù)據(jù)倉庫概念的人來說,數(shù)據(jù)倉庫方法論包括了:周期性的從數(shù)據(jù)源抽取數(shù)據(jù),把它們轉(zhuǎn)化為可理解的形式,然后把它導(dǎo)入中心數(shù)據(jù)倉庫。對于數(shù)據(jù)集中分析和處理,擁有高度集中的位置存放全部數(shù)據(jù)的原始副本是非常寶貴的資產(chǎn)。在高層級上,也許你抽取和加載數(shù)據(jù)的順序略微調(diào)整,這個方法論不會有太多變化,無論你使用傳統(tǒng)的數(shù)據(jù)倉庫Oracle還是Teradata或者Hadoop。

數(shù)據(jù)倉庫是極其重要的資產(chǎn),它包含了原始的和規(guī)整的數(shù)據(jù),但是實現(xiàn)此目標(biāo)的機(jī)制有點過時了。
對以數(shù)據(jù)為中心的組織關(guān)鍵問題是把原始的歸一數(shù)據(jù)聯(lián)結(jié)到數(shù)據(jù)倉庫。數(shù)據(jù)倉庫是批處理的基礎(chǔ)查詢:它們適用于各類報表和臨時性分析,特別是當(dāng)查詢包含了簡單的計數(shù)、聚合和過濾。但是如果一個批處理系統(tǒng)僅僅包含了原始的完整的數(shù)據(jù)的數(shù)據(jù)倉庫,這就意味著這些數(shù)據(jù)對于實時數(shù)據(jù)處理、搜索索引和系統(tǒng)監(jiān)控等實時的查詢是不可用的。

依我之見,ETL包括兩件事:首先,它是抽取和數(shù)據(jù)清洗過程–特別是釋放被鎖在組織的各類系統(tǒng)中的數(shù)據(jù),移除系統(tǒng)專有的無用物。第二,依照數(shù)據(jù)倉庫的查詢重構(gòu)數(shù)據(jù)。例如使其符合關(guān)系數(shù)據(jù)庫類型系統(tǒng),強(qiáng)制使用星號、雪花型模式,或者分解為高性能的柱狀格式等。合并這兩者是有困難的。這些規(guī)整的數(shù)據(jù)集應(yīng)當(dāng)可以在實時或低時延處理中可用,也可以在其它實施存儲系統(tǒng)索引。

在我看來,正是因為這個原因有了額外好處:使得數(shù)據(jù)倉庫ETL更具了組織級的規(guī)模。數(shù)據(jù)倉庫的精典問題是數(shù)據(jù)倉庫負(fù)責(zé)收集和清洗組織中各個組所生成的全部數(shù)據(jù)。各組織的動機(jī)是不同的,數(shù)據(jù)的生產(chǎn)者并不知曉在數(shù)據(jù)倉庫中數(shù)據(jù)的使用情況,最終產(chǎn)生的數(shù)據(jù)很難抽取,或者需要花費(fèi)規(guī)?;霓D(zhuǎn)化才可以轉(zhuǎn)化為可用的形式。當(dāng)然, 中心團(tuán)隊不可能恰到好處的掌握規(guī)模,使得這規(guī)模剛好與組織中其它團(tuán)隊相匹配,因此數(shù)據(jù)的覆蓋率常常差別很大,數(shù)據(jù)流是脆弱的同時變更是緩慢的。

較好的方法是有一個中心通道,日志和用于增加數(shù)據(jù)的定義良好的API。與通道集成的且提供良好的結(jié)構(gòu)化的數(shù)據(jù)文件的職責(zé)依賴于數(shù)據(jù)的生產(chǎn)者所生成的數(shù)據(jù)文件。這意味著在設(shè)計和實施其它系統(tǒng)時應(yīng)當(dāng)考慮數(shù)據(jù)的輸出以及輸出的數(shù)據(jù)如何轉(zhuǎn)化為結(jié)構(gòu)良好的形式并傳遞給中心通道。增加新的存儲系統(tǒng)倒是不必因為數(shù)據(jù)倉庫團(tuán)隊有一個中心結(jié)點需要集成而關(guān)注數(shù)據(jù)倉庫團(tuán)隊。數(shù)據(jù)倉庫團(tuán)隊僅需處理簡單的問題,例如從中心日志中加載結(jié)構(gòu)化的數(shù)據(jù),向其它周邊系統(tǒng)實施個性化的數(shù)據(jù)轉(zhuǎn)化等。
20151224102217087.png (464×306)

如圖所示:當(dāng)考慮在傳統(tǒng)的數(shù)據(jù)倉庫之外增加額外的數(shù)據(jù)系統(tǒng)時,組織結(jié)構(gòu)的可擴(kuò)展性顯得尤為重要。例如,可以考慮為組織的完整的數(shù)據(jù)集提供搜索功能?;蛘咛峁┒壍臄?shù)據(jù)流監(jiān)控實時數(shù)據(jù)趨勢和告警。無論是這兩者中的哪一個,傳統(tǒng)的數(shù)據(jù)倉庫架構(gòu)甚至于Hadoop聚簇都不再適用。更糟的是,ETL的流程通道的目的就是支持?jǐn)?shù)據(jù)加載,然而ETL似乎無法輸出到其它的各個系統(tǒng),也無法通過引導(dǎo)程序,使得這些外圍的系統(tǒng)的各個架構(gòu)成為適用于數(shù)據(jù)倉庫的重要資產(chǎn)。這就不難解釋為什么組織很難輕松的使用它的全部數(shù)據(jù)。反之,如果組織已建立起了一套標(biāo)準(zhǔn)的、結(jié)構(gòu)良好的數(shù)據(jù),那么任何新的系統(tǒng)要使用這些數(shù)據(jù)僅僅需要與通道進(jìn)行簡單的集成就可以實現(xiàn)。
這種架構(gòu)引出了數(shù)據(jù)清理和轉(zhuǎn)化在哪個階段進(jìn)行的不同觀點:

由數(shù)據(jù)的生產(chǎn)者在把數(shù)據(jù)增加到公司全局日志之前。
在日志的實時轉(zhuǎn)化階段進(jìn)行,這將會產(chǎn)生一個新的轉(zhuǎn)化日志。
在向目標(biāo)系統(tǒng)加載數(shù)據(jù)時,做為加載過程的一部分進(jìn)行。
理想的模形是:由數(shù)據(jù)的生產(chǎn)者在把數(shù)據(jù)發(fā)布到日志之前對數(shù)據(jù)進(jìn)行清理。這樣可以確保數(shù)據(jù)的權(quán)威性,不需要維護(hù)其它的遺留物例如為數(shù)據(jù)產(chǎn)生的特殊處理代碼或者維護(hù)這些數(shù)據(jù)的其它的存儲系統(tǒng)。這些細(xì)節(jié)應(yīng)當(dāng)由產(chǎn)生數(shù)據(jù)的團(tuán)隊來處理,因為他們最了解他們自己的數(shù)據(jù)。這個階段所使用的任何邏輯都應(yīng)該是無損的和可逆的。

任何可以實時完成的增值轉(zhuǎn)化類型都應(yīng)當(dāng)基于原始日志進(jìn)行后期處理。這一過程包括了事件數(shù)據(jù)的會話流程,或者增加大眾感興趣的衍生字段。原始的日志仍然是可用的,但是這種實時處理產(chǎn)生的衍生日志包含了參數(shù)數(shù)據(jù)。

最終,只有針對目標(biāo)系統(tǒng)的聚合需要做了加載流程的一部分。它包括了把數(shù)據(jù)轉(zhuǎn)化成特定的星型或者雪花狀模式,從而用于數(shù)據(jù)倉庫的分析和報表。因為在這個階段,大部分自然的映射到傳統(tǒng)的ETL流程中,而現(xiàn)在它是在一個更加干凈和規(guī)整的數(shù)據(jù)流集在進(jìn)行的,它將會更加的簡單。

日志文件和事件

我們再來聊聊這種架構(gòu)的優(yōu)勢:它支持解耦和事件驅(qū)動的系統(tǒng)。

在網(wǎng)絡(luò)行業(yè)取得活動數(shù)據(jù)的典型方法是把它記為文本形式的日志,這些文本文件是可分解進(jìn)入數(shù)據(jù)倉庫或者Hadoop,用于聚合和查詢處理的。由此產(chǎn)生的問題與所有批處理的ETL的問題是相同的:它耦合了數(shù)據(jù)流進(jìn)入數(shù)據(jù)倉庫系統(tǒng)的能力和流程的調(diào)度。

在LinkedIn中,我們已經(jīng)以中心日志的方式構(gòu)建了事件數(shù)據(jù)處理。我們正在使用Kafka做為中心的、多訂閱者事件日志。我們已經(jīng)定義了數(shù)百種事件類型,每種類型都會捕獲用于特定類型動作的獨(dú)特的屬性。這將會覆蓋包括頁面視圖、表達(dá)式、搜索以及服務(wù)調(diào)用、應(yīng)用異常等方方面面。

為了進(jìn)一步理解這一優(yōu)勢:設(shè)想一個簡單的事務(wù)–在日志頁面顯示已發(fā)布的日志。這個日志頁面應(yīng)當(dāng)只包括顯示日志所需要的邏輯。然而,在相當(dāng)多的動態(tài)站點中,日志頁面常常變的添加了很多與顯示日志無關(guān)的邏輯。例如,我們將對如下的系統(tǒng)進(jìn)行集成:

需要把數(shù)據(jù)傳送到Hadoop和數(shù)據(jù)倉庫中用于離線數(shù)據(jù)處理。
需要對視圖進(jìn)行統(tǒng)計,確保視圖訂閱者不會攻擊一些內(nèi)容片段。
需要聚合這些視圖,視圖將用于作業(yè)發(fā)布者的分析頁面顯示。
需要記錄視圖以確保我們?yōu)樽鳂I(yè)推薦的使用者提供了恰當(dāng)?shù)挠∠蟾采w,我們不想一次次的重復(fù)同樣的事情。
推薦系統(tǒng)需要記錄日志用于正確的跟蹤作業(yè)的普及度。
等等。
不久,簡單的作業(yè)顯示變得相當(dāng)?shù)膹?fù)雜。我們增加了作業(yè)顯示的其它終端–移動終端應(yīng)用等–這些邏輯必須繼續(xù)存在,復(fù)雜度不斷的增加。更糟的是我們需要與之做接口交互的系統(tǒng)現(xiàn)在是錯綜復(fù)雜的–在為顯示日作業(yè)而工作的工程師們需要知曉多個其它系統(tǒng)和它們的特征,才可以確保它們被正確的集成了。這僅僅是問題的簡單版本,真實的的應(yīng)用系統(tǒng)只會更加的復(fù)雜。

“事件驅(qū)動”的模式提供了一種簡化這類問題的機(jī)制。作業(yè)顯示頁面現(xiàn)在只顯示作業(yè)并記錄與正在顯示的作業(yè),作業(yè)訂閱者相關(guān)的其它屬性,和其它與作業(yè)顯示相關(guān)的其它有價值的屬性。每個與此相關(guān)的其它系統(tǒng)諸如推薦系統(tǒng)、安全系統(tǒng)、作業(yè)推送分析系統(tǒng)和數(shù)據(jù)倉庫,所有這些只是訂閱種子文件,并進(jìn)行它們的操作。顯示代碼并不需要關(guān)注其它的系統(tǒng),也不需要因為增加了數(shù)據(jù)的消費(fèi)者而相應(yīng)的進(jìn)行變更。

構(gòu)建可伸縮的日志

當(dāng)然,把發(fā)布者與訂閱者分離不再是什么新鮮事了。但是如果你想要確保提交日志的行為就像多個訂閱者實時的分類日志那樣記錄網(wǎng)站發(fā)生的每件事時,可擴(kuò)展性就會成為你所面臨的首要挑戰(zhàn)。如果我們不能創(chuàng)建快速、高性價比和可擴(kuò)展性靈活的日志以滿足實際的可擴(kuò)展需求,把日志做為統(tǒng)一的集成機(jī)制不再是美好的想像,

人們普遍認(rèn)為分布式日志是緩慢的、重量經(jīng)的概念(并且通常會把它僅僅與“原數(shù)據(jù)”類型的使用聯(lián)系起來,對于這類使用Zookeeper可以適用)。但是深入實現(xiàn)并重點關(guān)注分類記錄大規(guī)模的數(shù)據(jù)流,這種需求是不切實際的。在LinkedIn, 我們現(xiàn)在每天通過Kafka運(yùn)行著超過600億個不同的消息寫入點(如果統(tǒng)計鏡相與數(shù)據(jù)中心之間的寫入,那么這個數(shù)字會是數(shù)千億。)

我們在Kafk中使用了一些小技巧來支持這種可擴(kuò)展性:

日志分片
通過批處理讀出和寫入優(yōu)化吞吐力
規(guī)避無用的數(shù)據(jù)復(fù)制。
為了確保水平可擴(kuò)展性,我們把日志進(jìn)行切片:
20151224102300963.png (352×206)

每個切片都是一篇有序的日志,但是各片之間沒有全局的次序(這個有別于你可能包含在消息中的掛鐘時間)。把消息分配到特定的日志片段這是由寫入者控制的,大部分使用者會通過用戶ID等鍵值來進(jìn)行分片。分片可以把日志追加到不存在協(xié)作的片段之間,也可以使系統(tǒng)的吞吐量與Kafka聚簇大小成線性比例關(guān)系。

每個分片都是通過可配置數(shù)量的復(fù)制品復(fù)制的,每個復(fù)制品都有分片的一份完全一致的拷貝。無論何時,它們中的任一個都可以做為主分片,如果主分片出錯了,任何一個復(fù)制品都可以接管并做為主分片。

缺少跨分片的全局順序是這個機(jī)制的局限性,但是我們不認(rèn)為它是最主要的。事實上,與日志的交互主要來源于成百上千個不同的流程,以致于對于它們的行為排一個總體的順序是沒什么意義的。相反,我們可以確保的是我們提供的每個分片都是按順序保留的。Kafka保證了追加到由單一發(fā)送者送出的特定分片會按照發(fā)送的順序依次處理。

日志,就像文件系統(tǒng)一樣,是容易優(yōu)化成線性可讀可寫的樣式的。日志可以把小的讀入和寫出組合成大的、高吞吐量的操作。Kafka一直至立于實現(xiàn)這一優(yōu)化目標(biāo)。批處理可以發(fā)生在由客戶端向服務(wù)器端發(fā)送數(shù)據(jù)、寫入磁盤;在服務(wù)器各端之間復(fù)制;數(shù)據(jù)傳遞給消費(fèi)者和確認(rèn)提交數(shù)據(jù)等諸多環(huán)節(jié)。

最終,Kafka使用簡單的二進(jìn)制形式維護(hù)內(nèi)存日志,磁盤日志和網(wǎng)絡(luò)數(shù)據(jù)傳送。這使得我們可以使用包括“0數(shù)據(jù)復(fù)制傳送”在內(nèi)的大量的優(yōu)化機(jī)制。

這些優(yōu)化的積累效應(yīng)是你常常進(jìn)行的寫出和讀入數(shù)據(jù)的操作可以在磁盤和網(wǎng)絡(luò)上得到支持,甚至于維護(hù)內(nèi)存以外的大量數(shù)據(jù)集。
到此為止,我只是描述從端到端數(shù)據(jù)復(fù)制的理想機(jī)制。但是在存儲系統(tǒng)中搬運(yùn)字節(jié)不是所要講述內(nèi)容的全部。最終我們發(fā)現(xiàn)日志是流的另一種說法,日志是流處理的核心。

但是,等等,什么是流處理呢?

如果你是90年代晚期或者21世紀(jì)初數(shù)據(jù)庫文化或者數(shù)據(jù)基礎(chǔ)架構(gòu)產(chǎn)品的愛好者,那么你就可能會把流處理與建創(chuàng)SQL引擎或者創(chuàng)建“箱子和箭頭”接口用于事件驅(qū)動的處理等聯(lián)系起來。

如果你關(guān)注開源數(shù)據(jù)庫系統(tǒng)的大量出現(xiàn),你就可能把流處理和一些開源數(shù)據(jù)庫系統(tǒng)關(guān)聯(lián)起來,這些系統(tǒng)包括了:Storm,Akka,S4和Samza.但是大部分人會把這些系統(tǒng)作為異步消息處理系統(tǒng),這些系統(tǒng)與支持群集的遠(yuǎn)程過程調(diào)用層的應(yīng)用沒什么差別(而事實上在開源數(shù)據(jù)庫系統(tǒng)領(lǐng)域某些方面確實如此)。

這些視圖都有一些局限性。流處理與SQL是無關(guān)的。它也局限于實時流處理。不存在內(nèi)在的原因限制你不能處理昨天的或者一個月之前的流數(shù)據(jù),且使用多種不同的語言表達(dá)計算。
我把流處理視為更廣泛的概念:持續(xù)數(shù)據(jù)流處理的基礎(chǔ)架構(gòu)。我認(rèn)為計算模型可以像MapReduce或者分布式處理架構(gòu)一樣普遍,但是有能力處理低時延的結(jié)果。

處理模型的實時驅(qū)動是數(shù)據(jù)收集方法。成批收集的數(shù)據(jù)是分批處理的。數(shù)據(jù)是不斷收集的,它也是按順序不斷處理的。

美國的統(tǒng)計調(diào)查就是成批收集數(shù)據(jù)的良好典范。統(tǒng)計調(diào)查周期性的開展,通過挨門挨戶的走訪,使用蠻力發(fā)現(xiàn)和統(tǒng)計美國的公民信息。1790年統(tǒng)計調(diào)查剛剛開始時這種方式是奏效的。那時的數(shù)據(jù)收集是批處理的,它包括了騎著馬悠閑的行進(jìn),把信息寫在紙上,然后把成批的記錄傳送到人們統(tǒng)計數(shù)據(jù)的中心站點?,F(xiàn)在,在描述這個統(tǒng)計過程時,人們立即會想到為什么我們不保留出生和死亡的記錄,這樣就可以產(chǎn)生人口統(tǒng)計信息這些信息或是持續(xù)的或者是其它維度的。

這是一個極端的例子,但是大量的數(shù)據(jù)傳送處理仍然依賴于周期性的轉(zhuǎn)儲,批量轉(zhuǎn)化和集成。處理大容量轉(zhuǎn)儲的唯一方法就是批量的處理。但是隨著這些批處理被持續(xù)的供給所取代,人們自然而然的開始不間斷的處理以平滑的處理所需資源并且消除延遲。

例如LinkedIn幾乎沒有批量數(shù)據(jù)收集。大部分的數(shù)據(jù)或者是活動數(shù)據(jù)或者是數(shù)據(jù)庫變更,這兩者都是不間斷發(fā)生的。事實上,你可以想到的任何商業(yè),正如:Jack Bauer告訴我們的,低層的機(jī)制都是實時發(fā)生的不間斷的流程事件。數(shù)據(jù)是成批收集的,它總是會依賴于一些人為的步驟,或者缺少數(shù)字化或者是一些自動化的非數(shù)字化流程處理的遺留信息。當(dāng)傳送和處理這些數(shù)據(jù)的機(jī)制是郵件或者人工的處理時,這一過程是非常緩慢的。首輪自動化總是保持著最初的處理形式,它常常會持續(xù)相當(dāng)長的時間。

每天運(yùn)行的批量處理作業(yè)常常是模擬了一種一天的窗口大小的不間斷計算。當(dāng)然,低層的數(shù)據(jù)也經(jīng)常變化。在LinkedIn,這些是司空見貫的,并且使得它們在Hadoop運(yùn)轉(zhuǎn)的機(jī)制是有技巧的,所以我們實施了一整套管理增量的Hadoop工作流的架構(gòu)。

由此看來,對于流處理可以有不同的觀點。流處理包括了在底層數(shù)據(jù)處理的時間概念,它不需要數(shù)據(jù)的靜態(tài)快照,它可以產(chǎn)生用戶可控頻率的輸出,而不用等待數(shù)據(jù)集的全部到達(dá)。從這個角度上講,流處理就是廣義上的批處理,隨著實時數(shù)據(jù)的流行,會兒更加普遍。

這就是為什么從傳統(tǒng)的視角看來流處理是利基應(yīng)用。我個人認(rèn)為最大的原因是缺少實時數(shù)據(jù)收集使得不間斷的處理成為了學(xué)術(shù)性的概念。

我想缺少實時數(shù)據(jù)收集就像是商用流處理系統(tǒng)注定的命運(yùn)。他們的客戶仍然需要處理面向文件的、每日批量處理ETL和數(shù)據(jù)集成。公司建設(shè)流處理系統(tǒng)關(guān)注的是提供附著在實時數(shù)據(jù)流的處理引擎,但是最終當(dāng)時極少數(shù)人真正使用了實時數(shù)據(jù)流。事實上,在我在LinkedIn工作的初期,有一家公司試圖把一個非常棒的流處理系統(tǒng)銷售給我們,但是因為當(dāng)時我們的全部數(shù)據(jù)都按小時收集在的文件里,當(dāng)時我們提出的最好的應(yīng)用就是在每小時的最后把這些文件輸入到流處理系統(tǒng)中。他們注意到這是一個普遍性的問題。這些異常證明了如下規(guī)則:流處理系統(tǒng)要滿足的重要商業(yè)目標(biāo)之一是:財務(wù), 它是實時數(shù)據(jù)流已具備的基準(zhǔn),并且流處理已經(jīng)成為了瓶頸。

甚至于在一個健康的批處理系統(tǒng)中,流處理作為一種基礎(chǔ)架構(gòu)的實際應(yīng)用能力是相當(dāng)廣泛的。它跨越了實時數(shù)據(jù)請求-應(yīng)答服務(wù)和離線批量處理之間的鴻溝。現(xiàn)在的互聯(lián)網(wǎng)公司,大約25%的代碼可以劃分到這個類型中。

最終這些日志解決了流處理中絕大部分關(guān)鍵的技術(shù)問題。在我看來,它所解決的最大的問題是它使得多訂閱者可以獲得實時數(shù)據(jù)。對這些技術(shù)細(xì)節(jié)感興趣的朋友,我們可以用開源的Samza,它是基于這些理念建設(shè)的一個流處理系統(tǒng)。這些應(yīng)用的更多技術(shù)細(xì)節(jié)我們在此文檔中有詳細(xì)的描述。

數(shù)據(jù)流圖
20151224102325796.png (289×327)

流處理最有趣的角度是它與流處理系統(tǒng)內(nèi)部無關(guān),但是與之密切相關(guān)的是如何擴(kuò)展了我們談到的早期數(shù)據(jù)集成的數(shù)據(jù)獲取的理念。我們主要討論了基礎(chǔ)數(shù)據(jù)的獲取或日志–事件和各類系統(tǒng)執(zhí)行中產(chǎn)生的數(shù)據(jù)等。但是流處理允許我們包括了計算其它數(shù)據(jù)的數(shù)據(jù)。這些衍生的數(shù)據(jù)在消費(fèi)者看來與他們計算的原始數(shù)據(jù)沒什么差別。這些衍生的數(shù)據(jù)可以按任意的復(fù)雜度進(jìn)行壓縮。

讓我們再深入一步。我們的目標(biāo)是:流處理作業(yè)可以讀取任意的日志并把日志寫入到日志或者其它的系統(tǒng)中。他們用于輸入輸出的日志把這些處理關(guān)聯(lián)到一組處理過程中。事實上,使用這種樣式的集中日志,你可以把組織全部的數(shù)據(jù)抓取、轉(zhuǎn)化和工作流看成是一系列的日志和寫入它們的處理過程。

流處理器根本不需要理想的框架:它可能是讀寫日志的任何處理器或者處理器集合,但是額外的基礎(chǔ)設(shè)施和輔助可以提供幫助管理處理代碼。

日志集成的目標(biāo)是雙重的:

首先,它確保每個數(shù)據(jù)集都有多個訂閱者和有序的。讓我們回顧一下狀態(tài)復(fù)制原則來記住順序的重要性。為了使這個更加具體,設(shè)想一下從數(shù)據(jù)庫中更新數(shù)據(jù)流–如果在處理過程中我們把對同一記錄的兩次更新重新排序,可能會產(chǎn)生錯誤的輸出。 TCP之類的鏈接僅僅局限于單一的點對點鏈接,這一順序的持久性要優(yōu)于TCP之類的鏈接,它可以在流程處理失敗和重連時仍然存在。

第二,日志提供了流程的緩沖。這是非?;A(chǔ)的。如果處理流程是非同步的,那么上行生成流數(shù)據(jù)的作業(yè)比下行消費(fèi)流數(shù)據(jù)的作業(yè)運(yùn)行的更快。這將會導(dǎo)致處理流程阻塞,或者緩沖數(shù)據(jù),或者丟棄數(shù)據(jù)。丟棄數(shù)據(jù)并不是可行的方法,阻塞將會導(dǎo)致整個流程圖立即停止。 日志實際上是一個非常大的緩沖,它允許流程重啟或者停止但不會影響流程圖其它部分的處理速度。如果要把數(shù)據(jù)流擴(kuò)展到更大規(guī)模的組織,如果處理作業(yè)是由多個不同的團(tuán)隊提供的,這種隔離性是極其重的。我們不能容忍一個錯誤的作業(yè)引發(fā)后臺的壓力,這種壓力會使得整個處理流程停止。

Storm和Sama這兩者都是按非同步方式設(shè)計的,可以使用Kafka或者其它類似的系統(tǒng)作為它們的日志。

有狀態(tài)的實時流處理

一些實時流處理在轉(zhuǎn)化時是無狀態(tài)的記錄。在流處理中大部分的應(yīng)用會是相當(dāng)復(fù)雜的統(tǒng)計、聚合、不同窗口之間的關(guān)聯(lián)。例如有時人們想擴(kuò)大包含用戶操作信息的事件流(一系列的單擊動作)–實際上關(guān)聯(lián)了用戶的單擊動作流與用戶的賬戶信息數(shù)據(jù)庫。不變的是這類流程最終會需要由處理器維護(hù)的一些狀態(tài)信息。例如數(shù)據(jù)統(tǒng)計時,你需要統(tǒng)計到目前為止需要維護(hù)的計數(shù)器。如果處理器本身失敗了,如何正確的維護(hù)這些狀態(tài)信息呢?

最簡單的替換方案是把這些狀態(tài)信息保存在內(nèi)存中。但是如果流程崩潰,它就會丟失中間狀態(tài)。如果狀態(tài)是按窗口維護(hù)的,流程就會回退到日志中窗口開始的時間點上。但是,如果統(tǒng)計是按小時進(jìn)行的,那么這種方式就會變得不可行。

另一個替換方案是簡單的存儲所有的狀態(tài)信息到遠(yuǎn)程的存儲系統(tǒng),通過網(wǎng)絡(luò)與這些存儲關(guān)聯(lián)起來。這種機(jī)制的問題是沒有本地數(shù)據(jù)和大量的網(wǎng)絡(luò)間通信。

我們?nèi)绾沃С痔幚磉^程可以像表一樣分區(qū)的數(shù)據(jù)呢?

回顧一下關(guān)于表和日志二相性的討論。這一機(jī)制提供了工具把數(shù)據(jù)流轉(zhuǎn)化為與處理過程協(xié)同定位的表,同時也提供了這些表的容錯處理的機(jī)制。

流處理器可以把它的狀態(tài)保存在本地的表或索引–bdb,或者leveldb,甚至于類似于Lucene 或fastbit一樣不常見的索引。這些內(nèi)容存儲在它的輸入流中(或許是使用任意的轉(zhuǎn)化)。生成的變更日志記錄了本地的索引,它允許存儲事件崩潰、重啟等的狀態(tài)信息。流處理提供了通用的機(jī)制用于在本地輸入流數(shù)據(jù)的隨機(jī)索引中保存共同分片的狀態(tài)。

當(dāng)流程運(yùn)行失敗時,它會從變更日志中恢復(fù)它的索引。每次備份時,日志把本地狀態(tài)轉(zhuǎn)化成一系列的增量記錄。

這種狀態(tài)管理的方法有一個優(yōu)勢是把處理器的狀態(tài)也做為日志進(jìn)行維護(hù)。我們可以把這些日志看成與數(shù)據(jù)庫表相對應(yīng)的變更日志。事實上,這些處理器同時維護(hù)著像共同分片表一樣的表。因為這些狀態(tài)它本身就是日志,其它的處理器可以訂閱它。如果流程處理的目標(biāo)是更新結(jié)點的最后狀態(tài),這種狀態(tài)又是流程的輸出,那么這種方法就顯得尤為重要。

為了數(shù)據(jù)集成,與來自數(shù)據(jù)庫的日志關(guān)聯(lián),日志和數(shù)據(jù)庫表的二象性就更加清晰了。變更日志可以從數(shù)據(jù)庫中抽取出來,日志可以由不同的流處理器(流處理器用于關(guān)聯(lián)不同的事件流)按不同的方式進(jìn)行索引。

我們可以列舉在Samza中有狀態(tài)流處理管理的更多細(xì)節(jié)和大量實用的例子。

日志壓縮

當(dāng)然,我們不能奢望保存全部變更的完整日志。除非想要使用無限空間,日志不可能完全清除。為了澄清它,我們再來聊聊Kafka的實現(xiàn)。在Kafka中,清理有兩種選擇,這取決于數(shù)據(jù)是否包括關(guān)鍵更新和事件數(shù)據(jù)。對于事件數(shù)據(jù),Kafka支持僅維護(hù)一個窗口的數(shù)據(jù)。通常,配置需要一些時間,窗口可以按時間或空間定義。雖然對于關(guān)鍵數(shù)據(jù)而言,完整日志的重要特征是你可以重現(xiàn)源系統(tǒng)的狀態(tài)信息,或者在其它的系統(tǒng)重現(xiàn)。

隨著時間的推移,保持完整的日志會使用越來越多的空間,重現(xiàn)所耗費(fèi)的時間越來越長。因些在Kafka中,我們支持不同類型的保留。我們移除了廢棄的記錄(這些記錄的主鍵最近更新過)而不是簡單的丟棄舊日志。我們?nèi)匀槐WC日志包含了源系統(tǒng)的完整備份,但是現(xiàn)在我們不再重現(xiàn)原系統(tǒng)的全部狀態(tài),而是僅僅重現(xiàn)最近的狀態(tài)。我們把這一特征稱為日志壓縮。

我們最后要討論的是在線數(shù)據(jù)系統(tǒng)設(shè)計中日志的角色。

在分布式數(shù)據(jù)庫數(shù)據(jù)流中日志的角色和在大型組織機(jī)構(gòu)數(shù)據(jù)完整中日志的角色是相似的。在這兩個應(yīng)用場景中,日志是對于數(shù)據(jù)源是可靠的,一致的和可恢復(fù)的。組織如果不是一個復(fù)雜的分布式數(shù)據(jù)系統(tǒng)呢,它究竟是什么?

如果換個角度,你可以看到把整個組織系統(tǒng)和數(shù)據(jù)流看做是單一的分布式數(shù)據(jù)系統(tǒng)。你可以把所有的子查詢系統(tǒng)(諸如Redis, SOLR,Hive表等)看成是數(shù)據(jù)的特定索引。你可以把Storm或Samza一樣的流處理系統(tǒng)看成是發(fā)展良好的觸發(fā)器和視圖具體化機(jī)制。我已經(jīng)注意到,傳統(tǒng)的數(shù)據(jù)庫管理人員非常喜歡這樣的視圖,因為它最終解釋了這些不同的數(shù)據(jù)系統(tǒng)到底是做什么用的–它們只是不同的索引類型而已。

不可否認(rèn)這類數(shù)據(jù)庫系統(tǒng)現(xiàn)在大量的出現(xiàn),但是事實上,這種復(fù)雜性一直都存在。即使是在關(guān)系數(shù)據(jù)庫系統(tǒng)的鼎盛時期,組織中有大量的關(guān)系數(shù)據(jù)庫系統(tǒng)?;蛟S自大型機(jī)時代開始,所有的數(shù)據(jù)都存儲在相同的位置,真正的集成是根本不存在的。存在多種外在需求,需要把數(shù)據(jù)分解成多個系統(tǒng),這些外在需求包括:規(guī)模、地理因素、安全性,性能隔離是最常見的因素。這些需求都可以由一個優(yōu)質(zhì)的系統(tǒng)實現(xiàn):例如,組織可以使用單一的Hadoop聚簇,它包括了全部的數(shù)據(jù),可以服務(wù)于大型的和多樣性的客戶。

因此在向分布式系統(tǒng)變遷的過程中,已經(jīng)存在一種處理數(shù)據(jù)的簡便的方法:把大量的不同系統(tǒng)的小的實例聚合成為大的聚簇。許多的系統(tǒng)還不足以支持這一方法:因為它們不夠安全,或者性能隔離性得不到保證,或者規(guī)模不符合要求。不過這些問題都是可以解決的。

依我之見,不同系統(tǒng)大量出現(xiàn)的原因是建設(shè)分布式數(shù)據(jù)庫系統(tǒng)很困難。通過削減到單一的查詢或者用例,每個系統(tǒng)都可以把規(guī)??刂频揭子趯崿F(xiàn)的程度。但是運(yùn)行這些系統(tǒng)產(chǎn)生的復(fù)雜度依然很高。

未來這類問題可能的發(fā)展趨勢有三種:

第一種可能是保持現(xiàn)狀:孤立的系統(tǒng)還會或長或短的持續(xù)一段時間。這是因為建設(shè)分布式系統(tǒng)的困難很難克服,或者因為孤立系統(tǒng)的獨(dú)特性和便捷性很難達(dá)到?;谶@些原因,數(shù)據(jù)集成的核心問題仍然是如何恰當(dāng)?shù)氖褂脭?shù)據(jù)。因此,集成數(shù)據(jù)的外部日志非常的重要。

第二種可能是重構(gòu):具備通用性的單一的系統(tǒng)逐步融合多個功能形成超極系統(tǒng)。這個超級系統(tǒng)表面看起來類似關(guān)系數(shù)據(jù)庫系統(tǒng),但是在組織中你使用時最大的不同是你只需要一個大的系統(tǒng)而不是無數(shù)個小系統(tǒng)。在這個世界里,除了在系統(tǒng)內(nèi)已解決的這個問題不存在什么真正的數(shù)據(jù)集成問題。我想這是因為建設(shè)這樣的系統(tǒng)的實際困難。

雖然另一種可能的結(jié)果對于工程師來說是很有吸引力的。新一代數(shù)據(jù)庫系統(tǒng)的特征之一是它們是完全開源的。開源提供了第三種可能性 :數(shù)據(jù)基礎(chǔ)架構(gòu)不必打包成服務(wù)集或者面向應(yīng)用的系統(tǒng)接口。在Java棧中,你可以看到在一定程度上,這種狀況已經(jīng)發(fā)生了。

分類計價嗎?

Zookeeper用于處理多個系統(tǒng)之間的協(xié)調(diào),或許會從諸如Helix 或者Curator等高級別的抽象中得到一些幫助。
Mesos和YARN用于處理流程可視化和資源管理。
Lucene和LevelDB等嵌入式類庫做為索引。
Netty,Jetty和Finagle,rest.li等封裝成高級別的用于處理遠(yuǎn)程通信。
Avro,Protocol Buffers,Thrift和umpteen zillion等其它類庫用于處理序列化。
Kafka和Bookeeper提供支持日志。
如果你把這些堆放在一起,換個角度看,它有點像是簡化版的分布式數(shù)據(jù)庫系統(tǒng)工程。你可以把這些拼裝在一起,創(chuàng)建大量的可能的系統(tǒng)。顯而易見,現(xiàn)在探討的不是最終用戶所關(guān)心的API或者如何實現(xiàn),而是在不斷多樣化和模塊化的過程中如何設(shè)計實現(xiàn)單一系統(tǒng)的途徑。因為隨著可靠的、靈活的模塊的出現(xiàn),實施分布式系統(tǒng)的時間周期由年縮減為周,聚合形成大型整體系統(tǒng)的壓力逐步消失。
日志文件在系統(tǒng)結(jié)構(gòu)中的地位

那些提供外部日志的系統(tǒng)如今已允許個人電腦拋棄他們自身復(fù)雜的日志系統(tǒng)轉(zhuǎn)而使用共享日志。在我看來,日志可以做到以下事情:

通過對節(jié)點的并發(fā)更新的排序處理數(shù)據(jù)的一致性(無論在及時還是最終情況下)
提供節(jié)點之間的數(shù)據(jù)復(fù)制
提供”commit“語法(只有當(dāng)寫入器確保數(shù)據(jù)不會丟失時才會寫入)
位系統(tǒng)提供外部的數(shù)據(jù)訂閱資源
提供存儲失敗的復(fù)制操作和引導(dǎo)新的復(fù)制操作的能力
處理節(jié)點間的數(shù)據(jù)平衡
這實際上是一個數(shù)據(jù)分發(fā)系統(tǒng)最重要的部分,剩下的大部分內(nèi)容與終端調(diào)用的API和索引策略相關(guān)。這正是不同系統(tǒng)間的差異所在,例如:一個全文本查詢語句需要查詢所有的分區(qū),而一個主鍵查詢只需要查詢負(fù)責(zé)鍵數(shù)據(jù)的單個節(jié)點就可以了。

下面我們來看下該系統(tǒng)是如何工作的。系統(tǒng)被分為兩個邏輯區(qū)域:日志和服務(wù)層。日志按順序捕獲狀態(tài)變化,服務(wù)節(jié)點存儲索引提供查詢服務(wù)需要的所有信息(鍵-值的存儲可能以B-tree或SSTable的方式進(jìn)行,而搜索系統(tǒng)可能存在與之相反的索引)。寫入器可以直接訪問日志,盡管需要通過服務(wù)層代理。在寫入日志的時候會產(chǎn)生邏輯時間戳(即log中的索引),如果系統(tǒng)是分段式的,那么就會產(chǎn)生與段數(shù)目相同數(shù)量的日志文件和服務(wù)節(jié)點,這里的數(shù)量和機(jī)器數(shù)量可能會有較大差距。
20151224102350246.png (192×331)

服務(wù)節(jié)點訂閱日志信息并將寫入器按照日志存儲的順序盡快應(yīng)用到它的本地索引上。

客戶端只要在查詢語句中提供對應(yīng)的寫入器的時間戳,它就可以從任何節(jié)點中獲取”讀寫“語義。服務(wù)節(jié)點收到該查詢語句后會將其中的時間戳與自身的索引比較,如果必要,服務(wù)節(jié)點會延遲請求直到對應(yīng)時間的索引建立完畢,以免提供舊數(shù)據(jù)。

服務(wù)節(jié)點或許根本無需知道”控制“或”投標(biāo)選擇(leader election)“的概念,對很多簡單的操作,服務(wù)節(jié)點可以愛完全脫離領(lǐng)導(dǎo)的情況下提供服務(wù),日志即是信息的來源。

分發(fā)系統(tǒng)所需要做的其中一個比較復(fù)雜的工作,就是修復(fù)失敗節(jié)點并移除幾點之間的隔離。保留修復(fù)的數(shù)據(jù)并結(jié)合上各區(qū)域內(nèi)的數(shù)據(jù)快照是一種較為典型的做法,它與保留完整的數(shù)據(jù)備份并從垃圾箱內(nèi)回收日志的做法幾乎等價。這就使得服務(wù)層簡單了很多,日志系統(tǒng)也更有針對性。

有了這個日志系統(tǒng),你可以訂閱到API,這個API提供了把ETL提供給其它系統(tǒng)的數(shù)據(jù)內(nèi)容。事實上,許多系統(tǒng)都可以共享相同的日志同時提供不同的索引,如下所示:
20151224102409103.png (320×314)

這樣一個以日志為中心的系統(tǒng)是如何做到既數(shù)據(jù)流的提供者又同時加載其它系統(tǒng)的數(shù)據(jù)的呢?因為流處理器既可以消費(fèi)多個輸入的數(shù)據(jù)流,隨后又可以通過其它系統(tǒng)對數(shù)據(jù)做索引為它們提供服務(wù)。

這個系統(tǒng)的視圖可以清晰的分解到日志和查詢API,因為它允許你從系統(tǒng)的可用性和一致性角度分解查詢的特征。這可以幫助我們對系統(tǒng)進(jìn)行分解,并理解那些并沒按這種方式設(shè)計實施的系統(tǒng)。

雖然Kafka和Bookeeper都是一致性日志,但這不是必須的,也沒什么意義。你可以輕松的把Dynamo之類的數(shù)據(jù)構(gòu)分解為一致性的AP日志和鍵值對服務(wù)層。這樣的日志使用起來靈活,因為它重傳了舊消息,像Dynamo一樣,這樣的處理取決于消息的訂閱者。

在很多人看來,在日志中另外保存一份數(shù)據(jù)的完整復(fù)本是一種浪費(fèi)。事實上,雖然有很多因素使得這件事并不困難。首先,日志可以是一種有效的存儲機(jī)制。我們在Kafka生產(chǎn)環(huán)境的服務(wù)器上存儲了5 TB的數(shù)據(jù)。同時有許多的服務(wù)系統(tǒng)需要更多的內(nèi)存來提供有效的數(shù)據(jù)服務(wù),例如文本搜索,它通常是在內(nèi)存中的。服務(wù)系統(tǒng)同樣也需樣硬盤的優(yōu)化。例如,我們的實時數(shù)據(jù)系統(tǒng)或者在內(nèi)存外提供服務(wù)或者使用固態(tài)硬盤。相反,日志系統(tǒng)只需要線性的讀寫,因此,它很樂于使用TB量級的硬盤。最終,如上圖所示,由多個系統(tǒng)提供的數(shù)據(jù),日志的成本分?jǐn)偟蕉鄠€索引上,這種聚合使得外部日志的成本降到了最低點。

LinkedIn就是使用了這種方式實現(xiàn)它的多個實時查詢系統(tǒng)的。這些系統(tǒng)提供了一個數(shù)據(jù)庫(使用數(shù)據(jù)總線做為日志摘要,或者從Kafka去掉專用的日志),這些系統(tǒng)在頂層數(shù)據(jù)流上還提供了特殊的分片、索引和查詢功能。這也是我們實施搜索、社交網(wǎng)絡(luò)和OLAP查詢系統(tǒng)的方式。事實上這種方式是相當(dāng)普遍的:為多個用于實時服務(wù)的服務(wù)系統(tǒng)提供單一的數(shù)據(jù)(這些來自Hadoop的數(shù)據(jù)或是實時的或是衍生的)。這種方式已被證實是相當(dāng)簡潔的。這些系統(tǒng)根本不需要外部可寫入的API,Kafka和數(shù)據(jù)庫被用做系統(tǒng)的記錄和變更流,通過日志你可以查詢系統(tǒng)。持有特定分片的結(jié)點在本地完成寫操作。這些結(jié)點盲目的把日志提供的數(shù)據(jù)轉(zhuǎn)錄到它們自己的存儲空間中。通過回放上行流日志可以恢復(fù)轉(zhuǎn)錄失敗的結(jié)點。

這些系統(tǒng)的程度則取決于日志的多樣性。一個完全可靠的系統(tǒng)可以用日志來對數(shù)據(jù)分片、存儲結(jié)點、均衡負(fù)載,以及用于數(shù)據(jù)一致性和數(shù)據(jù)復(fù)制等多方面。在這一過程中,服務(wù)層實際上只不過是一種緩存機(jī)制,這種緩存機(jī)制允許直接寫入日志的流處理。

結(jié)束語

如果你對于本文中所談到的關(guān)于日志的大部內(nèi)容,如下內(nèi)容是您可以參考的其它資料。對于同一事務(wù)人們會用不同的術(shù)語,這會讓人有一些困惑,從數(shù)據(jù)庫系統(tǒng)到分布式系統(tǒng),從各類企業(yè)級應(yīng)用軟件到廣闊的開源世界。無論如何,在大方向上還是有一些共同之處。

相關(guān)文章

  • 微信怎么綁定linkedin帳號?

    LikedI是一款全球最大的職業(yè)社交網(wǎng)站,很多朋友都有在玩。那么微信怎么綁定linkedin帳號?其實方法很簡單的,下面小編就為大家演示微信關(guān)聯(lián)linkedin賬號方法,如果你想使用
    2014-10-10
  • 微信綁定linkedin方法 微信關(guān)聯(lián)linkedin賬號技巧

    微信作為手機(jī)社交的必備工具,你用的怎么樣呢?看看本文你會用的更好,本文是微信關(guān)聯(lián)linkedin賬號的方法
    2014-09-04
  • 分享社交網(wǎng)站Linkedin成功的秘訣

    美國《財富》雜志網(wǎng)絡(luò)版今日發(fā)表專訪社交網(wǎng)站Linkedin的創(chuàng)始人雷德·霍夫曼(Reid Hoffman)文章,介紹了其開創(chuàng)Linkedin的經(jīng)歷,并分享了他成功的三個秘訣。
    2009-08-31

最新評論

999热精品视频在线| 成人国产影院在线观看| 老师让我插进去69AV| 午夜精品九一唐人麻豆嫩草成人| 极品粉嫩小泬白浆20p主播| 亚洲粉嫩av一区二区三区| 97国产福利小视频合集| 欧美成人一二三在线网| 免费费一级特黄真人片 | 国产精品久久久久国产三级试频| 日韩欧美亚洲熟女人妻| 99久久中文字幕一本人| 成熟丰满熟妇高潮xx×xx| 97国产在线观看高清| 老熟妇凹凸淫老妇女av在线观看| 午夜福利人人妻人人澡人人爽| av男人天堂狠狠干| 欧美麻豆av在线播放| 国产大鸡巴大鸡巴操小骚逼小骚逼| 影音先锋女人av噜噜色| 久久久91蜜桃精品ad| 又粗又硬又猛又黄免费30| 偷拍自拍国产在线视频| 在线 中文字幕 一区| 亚洲高清免费在线观看视频| 青青青青青青青在线播放视频| 一区二区三区四区五区性感视频 | 久久久制服丝袜中文字幕| 91免费福利网91麻豆国产精品| 免费十精品十国产网站| caoporm超碰国产| 91精品国产高清自在线看香蕉网 | 99一区二区在线观看| 久久久精品999精品日本 | 国产精品一区二区三区蜜臀av| 国产精品中文av在线播放| 日日摸夜夜添夜夜添毛片性色av| 91p0rny九色露脸熟女| 欧美中文字幕一区最新网址| 99一区二区在线观看| 91免费福利网91麻豆国产精品| 色吉吉影音天天干天天操| 无码精品一区二区三区人| av天堂加勒比在线| 91精品国产麻豆国产| av久久精品北条麻妃av观看| 久久丁香花五月天色婷婷| 少妇ww搡性bbb91| 国产揄拍高清国内精品对白| 国产极品精品免费视频| 国产视频一区在线观看| 自拍偷拍亚洲欧美在线视频| 国产精彩福利精品视频| 国产高清在线观看1区2区| 国产卡一卡二卡三乱码手机| 日韩成人免费电影二区| 中国熟女@视频91| 91国产在线免费播放| 久久久久91精品推荐99| xxx日本hd高清| 黄色三级网站免费下载| 日韩近亲视频在线观看| 欧美日韩熟女一区二区三区| 国产又粗又黄又硬又爽| 一区二区三区国产精选在线播放| 18禁无翼鸟成人在线| 成人精品在线观看视频| 日韩av有码一区二区三区4| 国产亚洲视频在线观看| 久久精品36亚洲精品束缚| 91麻豆精品秘密入口在线观看| 91成人精品亚洲国产| 精品久久久久久久久久久久人妻| 亚洲女人的天堂av| 免费看美女脱光衣服的视频| 大鸡巴操娇小玲珑的女孩逼| 亚洲丝袜老师诱惑在线观看| AV无码一区二区三区不卡| 在线观看黄色成年人网站| 偷拍自拍国产在线视频| 亚洲 色图 偷拍 欧美| 国产成人精品av网站| 久久综合老鸭窝色综合久久| 5528327男人天堂| 成人av在线资源网站| 中文字幕视频一区二区在线观看| 久久久久久久精品老熟妇| 亚洲精品精品国产综合| 日韩欧美中文国产在线| 视频在线免费观看你懂得| 99热国产精品666| 国产成人无码精品久久久电影| 亚洲视频乱码在线观看| 一区二区三区四区中文| 又色又爽又黄的美女裸体| 国产精品中文av在线播放| 男人的天堂一区二区在线观看| 大陆胖女人与丈夫操b国语高清| 色婷婷六月亚洲综合香蕉| mm131美女午夜爽爽爽| 国产精品自拍偷拍a| 99久久中文字幕一本人| 亚洲欧美福利在线观看| 好了av中文字幕在线| 人妻激情图片视频小说| 国产乱子伦精品视频潮优女| 国产三级片久久久久久久| 欧美第一页在线免费观看视频| 国产高清97在线观看视频| 亚洲人人妻一区二区三区| 97色视频在线观看| 人妻3p真实偷拍一二区| 日韩欧美中文国产在线| 五月天中文字幕内射| 成熟丰满熟妇高潮xx×xx| 久久久久久九九99精品| 中文字幕在线免费第一页| 天天射,天天操,天天说| 韩国黄色一级二级三级| 一区二区三区美女毛片| 美女福利写真在线观看视频| 天天摸天天日天天操| 色综合久久无码中文字幕波多| 午夜的视频在线观看| 传媒在线播放国产精品一区| 青青草在观免费国产精品| 成人国产小视频在线观看| 嫩草aⅴ一区二区三区| 国产精品亚洲在线观看| 狠狠躁狠狠爱网站视频| 国产成人精品av网站| 日韩在线中文字幕色| 欧洲日韩亚洲一区二区三区| 丝袜肉丝一区二区三区四区在线| 日本成人一区二区不卡免费在线| 中文字幕第1页av一天堂网| 自拍偷区二区三区麻豆| 深夜男人福利在线观看| 40道精品招牌菜特色| 人妻少妇亚洲一区二区| 亚洲av人人澡人人爽人人爱| 亚洲激情唯美亚洲激情图片| 视频一区二区三区高清在线| 免费高清自慰一区二区三区网站| 亚洲av男人天堂久久| 天天日天天添天天爽| 成人蜜臀午夜久久一区| 99精品国产免费久久| 日韩三级黄色片网站| 好吊视频—区二区三区| 九九视频在线精品播放| 人妻激情图片视频小说| 欧美男人大鸡吧插女人视频| 免费av岛国天堂网站| 美女大bxxxx内射| 97色视频在线观看| 日韩亚洲高清在线观看| 久久久久只精品国产三级| 国产密臀av一区二区三| 日本精品一区二区三区在线视频。 | brazzers欧熟精品系列| 日本丰满熟妇大屁股久久| 欧美成人一二三在线网| 2020韩国午夜女主播在线| 视频一区二区在线免费播放| 欧美中国日韩久久精品| 98视频精品在线观看| 日韩精品电影亚洲一区| 人妻少妇av在线观看| 欧美xxx成人在线| 人妻最新视频在线免费观看| 亚洲护士一区二区三区| 美女张开两腿让男人桶av| 亚洲变态另类色图天堂网| 午夜精品亚洲精品五月色| 天天干天天操天天玩天天射 | 国产日韩av一区二区在线| 日本黄色三级高清视频| 日本美女性生活一级片| av无限看熟女人妻另类av| 四川乱子伦视频国产vip| 在线成人日韩av电影| 888亚洲欧美国产va在线播放| 男女啪啪视频免费在线观看| 99热久久极品热亚洲| 女同性ⅹxx女同hd| 日韩欧美国产精品91| 五月激情婷婷久久综合网| 夏目彩春在线中文字幕| 黄色视频在线观看高清无码| 成年人黄视频在线观看| 日韩一区二区三区三州| 亚洲精品中文字幕下载| 国产高清精品极品美女| 欧美成人猛片aaaaaaa| 一级A一级a爰片免费免会员| 91香蕉成人app下载| 性色av一区二区三区久久久| 直接观看免费黄网站| 97精品人妻一区二区三区精品| 中文字幕 人妻精品| 女蜜桃臀紧身瑜伽裤| 人妻最新视频在线免费观看| 超碰在线中文字幕一区二区| 青青青青在线视频免费观看| 国产精品熟女久久久久浪潮| 2022天天干天天操| 韩国一级特黄大片做受| 国产精品午夜国产小视频| 亚洲午夜精品小视频| 91成人精品亚洲国产| 中国无遮挡白丝袜二区精品 | 青青热久免费精品视频在线观看| 国产日本精品久久久久久久| 制丝袜业一区二区三区| 青青草原色片网站在线观看 | 美女少妇亚洲精选av| 蜜桃视频17c在线一区二区| 美女骚逼日出水来了| 国产综合视频在线看片| 久久久久久久精品老熟妇| 午夜福利资源综合激情午夜福利资 | 人妻少妇亚洲精品中文字幕| 青青青青青青青青青青草青青 | 国产精品一区二区av国| 大鸡吧插逼逼视频免费看| 久久久极品久久蜜桃| 亚洲成人熟妇一区二区三区| 岛国毛片视频免费在线观看| 国产精品久久久黄网站| 一区二区三区日本伦理| 欧美一区二区三区啪啪同性| 国产精品黄色的av| a v欧美一区=区三区| 国产91久久精品一区二区字幕| 99的爱精品免费视频| 成人在线欧美日韩国产| 韩国亚洲欧美超一级在线播放视频| av线天堂在线观看| 青青草成人福利电影| 极品丝袜一区二区三区| 日韩av免费观看一区| 国产精品一区二区久久久av| 99热这里只有精品中文| 天天日天天添天天爽| 国产成人精品亚洲男人的天堂| 日本熟妇色熟妇在线观看| 精品区一区二区三区四区人妻| 日本韩国免费福利精品| 爆乳骚货内射骚货内射在线| 美味人妻2在线播放| 夜鲁夜鲁狠鲁天天在线| 国产亚洲精品品视频在线| 日本最新一二三区不卡在线| 2021久久免费视频| av亚洲中文天堂字幕网| 40道精品招牌菜特色| 日日夜夜大香蕉伊人| 99的爱精品免费视频| 国产精品国产精品一区二区| 成人乱码一区二区三区av| 一区二区熟女人妻视频| 亚洲成人熟妇一区二区三区| 91精品综合久久久久3d动漫| 最后99天全集在线观看| 经典亚洲伊人第一页| 边摸边做超爽毛片18禁色戒 | 大香蕉大香蕉大香蕉大香蕉大香蕉 | 久久香蕉国产免费天天| 午夜福利人人妻人人澡人人爽| 久久午夜夜伦痒痒想咳嗽P| sspd152中文字幕在线| 亚洲另类伦春色综合小| 国产欧美精品不卡在线| 久久久久久久亚洲午夜综合福利| 久久香蕉国产免费天天| 日本一道二三区视频久久| 福利视频一区二区三区筱慧| 久久尻中国美女视频| 家庭女教师中文字幕在线播放| av老司机精品在线观看| av完全免费在线观看av| 欧美特色aaa大片| 成熟熟女国产精品一区| 青青青青爽手机在线| 自拍偷拍一区二区三区图片| 色在线观看视频免费的| 亚洲成人黄色一区二区三区| 色爱av一区二区三区| 日本少妇人妻xxxxxhd| 色综合天天综合网国产成人| 任我爽精品视频在线播放| 日韩成人免费电影二区| 午夜精品一区二区三区4| 婷婷五月亚洲综合在线| 色av色婷婷人妻久久久精品高清| 日本成人不卡一区二区| 中文字幕亚洲久久久| 9国产精品久久久久老师 | 非洲黑人一级特黄片| 9久在线视频只有精品| 日本精品视频不卡一二三| 一区二区久久成人网| 黑人解禁人妻叶爱071| 视频在线免费观看你懂得| 久久久极品久久蜜桃| 偷拍自拍亚洲视频在线观看| 天天插天天色天天日| 免费在线观看污污视频网站| 午夜极品美女福利视频| 日本少妇精品免费视频| 亚洲精品麻豆免费在线观看| 亚洲无线观看国产高清在线| av在线资源中文字幕| 成人18禁网站在线播放| 中文字幕一区二 区二三区四区| 女人精品内射国产99| 欧美亚洲免费视频观看| 性生活第二下硬不起来| 成熟丰满熟妇高潮xx×xx| 免费av岛国天堂网站| 一个色综合男人天堂| 啪啪啪啪啪啪啪啪啪啪黄色| 午夜激情久久不卡一区二区| 青青伊人一精品视频| 亚洲男人的天堂a在线| 天天操,天天干,天天射| 91av精品视频在线| 66久久久久久久久久久| 午夜福利资源综合激情午夜福利资| 国产又色又刺激在线视频| 搡老熟女一区二区在线观看| 色爱av一区二区三区| 免费男阳茎伸入女阳道视频 | AV无码一区二区三区不卡| 这里有精品成人国产99| 超级福利视频在线观看| 成人av电影免费版| 青青草原网站在线观看 | 色秀欧美视频第一页| 人妻在线精品录音叫床| 97国产在线av精品| 青青青青青操视频在线观看| 经典国语激情内射视频| 91小伙伴中女熟女高潮| 亚洲美女自偷自拍11页| 黄色大片免费观看网站| 国产在线自在拍91国语自产精品| 100%美女蜜桃视频| 亚洲另类伦春色综合小| 9国产精品久久久久老师 | 亚洲中文精品字幕在线观看| 97超碰国语国产97超碰| 狠狠的往里顶撞h百合| 农村胖女人操逼视频| 亚洲av自拍天堂网| 午夜av一区二区三区 | 最新黄色av网站在线观看| 日本裸体熟妇区二区欧美| 天天日天天舔天天射进去| 在线观看av2025| 国产91嫩草久久成人在线视频| 在线亚洲天堂色播av电影| xxx日本hd高清| 五十路人妻熟女av一区二区| 亚洲久久午夜av一区二区| 国产精品黄片免费在线观看| 午夜dv内射一区区| 狠狠躁狠狠爱网站视频| 在线视频免费观看网| 十八禁在线观看地址免费| 亚洲免费福利一区二区三区| av在线观看网址av| 手机看片福利盒子日韩在线播放| 日本www中文字幕| 中文字幕最新久久久| gogo国模私拍视频| av破解版在线观看| 久久麻豆亚洲精品av| 人妻最新视频在线免费观看| 人人妻人人爱人人草| 欧美成人综合视频一区二区 | 亚洲天堂精品久久久| 亚洲福利精品福利精品福利| 欧美日本aⅴ免费视频| 亚洲欧美一卡二卡三卡| 精品区一区二区三区四区人妻| 国产夫妻视频在线观看免费| 动色av一区二区三区| 99精品免费久久久久久久久a| 最新97国产在线视频| 久久久久久99国产精品| 国产精品国产三级国产午| 男人的天堂在线黄色| 岛国黄色大片在线观看| 久久午夜夜伦痒痒想咳嗽P| 99热久久这里只有精品8| 日本啪啪啪啪啪啪啪| 国产精品国产三级国产精东 | 55夜色66夜色国产精品站| 男人天堂最新地址av| 成年美女黄网站18禁久久| 国产精品视频一区在线播放| 99久久99一区二区三区| 青青青激情在线观看视频| 午夜激情久久不卡一区二区| 人妻丝袜诱惑我操她视频| 亚洲成人午夜电影在线观看| 国产精品女邻居小骚货| 四虎永久在线精品免费区二区| 国产精品久久久久久久久福交| 亚洲欧美久久久久久久久| 毛片av在线免费看| 91精品国产麻豆国产| 国产欧美精品不卡在线| 亚洲中文精品人人免费| 国产在线自在拍91国语自产精品| 日韩欧美一级黄片亚洲| 美女在线观看日本亚洲一区| 亚洲日本一区二区三区| 成人H精品动漫在线无码播放| 日韩一个色综合导航| 美女张开两腿让男人桶av| 国产精品熟女久久久久浪潮| asmr福利视频在线观看| 午夜在线精品偷拍一区二| 精产国品久久一二三产区区别| 中文字幕第三十八页久久 | 日韩黄色片在线观看网站| 国产日韩精品一二三区久久久| 天天综合天天综合天天网| 亚洲一区二区三区精品乱码| 老师啊太大了啊啊啊尻视频| 精品少妇一二三视频在线| 99精品国自产在线人| 噜噜色噜噜噜久色超碰| 免费在线黄色观看网站| 亚洲图库另类图片区| 日日夜夜大香蕉伊人| 欧美少妇性一区二区三区| 日韩欧美亚洲熟女人妻| 天天日天天添天天爽| 99精品视频在线观看婷婷| 搡老熟女一区二区在线观看| 超碰97人人做人人爱| 亚洲成人熟妇一区二区三区 | 3D动漫精品啪啪一区二区下载| 国产成人精品一区在线观看| 中文字幕一区二区人妻电影冢本 | 亚洲av一妻不如妾| 亚洲精品无码色午夜福利理论片| 91精品国产91久久自产久强| 亚洲一区制服丝袜美腿| 99人妻视频免费在线| 亚洲中文精品人人免费| 五十路老熟女码av| 很黄很污很色的午夜网站在线观看 | 极品丝袜一区二区三区| 日韩在线中文字幕色| av男人天堂狠狠干| 天天日天天日天天擦| 青青青青青青青青青国产精品视频| 色综合久久久久久久久中文| av乱码一区二区三区| 播放日本一区二区三区电影| 在线观看911精品国产 | 亚洲最大黄 嗯色 操 啊| 性色蜜臀av一区二区三区| 爱有来生高清在线中文字幕| 91天堂精品一区二区| 中文字幕一区二 区二三区四区| 视频啪啪啪免费观看| 人妻最新视频在线免费观看| 午夜激情久久不卡一区二区| 日本特级片中文字幕| 久草视频在线看免费| 东京热男人的av天堂| 91中文字幕最新合集| 日本少妇高清视频xxxxx | 热思思国产99re| av手机在线免费观看日韩av| 日韩伦理短片在线观看| av老司机精品在线观看| 午夜av一区二区三区| 视频二区在线视频观看| 久久久久久cao我的性感人妻| 少妇露脸深喉口爆吞精| 久草视频福利在线首页| 成人区人妻精品一区二视频| 亚洲欧美久久久久久久久| 国产精品视频欧美一区二区| 99精品视频在线观看免费播放| 婷婷久久久久深爱网| 很黄很污很色的午夜网站在线观看 | 高清一区二区欧美系列| 亚洲精品国偷自产在线观看蜜桃| 欧美精品激情在线最新观看视频| 国产精品国色综合久久| 国产精品久久久久久美女校花| 人妻少妇亚洲一区二区| 521精品视频在线观看| 精品国产在线手机在线| 天天操夜夜操天天操天天操| 欧美viboss性丰满| 国产使劲操在线播放| 韩国一级特黄大片做受| 国产综合精品久久久久蜜臀| 欧美性感尤物人妻在线免费看| 天天干天天日天天谢综合156| 国产一区二区火爆视频| 熟女人妻三十路四十路人妻斩| 婷婷综合蜜桃av在线| 日韩成人综艺在线播放| 精品国产成人亚洲午夜| 97青青青手机在线视频| 国产精品视频欧美一区二区| 国产又粗又猛又爽又黄的视频在线| 国产精品国产三级国产精东| nagger可以指黑人吗| 亚洲成人情色电影在线观看| 老师啊太大了啊啊啊尻视频| 男人操女人的逼免费视频| 91精品国产黑色丝袜| 97国产福利小视频合集| 91久久国产成人免费网站| 老司机福利精品免费视频一区二区| 久久永久免费精品人妻专区| 国产中文精品在线观看| 欧美黑人巨大性xxxxx猛交| 护士小嫩嫩又紧又爽20p| 中国熟女@视频91| av手机免费在线观看高潮| 男女啪啪啪啪啪的网站| 黑人大几巴狂插日本少妇| 老司机你懂得福利视频| 中文字幕日本人妻中出| 免费无毒热热热热热热久| 亚洲国产中文字幕啊啊啊不行了| 97超碰最新免费在线观看| 成人乱码一区二区三区av| 女生被男生插的视频网站| 2o22av在线视频| 国产自拍黄片在线观看| 2020国产在线不卡视频| 欧美老鸡巴日小嫩逼| 超黄超污网站在线观看| 天天日天天干天天舔天天射| 中文字幕在线观看国产片| 天天躁日日躁狠狠躁av麻豆| 粗大的内捧猛烈进出爽大牛汉子| 日韩黄色片在线观看网站| 国产中文精品在线观看| 中文字幕一区二区人妻电影冢本| 91精品免费久久久久久| 中文字幕熟女人妻久久久| 婷婷色国产黑丝少妇勾搭AV| 亚洲福利天堂久久久久久| 大胆亚洲av日韩av| 天天操天天弄天天射| 漂亮 人妻被中出中文| 好吊视频—区二区三区| 国产成人综合一区2区| 天天操天天操天天碰| 激情色图一区二区三区| 韩国男女黄色在线观看| 天天色天天爱天天爽| 久久香蕉国产免费天天| 91国产在线视频免费观看| 欧洲精品第一页欧洲精品亚洲 | 国产精品免费不卡av| 人妻少妇精品久久久久久| 久久精品亚洲国产av香蕉| 久久久久久cao我的性感人妻| 韩国三级aaaaa高清视频| 最新91精品视频在线| 亚洲人妻视频在线网| 亚洲中文字幕综合小综合| 亚洲成人国产综合一区| 成年人午夜黄片视频资源| 中文字幕人妻被公上司喝醉在线| 黄色大片男人操女人逼| 91在线视频在线精品3| 少妇人妻二三区视频| av网址国产在线观看| 午夜91一区二区三区| eeuss鲁片一区二区三区| 亚洲精品 日韩电影| 国产日韩欧美视频在线导航| 红桃av成人在线观看| av视屏免费在线播放| 99久久激情婷婷综合五月天| 绝色少妇高潮3在线观看| 午夜精品福利一区二区三区p| 精品区一区二区三区四区人妻| 在线观看国产免费麻豆| 精品高潮呻吟久久av| 日本av在线一区二区三区| 欧美一区二区三区激情啪啪啪| 2022精品久久久久久中文字幕| 性色av一区二区三区久久久| 亚洲免费成人a v| 99热这里只有精品中文| 孕妇奶水仑乱A级毛片免费看| 精品国产污污免费网站入口自 | 日韩近亲视频在线观看| 亚洲福利午夜久久久精品电影网 | 亚洲少妇高潮免费观看| 中文字幕日韩91人妻在线| 亚洲欧美自拍另类图片| 亚洲精品欧美日韩在线播放| 韩国爱爱视频中文字幕| 日韩精品啪啪视频一道免费| 少妇被强干到高潮视频在线观看| 成年人中文字幕在线观看| 国产av福利网址大全| 亚洲老熟妇日本老妇| av视屏免费在线播放| 19一区二区三区在线播放| 青青草亚洲国产精品视频| 78色精品一区二区三区| 美女福利写真在线观看视频| 人人爱人人妻人人澡39| 麻豆性色视频在线观看| 中国无遮挡白丝袜二区精品 | 五色婷婷综合狠狠爱| 免费大片在线观看视频网站| 天天操夜夜操天天操天天操| 国产黑丝高跟鞋视频在线播放| 亚洲欧美一区二区三区爱爱动图| 免费看美女脱光衣服的视频| 2019av在线视频| 岛国一区二区三区视频在线| 欧美日韩一区二区电影在线观看| 国产夫妻视频在线观看免费| 在线播放 日韩 av| 大鸡吧插逼逼视频免费看 | 色偷偷伊人大杳蕉综合网 | 天天日天天天天天天天天天天| 日韩av有码中文字幕| 日韩视频一区二区免费观看| 亚洲欧美激情人妻偷拍| 人妻av无码专区久久绿巨人 | 超碰97人人做人人爱| 韩国AV无码不卡在线播放| 亚洲国产欧美国产综合在线| 老司机福利精品免费视频一区二区| 在线国产日韩欧美视频| 五月天中文字幕内射| 91九色国产porny蝌蚪| 青青草人人妻人人妻| 夏目彩春在线中文字幕| 人妻av无码专区久久绿巨人 | 日韩av大胆在线观看| av俺也去在线播放| 亚洲欧洲一区二区在线观看| 日韩人妻在线视频免费| 好太好爽好想要免费| 在线视频国产欧美日韩| 亚洲精品 日韩电影| 婷婷综合亚洲爱久久| sejizz在线视频| 天天日天天鲁天天操| av在线免费资源站| 久久免看30视频口爆视频| 老熟妇凹凸淫老妇女av在线观看| 免费观看理论片完整版| 婷婷综合蜜桃av在线| 青青草成人福利电影| 人妻少妇av在线观看| 老司机福利精品视频在线| 免费在线播放a级片| 日韩精品激情在线观看| 91老熟女连续高潮对白| www久久久久久久久久久| 亚洲特黄aaaa片| 中文亚洲欧美日韩无线码| 老司机福利精品视频在线| 欧美特色aaa大片| 国产亚洲精品品视频在线| 日本人妻少妇18—xx| 国产激情av网站在线观看| 亚洲高清国产自产av| 日韩特级黄片高清在线看| 偷拍自拍福利视频在线观看| 青青草在观免费国产精品| 国产精品探花熟女在线观看| 日日夜夜大香蕉伊人| 在线不卡成人黄色精品| 欧美日韩精品永久免费网址| 成人乱码一区二区三区av| 久久久久91精品推荐99| 日韩精品激情在线观看| 人人妻人人爱人人草| 午夜婷婷在线观看视频| 成人动漫大肉棒插进去视频| 1区2区3区4区视频在线观看| 天天干天天操天天爽天天摸| 久久三久久三久久三久久| 九色视频在线观看免费| 91人妻精品一区二区在线看| 天堂av在线播放免费| aaa久久久久久久久| 视频久久久久久久人妻| av天堂资源最新版在线看| 中文字幕熟女人妻久久久| 国产+亚洲+欧美+另类| 亚洲一区二区三区偷拍女厕91| 国产综合视频在线看片| 亚洲特黄aaaa片| 操操网操操伊剧情片中文字幕网| 亚洲日本一区二区三区| 福利视频一区二区三区筱慧| 欧美日韩高清午夜蜜桃大香蕉| 国产视频网站一区二区三区| 精品久久久久久久久久久a√国产| 99久久中文字幕一本人| 久久久人妻一区二区| 黑人巨大精品欧美视频| 亚洲精品午夜久久久久| 93精品视频在线观看| 99久久中文字幕一本人| av老司机亚洲一区二区| 91亚洲精品干熟女蜜桃频道| 成人30分钟免费视频| 视频在线免费观看你懂得| 在线观看免费视频网| 天天日天天干天天要| 99精品视频之69精品视频| 开心 色 六月 婷婷| 国产亚洲视频在线二区| 最近中文2019年在线看| 色花堂在线av中文字幕九九| 日日夜夜大香蕉伊人| 欧美偷拍自拍色图片| 久久久噜噜噜久久熟女av| 夜夜嗨av一区二区三区中文字幕| 91国内精品自线在拍白富美| 欧美一区二区中文字幕电影| 唐人色亚洲av嫩草| 视频一区 二区 三区 综合| 一色桃子久久精品亚洲| 天天日天天操天天摸天天舔| 男人的天堂在线黄色| 97国产在线观看高清| 在线观看视频污一区| 日本韩国免费福利精品| 91大屁股国产一区二区| 久久这里只有精品热视频 | 一个人免费在线观看ww视频| 一区国内二区日韩三区欧美| 在线视频国产欧美日韩| 日本熟女精品一区二区三区| 自拍偷拍vs一区二区三区| 91精品国产观看免费| 日韩欧美一级精品在线观看| 中文字幕午夜免费福利视频| 免费看美女脱光衣服的视频| 人妻凌辱欧美丰满熟妇| 天天日天天干天天要| 久久这里有免费精品| 午夜精品福利91av| 亚洲高清一区二区三区视频在线 | 中文字幕一区的人妻欧美日韩| 中文字幕免费在线免费| 国产精品久久久久国产三级试频| 国内自拍第一页在线观看| 国产一级精品综合av| 亚洲综合在线视频可播放| 在线观看成人国产电影| av在线shipin| 66久久久久久久久久久| 国产乱子伦精品视频潮优女| 日本最新一二三区不卡在线| 888亚洲欧美国产va在线播放| 亚洲 自拍 色综合图| 黑人进入丰满少妇视频| 人人在线视频一区二区| 亚洲成人线上免费视频观看| 亚洲精品国品乱码久久久久| 国产chinesehd精品麻豆| 国产综合高清在线观看| 成人性黑人一级av| 男人天堂最新地址av| 亚洲成人三级在线播放| 天天日天天操天天摸天天舔| 91精品免费久久久久久| 福利一二三在线视频观看| 日韩中文字幕精品淫| 亚洲av黄色在线网站| 亚洲一区二区三区久久受 | 中文字幕日韩精品日本| 熟女人妻在线中出观看完整版| 久久永久免费精品人妻专区| 青青青青青手机视频| 欧美亚洲少妇福利视频| 精品av久久久久久久| 大鸡吧插入女阴道黄色片| 日本人妻欲求不满中文字幕| 亚洲最大黄 嗯色 操 啊| 欧美va不卡视频在线观看| 色综合久久久久久久久中文| av黄色成人在线观看| 最新的中文字幕 亚洲| 亚洲熟妇久久无码精品| 久久久制服丝袜中文字幕| 少妇高潮无套内谢麻豆| 蜜桃视频17c在线一区二区| 中文 成人 在线 视频| 日本精品视频不卡一二三| 91色网站免费在线观看| 亚洲图片偷拍自拍区| 99国产精品窥熟女精品| 男大肉棒猛烈插女免费视频| 在线观看免费视频色97| 5528327男人天堂| 日韩北条麻妃一区在线| 黄片大全在线观看观看| 国产大鸡巴大鸡巴操小骚逼小骚逼| av完全免费在线观看av| 曰本无码人妻丰满熟妇啪啪| 在线免费观看欧美小视频| 黄页网视频在线免费观看| 午夜影院在线观看视频羞羞羞| 国内资源最丰富的网站| 欧洲国产成人精品91铁牛tv | av中文在线天堂精品| 三级av中文字幕在线观看| 五十路丰满人妻熟妇| 一区二区视频在线观看免费观看| 亚洲欧美色一区二区| 91精品一区二区三区站长推荐| 日韩三级电影华丽的外出| 国产综合高清在线观看| 国产精品国产三级国产午| 国产乱子伦一二三区| 亚洲精品国产在线电影| 好男人视频在线免费观看网站| 最新欧美一二三视频| 2020久久躁狠狠躁夜夜躁 | 日本韩国在线观看一区二区| 日韩美av高清在线| 啊啊好慢点插舔我逼啊啊啊视频| 福利视频广场一区二区| sejizz在线视频| 超碰97人人做人人爱| 久久农村老妇乱69系列| 国产丰满熟女成人视频| 欧美 亚洲 另类综合| 中文字幕日本人妻中出| 9色在线视频免费观看| 懂色av蜜桃a v| 色爱av一区二区三区| 91国产在线免费播放| 大鸡八强奸视频在线观看| 99热这里只有国产精品6| 国产日韩精品一二三区久久久| 日噜噜噜夜夜噜噜噜天天噜噜噜| 色花堂在线av中文字幕九九| 天天插天天狠天天操| 色哟哟在线网站入口| 老司机深夜免费福利视频在线观看| 伊人开心婷婷国产av| 1024久久国产精品| 日本熟妇喷水xxx| 欧美一区二区三区高清不卡tv| 丰满熟女午夜福利视频| 北条麻妃高跟丝袜啪啪| 国产高清精品极品美女| 偷拍自拍 中文字幕| 亚洲超碰97人人做人人爱| 精品亚洲国产中文自在线| 国产黄网站在线观看播放| 做爰视频毛片下载蜜桃视频1| 女警官打开双腿沦为性奴| 欧美日韩v中文在线| 在线视频这里只有精品自拍| 天天干天天啪天天舔| 都市激情校园春色狠狠| 在线免费观看靠比视频的网站| 天天日天天干天天干天天日| 日韩中文字幕精品淫| 亚洲欧美自拍另类图片| 日韩av大胆在线观看| 一区二区三区 自拍偷拍| 欧美偷拍自拍色图片| 91九色国产熟女一区二区| 天天草天天色天天干| 少妇系列一区二区三区视频| 日本av熟女在线视频| 日韩亚洲高清在线观看| 在线网站你懂得老司机| 在线观看av2025| 色吉吉影音天天干天天操 | aⅴ五十路av熟女中出| 国产三级影院在线观看| 日本人妻少妇18—xx| 日本一区精品视频在线观看| 99婷婷在线观看视频| 中文字幕av第1页中文字幕| 老司机福利精品免费视频一区二区| 久久久久久97三级| 中文字幕+中文字幕| 免费黄页网站4188| www日韩a级s片av| 亚洲av第国产精品| 国产亚洲成人免费在线观看| 亚洲熟色妇av日韩熟色妇在线 | 亚洲日本一区二区久久久精品| 一本一本久久a久久精品综合不卡 亚洲另类综合一区小说 | 97超碰人人搞人人| 熟女人妻一区二区精品视频| 色噜噜噜噜18禁止观看| 欧美精产国品一二三产品价格| 91传媒一区二区三区| av日韩在线观看大全| 2020中文字幕在线播放| 狍和女人的王色毛片| 国产亚洲成人免费在线观看| 97精品综合久久在线| 日韩av免费观看一区| 亚洲最大黄 嗯色 操 啊| 国产精品欧美日韩区二区| 少妇露脸深喉口爆吞精| 天天干天天啪天天舔| 白白操白白色在线免费视频| 日韩美女综合中文字幕pp| 久久久久久九九99精品| 欧美少妇性一区二区三区| 亚洲1卡2卡三卡4卡在线观看 | 亚洲精品乱码久久久久久密桃明 | 做爰视频毛片下载蜜桃视频1| 国产福利小视频二区| 亚洲在线免费h观看网站| 制服丝袜在线人妻中文字幕| 91九色国产熟女一区二区| av日韩在线观看大全| 动漫精品视频在线观看| 精品亚洲中文字幕av| 久久久久五月天丁香社区| 国产亚洲四十路五十路| 一色桃子久久精品亚洲| 98视频精品在线观看| 在线观看操大逼视频| 亚洲一区二区三区久久午夜| 日韩熟女系列一区二区三区| 五十路丰满人妻熟妇| 美女吃鸡巴操逼高潮视频| 亚洲中文字幕乱码区| 丁香花免费在线观看中文字幕| 亚洲日本一区二区久久久精品| 五十路熟女av天堂| 日本av熟女在线视频| 国产精品久久久久网| 国产精品视频男人的天堂| 福利片区一区二体验区| 99国产精品窥熟女精品| 中文字幕+中文字幕| 日韩人妻xxxxx| 午夜免费体验区在线观看| 亚洲综合另类精品小说| 任你操视频免费在线观看| 在线观看的黄色免费网站| 日本性感美女三级视频| 亚洲熟妇无码一区二区三区| 天天操天天干天天插| 色综合久久五月色婷婷综合| 欧美偷拍自拍色图片| 日本性感美女写真视频| 大香蕉福利在线观看| 中文字幕最新久久久| 国产中文字幕四区在线观看| 天堂av在线最新版在线| 91精品国产麻豆国产| 成年人该看的视频黄免费| 国产女人叫床高潮大片视频| 欧美 亚洲 另类综合| 老鸭窝在线观看一区| 免费在线播放a级片| 国产精品人妻一区二区三区网站| 天天日夜夜操天天摸| www日韩a级s片av| 在线免费观看亚洲精品电影 | 91免费观看在线网站| 中文字幕日本人妻中出| 日韩精品啪啪视频一道免费| 女同性ⅹxx女同h偷拍| 乱亲女秽乱长久久久| 九色视频在线观看免费| 免费无码人妻日韩精品一区二区| 人妻自拍视频中国大陆| 国产1区,2区,3区| 啪啪啪啪啪啪啪啪啪啪黄色| 亚洲一区制服丝袜美腿| 一区二区视频在线观看免费观看| 亚洲国际青青操综合网站 | 国产污污污污网站在线| 日韩成人综艺在线播放| 最新中文字幕免费视频| 91九色porny国产蝌蚪视频| 老司机在线精品福利视频| 国产又粗又猛又爽又黄的视频在线| 亚洲激情偷拍一区二区| 久久这里只有精品热视频| 涩涩的视频在线观看视频| 中文字幕高清在线免费播放| 一区二区三区精品日本| 久久久久久久久久久久久97| 午夜精品在线视频一区| 欧美一级视频一区二区| 午夜在线观看一区视频| 91九色国产熟女一区二区| 午夜国产福利在线观看| 2019av在线视频| 国产超码片内射在线| 国产黄色高清资源在线免费观看| 国产一区av澳门在线观看| 人妻少妇av在线观看| 丰满的子国产在线观看| 男女啪啪视频免费在线观看| 免费一级特黄特色大片在线观看| 青青青青操在线观看免费| 在线免费观看99视频| 日本av在线一区二区三区| 成人国产激情自拍三区| 国产清纯美女al在线| 3D动漫精品啪啪一区二区下载| 欧美黑人巨大性xxxxx猛交| 100%美女蜜桃视频| 青青尤物在线观看视频网站| 日韩无码国产精品强奸乱伦| 91免费放福利在线观看| 不卡日韩av在线观看| 黑人乱偷人妻中文字幕| 精品一线二线三线日本| 99精品视频在线观看免费播放| 女生被男生插的视频网站| 88成人免费av网站| 青青青青视频在线播放| av日韩在线观看大全| 黄色片黄色片wyaa| 精品美女在线观看视频在线观看| 久久久久久九九99精品| 亚洲午夜电影在线观看| 日韩欧美国产一区不卡| 午夜精品久久久久麻豆影视| 玖玖一区二区在线观看| 美女大bxxxx内射| 在线观看视频一区麻豆| 国产精品午夜国产小视频| 免费在线观看视频啪啪 | 男人天堂色男人av| 欧洲亚洲欧美日韩综合| 视频一区 视频二区 视频| 国产chinesehd精品麻豆| 综合一区二区三区蜜臀| 人妻无码色噜噜狠狠狠狠色| 性欧美激情久久久久久久 | 人妻丝袜诱惑我操她视频| 日日夜夜精品一二三| 亚洲av一妻不如妾| 国产日韩一区二区在线看 | 成人亚洲国产综合精品| 亚洲色偷偷综合亚洲AV伊人| 亚洲国产在人线放午夜| 好吊操视频这里只有精品| 快点插进来操我逼啊视频| 国产视频精品资源网站| 亚洲中文字字幕乱码| 天堂v男人视频在线观看| 红杏久久av人妻一区| 欧美在线一二三视频| 亚洲 人妻 激情 中文| 2020国产在线不卡视频 | 午夜精品福利91av| 亚洲 色图 偷拍 欧美| 人妻另类专区欧美制服| 在线免费91激情四射| 337p日本大胆欧美人| 专门看国产熟妇的网站| 日韩黄色片在线观看网站| 综合精品久久久久97| 女生被男生插的视频网站| 亚洲一区二区人妻av| 欧美一级片免费在线成人观看| 老司机午夜精品视频资源| 一区二区三区麻豆福利视频| 夜夜骑夜夜操夜夜奸| 欧美一级色视频美日韩| 国产成人自拍视频播放 | 亚洲国产在线精品国偷产拍| 超级福利视频在线观看| 婷婷色中文亚洲网68| 久久久久久99国产精品| 99国内小视频在现欢看| 999九九久久久精品| 午夜精品久久久久久99热| 又色又爽又黄的美女裸体| 久久h视频在线观看| 晚上一个人看操B片| 亚洲人成精品久久久久久久| 看一级特黄a大片日本片黑人| 亚洲国产在线精品国偷产拍| 久草视频中文字幕在线观看| 久碰精品少妇中文字幕av| 一区二区三区日韩久久| 自拍偷拍vs一区二区三区| 天天摸天天干天天操科普| 日韩熟女av天堂系列| 日本欧美视频在线观看三区| 日韩欧美在线观看不卡一区二区| 都市激情校园春色狠狠| 18禁美女羞羞免费网站| 一色桃子久久精品亚洲| 天天干狠狠干天天操| 成人福利视频免费在线| 国产精品一二三不卡带免费视频| 97人妻色免费视频| 中文字幕日韩无敌亚洲精品| 香港一级特黄大片在线播放| 亚洲免费在线视频网站| 精品人人人妻人人玩日产欧| 美女福利写真在线观看视频| 一区二区三区另类在线| xxx日本hd高清| 亚洲自拍偷拍精品网| 欧美性受xx黑人性猛交| 国内精品在线播放第一页| 亚洲av日韩av网站| 国产a级毛久久久久精品| 亚洲 中文 自拍 无码| 日本高清成人一区二区三区| 在线视频这里只有精品自拍| 亚洲 中文 自拍 无码| 国产福利小视频大全| 超pen在线观看视频公开97| 国产午夜福利av导航| 亚洲成人国产综合一区| 98精产国品一二三产区区别| 久久久久久九九99精品| 亚洲视频在线观看高清| 一级A一级a爰片免费免会员| 人妻久久无码中文成人| 熟女少妇激情五十路| 午夜影院在线观看视频羞羞羞| lutube在线成人免费看| av完全免费在线观看av| 欧美国产亚洲中英文字幕| 欧美日韩一区二区电影在线观看| 亚洲av可乐操首页| 韩国一级特黄大片做受| 日本av熟女在线视频| 18禁精品网站久久| 黄色无码鸡吧操逼视频| 色综合久久五月色婷婷综合| 人妻熟女在线一区二区| 春色激情网欧美成人| av天堂加勒比在线| 中字幕人妻熟女人妻a62v网| 亚洲成人激情av在线| 亚洲久久午夜av一区二区| 欧美在线偷拍视频免费看| 中文乱理伦片在线观看| 欧亚乱色一区二区三区| 9国产精品久久久久老师| 青青色国产视频在线| 18禁精品网站久久| 午夜精品九一唐人麻豆嫩草成人 | 精品国产乱码一区二区三区乱| 国产黄色高清资源在线免费观看| 亚洲蜜臀av一区二区三区九色| gay gay男男瑟瑟在线网站| 爱有来生高清在线中文字幕| 亚洲欧美综合另类13p| 最新国产精品拍在线观看| 激情五月婷婷免费视频| 激情小视频国产在线| 极品性荡少妇一区二区色欲| 亚洲欧美自拍另类图片| 精内国产乱码久久久久久| 狍和女人的王色毛片| av中文字幕在线导航| 亚洲av色香蕉一区二区三区| av乱码一区二区三区| 少妇人妻100系列| 女生被男生插的视频网站| 亚洲丝袜老师诱惑在线观看| 亚洲中文字幕乱码区| 午夜精品亚洲精品五月色| 美女视频福利免费看| 欧美精品资源在线观看| 中文字幕人妻被公上司喝醉在线 | 蜜桃视频在线欧美一区| 国产精品久久9999| 欧美3p在线观看一区二区三区| 免费在线福利小视频| 中文字幕一区二区自拍| 宅男噜噜噜666国产| 天天干天天日天天干天天操| 日本少妇高清视频xxxxx| 国产综合视频在线看片| 国产之丝袜脚在线一区二区三区| 91av中文视频在线| 亚洲熟女久久久36d| 天天干夜夜操啊啊啊| 黄色中文字幕在线播放| 老师让我插进去69AV| 亚洲超碰97人人做人人爱| 女同性ⅹxx女同hd| 人妻另类专区欧美制服| 中文字幕在线一区精品| 亚洲成人线上免费视频观看| 一区二区三区的久久的蜜桃的视频 | 57pao国产一区二区| 国产精品自偷自拍啪啪啪| 狠狠操操操操操操操操操| 热99re69精品8在线播放| 天天插天天色天天日| 欧美老妇精品另类不卡片| 天天干天天插天天谢| 亚洲1区2区3区精华液| 久久永久免费精品人妻专区| 亚洲人妻av毛片在线| 自拍偷拍 国产资源| 中文字幕视频一区二区在线观看 | 国产又粗又硬又大视频| 亚洲精品国品乱码久久久久| 成人H精品动漫在线无码播放| 成年女人免费播放视频| 久草视频 久草视频2| 1区2区3区4区视频在线观看| 精产国品久久一二三产区区别| 欧美日韩一级黄片免费观看| 日本黄色特一级视频| 亚洲第一伊人天堂网| 久久热这里这里只有精品| 日韩欧美亚洲熟女人妻| 91一区精品在线观看| 天天通天天透天天插| 日日夜夜狠狠干视频| 在线视频自拍第三页| 男人天堂最新地址av| 亚洲天天干 夜夜操| 天天日天天操天天摸天天舔 | 成年美女黄网站18禁久久| 亚洲高清国产自产av| 天堂av狠狠操蜜桃| 国产在线免费观看成人| 国产男女视频在线播放| 国产真实乱子伦a视频| 亚洲欧美国产综合777| 精品欧美一区二区vr在线观看| 瑟瑟视频在线观看免费视频| 亚洲高清视频在线不卡| 97精品成人一区二区三区| 男人的天堂一区二区在线观看| 91麻豆精品传媒国产黄色片| 揄拍成人国产精品免费看视频| 深田咏美亚洲一区二区| 久久丁香花五月天色婷婷| 骚货自慰被发现爆操| 亚洲公开视频在线观看| 精品国产成人亚洲午夜| 亚洲女人的天堂av| 热久久只有这里有精品| 在线免费观看日本片| 少妇一区二区三区久久久| 91精品激情五月婷婷在线| 少妇人妻真实精品视频| 青青青视频自偷自拍38碰| 97国产福利小视频合集| 亚洲国产在线精品国偷产拍| 亚洲1区2区3区精华液| av手机免费在线观看高潮| 国产麻豆精品人妻av| 久青青草视频手机在线免费观看 | 视频一区 二区 三区 综合| 一区二区三区 自拍偷拍| 国产一级麻豆精品免费| 日韩av免费观看一区| 欧美成人综合视频一区二区| 美女日逼视频免费观看| 中文字幕日韩91人妻在线| 超级碰碰在线视频免费观看| 亚洲av日韩精品久久久| 亚洲丝袜老师诱惑在线观看| 天天做天天干天天舔| 中文字幕人妻三级在线观看| 91啪国自产中文字幕在线| 人妻少妇精品久久久久久| 成年人啪啪视频在线观看| 中文字幕 亚洲av| 亚洲一区制服丝袜美腿| 国产在线自在拍91国语自产精品| 99精品视频在线观看免费播放| 亚洲午夜福利中文乱码字幕| 五月激情婷婷久久综合网| 男人的网址你懂的亚洲欧洲av| 91在线视频在线精品3| 欧美怡红院视频在线观看| 国产1区,2区,3区| 99热这里只有国产精品6| 2021久久免费视频| 成年午夜免费无码区| 久久久精品999精品日本| 欧美80老妇人性视频| 天天日天天日天天擦| 在线播放 日韩 av| 老司机免费福利视频网| 涩爱综合久久五月蜜臀| 国产乱子伦一二三区| 国产大学生援交正在播放| 蜜桃视频17c在线一区二区| 51精品视频免费在线观看| 日韩成人综艺在线播放| 97人人模人人爽人人喊| 57pao国产一区二区| 中文字幕 亚洲av| 久久久久久97三级| 91福利在线视频免费观看| 国产乱子伦精品视频潮优女| 国产在线自在拍91国语自产精品| 国产欧美精品免费观看视频| 国产欧美精品免费观看视频| 欧美一级色视频美日韩| 国产污污污污网站在线| 激情色图一区二区三区| 在线免费观看日本片| 亚洲人成精品久久久久久久| 在线观看操大逼视频| 成年人啪啪视频在线观看| 粉嫩小穴流水视频在线观看| 国产午夜福利av导航| 在线观看免费av网址大全| 国际av大片在线免费观看| 亚洲精品欧美日韩在线播放| 性感美女福利视频网站| 人人妻人人爽人人添夜| 黄色录像鸡巴插进去| 亚洲中文字幕校园春色| 97精品综合久久在线| 熟女在线视频一区二区三区| av亚洲中文天堂字幕网| 自拍偷拍一区二区三区图片| 人妻少妇性色欲欧美日韩| 在线观看av亚洲情色| 免费在线看的黄网站| 亚洲另类图片蜜臀av| 久久这里只有精彩视频免费| 老师啊太大了啊啊啊尻视频| 欧美精品 日韩国产| 快点插进来操我逼啊视频| 欧美精品久久久久久影院| 日本三极片中文字幕| 在线播放一区二区三区Av无码| 最新欧美一二三视频| 北条麻妃高跟丝袜啪啪| 大鸡八强奸视频在线观看| 国产九色91在线视频| 午夜的视频在线观看| 欧美性感尤物人妻在线免费看| 自拍 日韩 欧美激情| 欧美成人黄片一区二区三区| 亚洲成人黄色一区二区三区| 97精品人妻一区二区三区精品| 成人国产影院在线观看| 免费黄高清无码国产| 亚洲男人让女人爽的视频| 78色精品一区二区三区| 亚洲欧美色一区二区| 在线免费观看欧美小视频| 91九色porny蝌蚪国产成人| 国产精品视频男人的天堂| 人妻少妇一区二区三区蜜桃| av男人天堂狠狠干| 动色av一区二区三区| 女警官打开双腿沦为性奴| 亚洲精品高清自拍av| 美女张开腿让男生操在线看| 99久久99久国产黄毛片| 日韩北条麻妃一区在线| 亚洲午夜福利中文乱码字幕| 国产高潮无码喷水AV片在线观看| 男人在床上插女人视频| 不戴胸罩引我诱的隔壁的人妻| 2025年人妻中文字幕乱码在线| 欧美黑人巨大性xxxxx猛交| 美女福利写真在线观看视频| 国产伦精品一区二区三区竹菊| 沙月文乃人妻侵犯中文字幕在线| 大鸡巴操b视频在线| 无码精品一区二区三区人| 日韩欧美一级aa大片| 久久h视频在线观看| 懂色av蜜桃a v| 亚洲av日韩av第一区二区三区| 亚洲高清免费在线观看视频| 日韩人妻丝袜中文字幕| 在线播放 日韩 av| 亚洲专区激情在线观看视频| 亚洲激情,偷拍视频| 亚洲一区二区三区五区| 亚洲av无女神免非久久| 黑人变态深video特大巨大| 91色九色porny| h国产小视频福利在线观看| 亚洲av一妻不如妾| 9色精品视频在线观看| 色伦色伦777国产精品| 色综合色综合色综合色| 中国产一级黄片免费视频播放| 1769国产精品视频免费观看| 亚洲成人三级在线播放 | 日韩av大胆在线观看| 免费看美女脱光衣服的视频| 漂亮 人妻被中出中文| 懂色av蜜桃a v| 操人妻嗷嗷叫视频一区二区| 精品区一区二区三区四区人妻 | 日本三极片视频网站观看| 老司机99精品视频在线观看| 国产V亚洲V天堂无码欠欠| 美女福利写真在线观看视频| 啪啪啪操人视频在线播放| 午夜av一区二区三区| 色综合天天综合网国产成人| 日韩近亲视频在线观看| 蜜桃视频在线欧美一区| 欧美成人一二三在线网| 大陆av手机在线观看| 秋霞午夜av福利经典影视| 内射久久久久综合网| 亚洲图库另类图片区| 亚洲精品av在线观看| 麻豆精品成人免费视频| 亚洲少妇高潮免费观看| 色婷婷六月亚洲综合香蕉| 亚洲中文字幕乱码区| 9久在线视频只有精品| 国产日韩欧美美利坚蜜臀懂色| 任你操任你干精品在线视频| gogo国模私拍视频| 黄片色呦呦视频免费看| 自拍偷区二区三区麻豆| 91福利在线视频免费观看| 欧美一区二区三区啪啪同性| 亚洲欧美国产综合777| 青娱乐最新视频在线| 日本熟女精品一区二区三区| 国产第一美女一区二区三区四区| 1000小视频在线| 国产极品精品免费视频| 中文字幕成人日韩欧美| 国产1区,2区,3区| 黑人借宿ntr人妻的沦陷2| 成人高清在线观看视频| 欧美日韩在线精品一区二区三| 欧美一级片免费在线成人观看| 狠狠操狠狠操免费视频| 色秀欧美视频第一页| 中文字幕人妻被公上司喝醉在线| 欧美成人黄片一区二区三区 | 伊人情人综合成人久久网小说 | 天堂av在线官网中文| 日本少妇的秘密免费视频| 国产女孩喷水在线观看| 91极品大一女神正在播放| 国产精品久久久久久美女校花| 日本三极片中文字幕| 精品一区二区三区欧美| 专门看国产熟妇的网站| 最新的中文字幕 亚洲| 99久久超碰人妻国产| 亚洲一区二区三区五区| 少妇人妻100系列| 夜夜骑夜夜操夜夜奸| 午夜福利人人妻人人澡人人爽| 蜜桃精品久久久一区二区| 日韩中文字幕在线播放第二页 | 精品高跟鞋丝袜一区二区| 国产熟妇人妻ⅹxxxx麻豆| 色花堂在线av中文字幕九九| av在线免费资源站| 精产国品久久一二三产区区别| 任你操任你干精品在线视频| 姐姐的朋友2在线观看中文字幕| 日韩在线视频观看有码在线| 97超碰免费在线视频| 国产又粗又硬又大视频| 91天堂精品一区二区| 国产精品久久久久网| 日韩欧美中文国产在线| 老司机福利精品视频在线| 超级av免费观看一区二区三区| 97超碰国语国产97超碰| 国产麻豆乱子伦午夜视频观看| 青青草成人福利电影| 欧美在线一二三视频| 午夜美女少妇福利视频| 2020国产在线不卡视频| 国产精品久久久久久久精品视频| 欧美另类z0z变态| 日韩美女综合中文字幕pp| 97年大学生大白天操逼| 在线观看视频网站麻豆| 天天干天天啪天天舔| 大香蕉大香蕉大香蕉大香蕉大香蕉| 成年午夜影片国产片| 欧美日韩人妻久久精品高清国产| 亚洲av自拍天堂网| 亚洲蜜臀av一区二区三区九色| 91人妻精品一区二区在线看| 绝顶痉挛大潮喷高潮无码| 69精品视频一区二区在线观看| 亚洲欧洲av天堂综合| 中文人妻AV久久人妻水| 91一区精品在线观看| 亚洲欧美国产麻豆综合| 久久久久五月天丁香社区| 伊人综合免费在线视频| 日韩不卡中文在线视频网站| av森泽佳奈在线观看| 亚洲1069综合男同| 日韩三级黄色片网站| 啪啪啪啪啪啪啪啪av| 天天操天天干天天日狠狠插| 黄色视频在线观看高清无码 | 久久亚洲天堂中文对白| 亚洲欧美日韩视频免费观看| 91老师蜜桃臀大屁股| 亚洲国产在线精品国偷产拍 | 国产品国产三级国产普通话三级| 含骚鸡巴玩逼逼视频| 天天做天天干天天舔| 午夜精品亚洲精品五月色| 55夜色66夜色国产精品站| 777奇米久久精品一区| 大香蕉伊人国产在线| 国产精品久久久久久久久福交| 天天日天天透天天操| 欧美日韩熟女一区二区三区| 中英文字幕av一区| 丰满熟女午夜福利视频| 亚洲成人三级在线播放| 99av国产精品欲麻豆| 可以在线观看的av中文字幕| 日韩不卡中文在线视频网站| 亚洲图片偷拍自拍区| 肏插流水妹子在线乐播下载| 国产成人自拍视频播放| 国产一区成人在线观看视频| 看一级特黄a大片日本片黑人| 日本少妇精品免费视频| 国产高清精品极品美女| 成年女人免费播放视频| 在线国产精品一区二区三区| 色秀欧美视频第一页| 日本精品一区二区三区在线视频。| yellow在线播放av啊啊啊| 午夜毛片不卡在线看| 国产精品视频资源在线播放| 2019av在线视频| 久久久久久久亚洲午夜综合福利 | 亚洲激情,偷拍视频| 最新国产精品网址在线观看| 欧美一区二区三区激情啪啪啪| 欧美交性又色又爽又黄麻豆| 成人亚洲精品国产精品| 国产使劲操在线播放| 亚洲精品一线二线在线观看| 成年人午夜黄片视频资源| 蜜臀av久久久久蜜臀av麻豆| 天天射,天天操,天天说| 午夜在线观看岛国av,com| 中文字幕中文字幕人妻| 香蕉91一区二区三区| av老司机亚洲一区二区| 成年美女黄网站18禁久久| 精品美女久久久久久| 亚洲av第国产精品| 日本美女性生活一级片| 在线不卡日韩视频播放| 国产高清在线在线视频| 福利视频网久久91| 我想看操逼黄色大片| 亚洲精品精品国产综合| 亚洲在线一区二区欧美| 2021久久免费视频| 久久三久久三久久三久久| 色综合久久五月色婷婷综合| 欧美成人精品欧美一级黄色| 欧美亚洲牲夜夜综合久久| 顶级尤物粉嫩小尤物网站| 一级A一级a爰片免费免会员 | 人妻少妇av在线观看| 亚洲1069综合男同| 精品久久久久久久久久中文蒉 | 天天想要天天操天天干| 亚洲成人三级在线播放| 精彩视频99免费在线| 国产麻豆剧传媒精品国产av蜜桃| 日日操夜夜撸天天干| 黄色的网站在线免费看| 黑人大几巴狂插日本少妇| 狠狠躁狠狠爱网站视频| 五十路人妻熟女av一区二区| 午夜青青草原网在线观看| 日本一道二三区视频久久| 91极品大一女神正在播放| 欧美成人小视频在线免费看| 婷婷综合蜜桃av在线| 伊人网中文字幕在线视频| 精品欧美一区二区vr在线观看| 换爱交换乱高清大片| 男生舔女生逼逼视频| 少妇ww搡性bbb91| 成人av久久精品一区二区| 888亚洲欧美国产va在线播放| 视频在线亚洲一区二区| 久碰精品少妇中文字幕av| av中文字幕在线导航| 成人综合亚洲欧美一区| 精品人人人妻人人玩日产欧| 在线视频自拍第三页| 99久久久无码国产精品性出奶水| 玩弄人妻熟妇性色av少妇| 大香蕉大香蕉大香蕉大香蕉大香蕉 | 国产精品人妻一区二区三区网站 | 天天干天天插天天谢| 久久热这里这里只有精品| 国产又大又黄免费观看| a v欧美一区=区三区| 丝袜肉丝一区二区三区四区在线 | 午夜精品福利一区二区三区p| av完全免费在线观看av| 粉嫩av懂色av蜜臀av| 1000部国产精品成人观看视频| 视频二区在线视频观看| 人人妻人人澡欧美91精品| 韩国女主播精品视频网站| 午夜精品一区二区三区福利视频| 99久久久无码国产精品性出奶水 | 青青在线视频性感少妇和隔壁黑丝| 亚洲欧美清纯唯美另类| 精品久久婷婷免费视频| 欧美黑人与人妻精品| 欧美在线偷拍视频免费看| 午夜国产免费福利av| 国产亚洲视频在线观看| 欧美中文字幕一区最新网址| 成人sm视频在线观看| 免费男阳茎伸入女阳道视频| 国产女人露脸高潮对白视频| 538精品在线观看视频| 精品av久久久久久久| 免费看国产av网站| 精品suv一区二区69| 1000部国产精品成人观看视频| 男生用鸡操女生视频动漫| 黄片三级三级三级在线观看| 男人和女人激情视频| 欧美精产国品一二三区| 在线免费观看日本伦理| 天堂av在线播放免费| 家庭女教师中文字幕在线播放| 国产精品久久综合久久| 国产妇女自拍区在线观看| 国产成人综合一区2区| 淫秽激情视频免费观看| 日韩一区二区三区三州| 自拍偷拍,中文字幕| av男人天堂狠狠干| 中字幕人妻熟女人妻a62v网| 国产黑丝高跟鞋视频在线播放| 日本人妻欲求不满中文字幕| 黄色大片男人操女人逼| 欧美日韩国产一区二区三区三州 | 亚洲中文字字幕乱码| 国产V亚洲V天堂无码欠欠| 亚洲国产成人av在线一区| 日本免费午夜视频网站| 亚洲国产第一页在线观看| 国产精品久久综合久久| 亚洲福利天堂久久久久久| 中国产一级黄片免费视频播放| 国产又色又刺激在线视频| 国产亚洲精品视频合集| 超碰97人人做人人爱| 毛片av在线免费看| 男生舔女生逼逼视频| 日韩精品一区二区三区在线播放| 久久久精品欧洲亚洲av| 亚洲av无硬久久精品蜜桃| 亚洲青青操骚货在线视频| av久久精品北条麻妃av观看| 亚欧在线视频你懂的| 亚洲第17页国产精品| 国产午夜男女爽爽爽爽爽视频| 国产日韩一区二区在线看| 超pen在线观看视频公开97| 91中文字幕最新合集| 精彩视频99免费在线| 18禁美女羞羞免费网站| 精品美女福利在线观看| 人妻最新视频在线免费观看| 亚洲午夜福利中文乱码字幕| 亚洲人妻av毛片在线| wwwxxx一级黄色片| 和邻居少妇愉情中文字幕| 免费在线观看视频啪啪| 中国熟女一区二区性xx| 97精品综合久久在线| 老有所依在线观看完整版| 国产亚洲四十路五十路| 93人妻人人揉人人澡人人| 亚洲精品 日韩电影| 521精品视频在线观看| 亚洲卡1卡2卡三卡四老狼| 香蕉91一区二区三区| 日本成人一区二区不卡免费在线| 黄色资源视频网站日韩| 最新的中文字幕 亚洲| 2025年人妻中文字幕乱码在线| 91chinese在线视频| 黄页网视频在线免费观看| 丁香花免费在线观看中文字幕| 亚洲欧美国产麻豆综合| 国产精品系列在线观看一区二区| 特大黑人巨大xxxx| 一区二区在线视频中文字幕| 国产久久久精品毛片| 2020韩国午夜女主播在线| 欧美怡红院视频在线观看| 国产性色生活片毛片春晓精品 | 91精品啪在线免费| 欧美一级片免费在线成人观看| mm131美女午夜爽爽爽| 爱有来生高清在线中文字幕| 一区二区熟女人妻视频| 激情五月婷婷综合色啪| 97青青青手机在线视频| 欧美一区二区三区乱码在线播放| 综合精品久久久久97| jul—619中文字幕在线| av在线shipin| 国产精品国产三级麻豆| 在线制服丝袜中文字幕| 欧美日本在线视频一区| 美女 午夜 在线视频| 最近中文2019年在线看| 久久午夜夜伦痒痒想咳嗽P| 一区二区在线观看少妇| 欧美国品一二三产区区别| 久久久久久久精品老熟妇| 成人av免费不卡在线观看| 中文字幕视频一区二区在线观看| 日韩av中文在线免费观看| 亚洲高清视频在线不卡| 久碰精品少妇中文字幕av | 98精产国品一二三产区区别| 欧美精品国产综合久久| 久青青草视频手机在线免费观看| 91精品一区二区三区站长推荐| 日本熟妇色熟妇在线观看| 国产剧情演绎系列丝袜高跟| 欧美专区第八页一区在线播放| 免费福利av在线一区二区三区| 国产品国产三级国产普通话三级| 97青青青手机在线视频 | 国产自拍黄片在线观看| mm131美女午夜爽爽爽| 久草视频福利在线首页| 91免费黄片可看视频| 日韩欧美中文国产在线| 欧美成一区二区三区四区| 亚洲精品色在线观看视频| 自拍偷区二区三区麻豆| 精品欧美一区二区vr在线观看| 亚洲午夜电影在线观看| 亚洲欧美在线视频第一页| 色婷婷综合激情五月免费观看| 91免费观看国产免费| 成人av久久精品一区二区| 性欧美日本大妈母与子| 国产视频精品资源网站| 国产成人自拍视频播放| 91九色porny国产蝌蚪视频| 中文字幕乱码av资源| 在线不卡日韩视频播放| 女生被男生插的视频网站| 91人妻精品久久久久久久网站| 精品黑人一区二区三区久久国产| 国产成人精品一区在线观看| 午夜影院在线观看视频羞羞羞| 国产精品久久久黄网站| japanese五十路熟女熟妇| 天天干天天啪天天舔| 粗大的内捧猛烈进出爽大牛汉子| 国产在线91观看免费观看| free性日本少妇| 日本欧美视频在线观看三区| 老熟妇xxxhd老熟女| 午夜在线一区二区免费| 精品视频一区二区三区四区五区| 性感美女高潮视频久久久| 欧美亚洲自偷自拍 在线| 久久精品国产999| 天天干天天操天天爽天天摸| 91国语爽死我了不卡| av老司机精品在线观看| 欧美男同性恋69视频| 亚洲高清国产自产av| 亚洲护士一区二区三区| 欧美日韩v中文在线| 夜夜骑夜夜操夜夜奸| 91老熟女连续高潮对白| 婷婷激情四射在线观看视频| 亚洲的电影一区二区三区 | 国产性生活中老年人视频网站| aⅴ五十路av熟女中出| 国产女人被做到高潮免费视频| 天天通天天透天天插| 后入美女人妻高清在线| 91精品国产黑色丝袜| 狠狠操狠狠操免费视频| 中国无遮挡白丝袜二区精品| 一区二区久久成人网| 不卡精品视频在线观看| 日本人妻少妇18—xx| 亚洲精品久久视频婷婷| 亚洲熟妇无码一区二区三区| 国产第一美女一区二区三区四区| 成人区人妻精品一区二视频| 视频在线亚洲一区二区| 中文字幕之无码色多多| 日韩av有码一区二区三区4| 欧美成人黄片一区二区三区 | 亚洲国产第一页在线观看| 成人av电影免费版| 成年美女黄网站18禁久久| 午夜国产福利在线观看| 日韩av有码中文字幕| 五月天中文字幕内射| 狠狠嗨日韩综合久久| 大香蕉伊人中文字幕| 国产午夜亚洲精品麻豆| 99热国产精品666| 国产成人午夜精品福利| 99re国产在线精品| 亚洲成人午夜电影在线观看| 久久三久久三久久三久久| 日韩精品电影亚洲一区| 欧美精产国品一二三产品价格| 亚洲成人精品女人久久久| 2o22av在线视频| 亚洲视频乱码在线观看| 91人妻精品久久久久久久网站| 天天射,天天操,天天说| 欧美亚洲偷拍自拍色图| 色吉吉影音天天干天天操| 40道精品招牌菜特色| 伊人情人综合成人久久网小说| 91国内视频在线观看| 欧美亚洲自偷自拍 在线| 日本高清成人一区二区三区| 国产九色91在线观看精品| 国产大学生援交正在播放| 美日韩在线视频免费看| 午夜久久久久久久99| 亚洲国产美女一区二区三区软件| 骚逼被大屌狂草视频免费看| 超碰97免费人妻麻豆| 亚洲av无硬久久精品蜜桃| 在线新三级黄伊人网| 国产精品自偷自拍啪啪啪| 日韩欧美高清免费在线| 97小视频人妻一区二区| 男女之间激情网午夜在线| 深夜男人福利在线观看| 国产精品sm调教视频| 成人福利视频免费在线| 亚洲国产精品免费在线观看| 亚洲精品久久视频婷婷| 在线观看成人国产电影| 国产精品福利小视频a| 日韩国产乱码中文字幕| 中文字幕高清在线免费播放| 黑人性生活视频免费看| 在线播放一区二区三区Av无码| 成人午夜电影在线观看 久久| 不卡日韩av在线观看| 国产综合高清在线观看| 精品美女在线观看视频在线观看| 75国产综合在线视频| 在线国产日韩欧美视频| 人妻丰满熟妇综合网| 92福利视频午夜1000看| 精品久久久久久久久久久久人妻| 欧美天堂av无线av欧美| 人妻少妇av在线观看| 97人妻人人澡爽人人精品| 人妻久久无码中文成人| 青娱乐极品视频青青草| 韩国亚洲欧美超一级在线播放视频| 端庄人妻堕落挣扎沉沦| 狠狠的往里顶撞h百合| 91精品国产黑色丝袜| 日本黄色三级高清视频| 红杏久久av人妻一区| 国产成人精品av网站| 肏插流水妹子在线乐播下载| 东京热男人的av天堂| av在线播放国产不卡| 漂亮 人妻被中出中文| 中文字幕之无码色多多| 日本阿v视频在线免费观看| 91自产国产精品视频| 97人妻总资源视频| 天天插天天狠天天操| 欧美精品亚洲精品日韩在线| 九一传媒制片厂视频在线免费观看| 瑟瑟视频在线观看免费视频| 亚洲一级 片内射视正片| 亚洲av成人免费网站| 经典av尤物一区二区| 中文字幕综合一区二区| 精品黑人一区二区三区久久国产| 日本三极片中文字幕| 亚洲日本一区二区久久久精品| 亚洲第一黄色在线观看| 亚洲欧美综合另类13p| 亚洲天堂精品久久久| gogo国模私拍视频| 人妻少妇精品久久久久久| xxx日本hd高清| av在线免费中文字幕| 91国内视频在线观看| 天天日天天天天天天天天天天 | 天天日天天透天天操| 国产精品自拍偷拍a| 2022天天干天天操| 亚洲av日韩精品久久久| 中文字幕在线视频一区二区三区| 偷拍3456eee| 啊慢点鸡巴太大了啊舒服视频| 福利在线视频网址导航| 97黄网站在线观看| 欧美精品欧美极品欧美视频| 美女吃鸡巴操逼高潮视频| 97超碰人人搞人人| 中文字幕 亚洲av| 国产日韩精品一二三区久久久 | 亚洲av日韩精品久久久| av完全免费在线观看av| 亚洲欧美激情中文字幕| 亚洲免费在线视频网站| 国产精品污污污久久| 亚洲欧洲一区二区在线观看| 国产普通话插插视频| 狠狠的往里顶撞h百合| 亚洲成人激情视频免费观看了| 中字幕人妻熟女人妻a62v网| 青青操免费日综合视频观看| 亚洲av日韩高清hd| 欧美第一页在线免费观看视频| 久精品人妻一区二区三区| 99婷婷在线观看视频| 日日摸夜夜添夜夜添毛片性色av| 人妻激情图片视频小说| 亚洲中文精品人人免费| av亚洲中文天堂字幕网| 国产视频一区二区午夜| 美女av色播在线播放| 不卡日韩av在线观看| 欧美日韩一级黄片免费观看| 高清一区二区欧美系列| 在线成人日韩av电影| 亚洲综合另类欧美久久| 国产熟妇一区二区三区av| av手机免费在线观看高潮| 久久久久久久亚洲午夜综合福利| 一区二区三区久久久91| 在线新三级黄伊人网| 欧洲亚洲欧美日韩综合| 天天综合天天综合天天网| 色综合久久久久久久久中文| 青青草亚洲国产精品视频| 日美女屁股黄邑视频| 亚洲av人人澡人人爽人人爱| 成熟熟女国产精品一区| 成人午夜电影在线观看 久久| 成人免费毛片aaaa| 91‖亚洲‖国产熟女| 欧美精品国产综合久久| 男人在床上插女人视频| 97人人妻人人澡人人爽人人精品| 国产亚洲天堂天天一区| 51精品视频免费在线观看| 888亚洲欧美国产va在线播放| 亚洲欧美一区二区三区爱爱动图| 91中文字幕最新合集| 在线观看日韩激情视频| 国产美女一区在线观看| 亚洲福利午夜久久久精品电影网| 三级黄色亚洲成人av| 被大鸡吧操的好舒服视频免费| 亚洲公开视频在线观看| 亚洲精品无码色午夜福利理论片| 亚洲一级av大片免费观看| 做爰视频毛片下载蜜桃视频1| 日韩精品电影亚洲一区| 亚洲另类伦春色综合小| 五月激情婷婷久久综合网| 清纯美女在线观看国产| 日本韩国免费一区二区三区视频 | 国产日韩av一区二区在线| 国产极品美女久久久久久| 99热99这里精品6国产| 中文字幕一区二区人妻电影冢本 | 天天射,天天操,天天说| 国产在线免费观看成人| 91免费放福利在线观看| 9色在线视频免费观看| 国产刺激激情美女网站| 亚洲天堂有码中文字幕视频| 蜜桃色婷婷久久久福利在线| 91极品大一女神正在播放| 亚洲视频在线观看高清| 欧美视频不卡一区四区| 天天日天天天天天天天天天天| 日本少妇的秘密免费视频| 日韩av有码中文字幕| 国产综合视频在线看片| 日本免费一级黄色录像| 国产女人被做到高潮免费视频| 亚洲熟色妇av日韩熟色妇在线| 日韩特级黄片高清在线看| 亚洲高清国产自产av| 国产普通话插插视频| 黄片大全在线观看观看| 中文字幕人妻熟女在线电影| 综合一区二区三区蜜臀| 北条麻妃肉色丝袜视频| 我想看操逼黄色大片| 亚洲中文字幕国产日韩| aⅴ精产国品一二三产品| 任你操任你干精品在线视频| 三级黄色亚洲成人av| 全国亚洲男人的天堂| 大香蕉福利在线观看| 91大神福利视频网| 青娱乐极品视频青青草| 日本丰满熟妇BBXBBXHD| 在线观看操大逼视频| 可以免费看的www视频你懂的| 福利国产视频在线观看| av天堂中文免费在线| 中文字幕在线欧美精品| 在线网站你懂得老司机| 久久精品36亚洲精品束缚| 91中文字幕最新合集| 日韩特级黄片高清在线看| 在线观看视频网站麻豆| av大全在线播放免费| 91精品国产黑色丝袜| 天天干天天插天天谢| 国产午夜亚洲精品麻豆| 狠狠躁夜夜躁人人爽天天久天啪| 777奇米久久精品一区| 大屁股熟女一区二区三区| 国产美女精品福利在线| 成年人黄色片免费网站| 97色视频在线观看| 亚洲熟色妇av日韩熟色妇在线| 国产精品午夜国产小视频| 国产aⅴ一线在线观看| 大香蕉玖玖一区2区| 2020av天堂网在线观看| 国产成人精品久久二区91| 国产av自拍偷拍盛宴| 91精品激情五月婷婷在线| 婷婷综合蜜桃av在线| 91 亚洲视频在线观看| 麻豆精品成人免费视频| 热久久只有这里有精品| 日韩精品中文字幕福利| 99热这里只有精品中文| 中文字幕熟女人妻久久久| 欧美特色aaa大片| 亚洲超碰97人人做人人爱| 婷婷色国产黑丝少妇勾搭AV | 久精品人妻一区二区三区| 大胸性感美女羞爽操逼毛片| 中文乱理伦片在线观看| 天天干天天搞天天摸| 超碰在线中文字幕一区二区| 天天爽夜夜爽人人爽QC| 蜜桃视频在线欧美一区| 成人网18免费视频版国产| 国产精品伦理片一区二区| 国产熟妇人妻ⅹxxxx麻豆| 亚洲高清国产自产av| 国产97视频在线精品| 少妇人妻真实精品视频| 性欧美激情久久久久久久| 中文字幕 码 在线视频| 国产精品精品精品999| 蝴蝶伊人久久中文娱乐网| 手机看片福利盒子日韩在线播放| 毛片av在线免费看| 夜夜骑夜夜操夜夜奸| 一区二区麻豆传媒黄片| 天天日天天操天天摸天天舔| 一区二区三区欧美日韩高清播放| 欧美伊人久久大香线蕉综合| 亚洲一区二区三区久久午夜| 青青尤物在线观看视频网站| 非洲黑人一级特黄片| 精品区一区二区三区四区人妻| 成人24小时免费视频| 青青青青青青青青青国产精品视频| 欧美色婷婷综合在线| 成人30分钟免费视频| 91超碰青青中文字幕| 大屁股熟女一区二区三区| 成人av亚洲一区二区| 蝴蝶伊人久久中文娱乐网| 97超碰国语国产97超碰| 免费十精品十国产网站| 绝色少妇高潮3在线观看| 青青青青草手机在线视频免费看| 黄色黄色黄片78在线| 老熟妇xxxhd老熟女| 99视频精品全部15| 中文字幕人妻av在线观看| 亚洲精品国产久久久久久| 精品国产亚洲av一淫| 欧美成人精品欧美一级黄色| 免费在线观看污污视频网站| 青青青青草手机在线视频免费看| 日日夜夜大香蕉伊人| 特级欧美插插插插插bbbbb| 亚洲精品乱码久久久久久密桃明| av手机免费在线观看高潮| 久久久久久久精品成人热| 高清成人av一区三区| 久久这里只有精品热视频| 水蜜桃国产一区二区三区| 欧美中文字幕一区最新网址| 欧美成一区二区三区四区| 老司机99精品视频在线观看| 久草视频在线一区二区三区资源站| huangse网站在线观看| 人妻无码色噜噜狠狠狠狠色| 欧美香蕉人妻精品一区二区| 国产一区av澳门在线观看| 久久久噜噜噜久久熟女av| 综合精品久久久久97| 天天干天天操天天插天天日| 换爱交换乱高清大片| 偷偷玩弄新婚人妻h视频| 在线观看黄色成年人网站| 天天射夜夜操狠狠干| 亚洲av日韩高清hd| 天天草天天色天天干| 人妻少妇亚洲一区二区| 污污小视频91在线观看| 一区二区三区四区视频| 日韩一区二区三区三州| 精品国产污污免费网站入口自| 在线观看免费av网址大全| 一区二区视频在线观看免费观看| 日本女人一级免费片| 一区国内二区日韩三区欧美| 精品美女久久久久久| 自拍偷拍 国产资源| 99精品免费观看视频| 人妻少妇av在线观看| av高潮迭起在线观看| 久久久久久久久久性潮| 青青在线视频性感少妇和隔壁黑丝| 日本一本午夜在线播放| 国产一区av澳门在线观看| 粉嫩av蜜乳av蜜臀| 五月色婷婷综合开心网4438| 精产国品久久一二三产区区别| 午夜精品亚洲精品五月色| 超鹏97历史在线观看| 国产成人自拍视频播放| 制服丝袜在线人妻中文字幕| 在线网站你懂得老司机| lutube在线成人免费看| 国产男女视频在线播放| 一区二区三区四区五区性感视频| 亚洲一级 片内射视正片| 深夜男人福利在线观看| 性感美女福利视频网站| 人妻久久久精品69系列| 天天做天天干天天舔| 青草亚洲视频在线观看| 久久久久久cao我的性感人妻| 色花堂在线av中文字幕九九 | 亚洲av黄色在线网站| 欧美天堂av无线av欧美| 偷拍自拍国产在线视频| 欧美日韩v中文在线| 四川五十路熟女av| 超pen在线观看视频公开97| 婷婷色中文亚洲网68| 亚洲av琪琪男人的天堂| 一区二区三区四区五区性感视频 | 精品日产卡一卡二卡国色天香| 日韩av大胆在线观看| 天天操天天操天天碰| 亚洲一区二区三区五区| 日本精品一区二区三区在线视频。 | 91超碰青青中文字幕| 亚洲精品欧美日韩在线播放| 日本少妇人妻xxxxxhd| 日本丰满熟妇BBXBBXHD| 亚洲人妻视频在线网| 国产一区二区欧美三区| 亚洲在线观看中文字幕av| 欧美第一页在线免费观看视频| 男人和女人激情视频| 欧亚乱色一区二区三区| 激情图片日韩欧美人妻| 五十路熟女人妻一区二区9933 | 93视频一区二区三区| 日韩美女搞黄视频免费| 亚洲无线观看国产高清在线| 国产精品sm调教视频| 2017亚洲男人天堂| 天天摸天天亲天天舔天天操天天爽| 亚洲熟女女同志女同| 亚洲激情,偷拍视频| 五月天色婷婷在线观看视频免费| 中文乱理伦片在线观看| 欧美国产亚洲中英文字幕| 亚洲精品乱码久久久久久密桃明| 婷婷五月亚洲综合在线| gogo国模私拍视频| 91麻豆精品久久久久| 国产精品视频欧美一区二区| 精品美女久久久久久| 国产精品一区二区av国| 57pao国产一区二区| 天堂v男人视频在线观看| 又色又爽又黄又刺激av网站| 日本精品美女在线观看| av网址国产在线观看| 中文字幕之无码色多多| 中字幕人妻熟女人妻a62v网| 精品美女在线观看视频在线观看| 大鸡吧插逼逼视频免费看| 日本三极片中文字幕| 国产一区av澳门在线观看| 大香蕉玖玖一区2区| 日韩成人免费电影二区| 青青擦在线视频国产在线| 免费无毒热热热热热热久| 91高清成人在线视频| 加勒比视频在线免费观看| 黑人乱偷人妻中文字幕| 亚洲日产av一区二区在线| 91中文字幕最新合集| 国产高清97在线观看视频| 成人激情文学网人妻| 91在线视频在线精品3| 久久这里只有精彩视频免费| 18禁免费av网站| 动色av一区二区三区| 欧美激情精品在线观看| 美味人妻2在线播放| 国产精品亚洲在线观看| 少妇一区二区三区久久久| 亚洲美女自偷自拍11页| 亚洲人妻视频在线网| 欧美另类重口味极品在线观看| 中国熟女@视频91| 亚洲男人在线天堂网| 成人国产激情自拍三区| 精产国品久久一二三产区区别| 久久这里有免费精品| 亚洲精品麻豆免费在线观看| 9国产精品久久久久老师| 天天想要天天操天天干| 天天日天天干天天搡| 91人妻精品一区二区久久| 欧美中文字幕一区最新网址| 91天堂精品一区二区| 日韩欧美中文国产在线| 懂色av之国产精品| 免费在线看的黄网站| av天堂中文免费在线| 3337p日本欧洲大胆色噜噜| 亚洲国产在线精品国偷产拍| 天堂女人av一区二区| weyvv5国产成人精品的视频| 精品国产成人亚洲午夜| 美女福利视频网址导航| 91人妻人人做人人爽在线| 国产在线免费观看成人| 少妇深喉口爆吞精韩国| av天堂中文免费在线| 香蕉91一区二区三区| 福利午夜视频在线合集| 亚洲精品午夜aaa久久| 91chinese在线视频| 青青青青草手机在线视频免费看 | 久久久噜噜噜久久熟女av| 丝袜美腿视频诱惑亚洲无| 欧美特色aaa大片| 成年人黄色片免费网站| 色吉吉影音天天干天天操| 成人av天堂丝袜在线观看| 年轻的人妻被夫上司侵犯| 人人妻人人爽人人添夜| 成年人黄视频在线观看| 日日操夜夜撸天天干| 国产成人自拍视频播放| 久草视频中文字幕在线观看| 久久久久只精品国产三级| 国产激情av网站在线观看| 黄色视频在线观看高清无码 | jiujiure精品视频在线| 国产成人自拍视频播放| 国产精品视频男人的天堂| 欧美精品免费aaaaaa| 中文字幕第1页av一天堂网| 亚洲欧美一区二区三区电影| 亚洲精品无码色午夜福利理论片| 亚洲午夜电影之麻豆| 亚洲精品一区二区三区老狼| 2018最新中文字幕在线观看 | 国产精品久久久久久美女校花| 亚洲av自拍天堂网| 精品国产成人亚洲午夜| 淫秽激情视频免费观看| av网站色偷偷婷婷网男人的天堂| 2020av天堂网在线观看| 熟女人妻三十路四十路人妻斩| 亚洲午夜精品小视频| 同居了嫂子在线播高清中文| 久久久麻豆精亚洲av麻花| 欧美精品黑人性xxxx| 亚洲一级特黄特黄黄色录像片| 丝袜长腿第一页在线| 38av一区二区三区| 亚洲va国产va欧美精品88| 99热久久极品热亚洲| 欧美精品国产综合久久| 色花堂在线av中文字幕九九| 美女福利写真在线观看视频| 日韩人妻xxxxx| 精品国产亚洲av一淫| 3344免费偷拍视频| 欧美熟妇一区二区三区仙踪林| 欧美精品一区二区三区xxxx| 无套猛戳丰满少妇人妻| 夜夜嗨av一区二区三区中文字幕| 午夜场射精嗯嗯啊啊视频| 天天日天天敢天天干| 日韩美女精品视频在线观看网站| 天天色天天爱天天爽| 色吉吉影音天天干天天操| 特大黑人巨大xxxx| 亚洲日本一区二区三区| 美味人妻2在线播放| 精品国产高潮中文字幕| 国产成人无码精品久久久电影| 午夜美女少妇福利视频| 亚洲中文字幕人妻一区| 男人的网址你懂的亚洲欧洲av| 男人天堂色男人av| 国产无遮挡裸体免费直播视频| 亚洲欧美综合在线探花| 国产va在线观看精品| 亚洲自拍偷拍综合色| 久久久久久久久久久免费女人| 成年人啪啪视频在线观看| 阿v天堂2014 一区亚洲| 亚洲综合一区二区精品久久| 精品亚洲国产中文自在线| 国产成人精品av网站| 中文字幕最新久久久| 亚洲精品麻豆免费在线观看| 班长撕开乳罩揉我胸好爽| 黑人解禁人妻叶爱071| 国产免费高清视频视频| 久久精品国产23696| nagger可以指黑人吗| 亚洲中文字幕综合小综合| 只有精品亚洲视频在线观看| 欧美久久一区二区伊人| 亚洲中文精品人人免费| 鸡巴操逼一级黄色气| 国产综合高清在线观看| 深田咏美亚洲一区二区 | 午夜精品一区二区三区福利视频| 在线免费观看靠比视频的网站| 色天天天天射天天舔| 啊啊好大好爽啊啊操我啊啊视频 | 男生用鸡操女生视频动漫| 97超碰人人搞人人| 亚洲成人三级在线播放| 黄色片黄色片wyaa| 东游记中文字幕版哪里可以看到| 91精品国产观看免费| 国产女孩喷水在线观看| 成人精品在线观看视频| 天天干狠狠干天天操| 欧美成人精品在线观看| 538精品在线观看视频| 美女张开两腿让男人桶av| 日韩视频一区二区免费观看| 男生舔女生逼逼视频| 国产成人综合一区2区| 性感美女福利视频网站| 色哟哟在线网站入口| 91精品视频在线观看免费| 超黄超污网站在线观看| 天美传媒mv视频在线观看| 婷婷午夜国产精品久久久| 亚洲精品麻豆免费在线观看 | 51国产偷自视频在线播放| 成人久久精品一区二区三区| 青青青青青青青青青青草青青| 红杏久久av人妻一区| 天天想要天天操天天干|