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

餓了么異地雙活數據庫實戰

數據庫 其他數據庫
盡量把業務做成類聚的,讓一個用戶的訪問落在同一個地方。不是所有的業務都有多活特性的,還可以有全局使用的業務(比方用戶數據),所以需要做業務類型劃分。

 我今天的分享是餓了么在數據庫和多活數據庫這塊的實戰經歷,供大家參考。

主要圍繞以下五點進行分享:

  • 多活當中的難點
  • 多活的架構
  • 數據庫改造
  • DBA 挑戰
  • 收益與展望

多活當中的難點

我們先來看一下多活的***個難點:要考慮做多活到底是同城的多活還是異地的多活。

跨地域網絡延時是現階段很難突破的點,因為餓了么面臨的是異地的多活,所以我們需要基于延時這個前提來考慮方案。

從北京到上海中間有 30 毫秒的延遲,這個會帶來什么問題?我們接下來會講。

上圖是同城和異地多活不同的點,復雜性和可拓展性對架構的影響方面會有很大的不同。

我們挑幾個點講一下:

  • 如果只是做同城多活的話,像 30 毫秒的延時不需要考慮,因為同城的延時通常只有幾毫秒,跟同機房相差不大。
  • 如果是異地 30 毫秒的延時就需要重點考慮了,因為如果是反復調用的應用,放大的時間就不只是 30 毫秒了,可能是 300 毫秒、500 毫秒,對很多應用來說是不可接受的。

在可擴展性方面如果做的是異地多活的話,你的可擴展性理論上來說沒有太多的邊界。

我們做同城多活只能在上海機房里面選,如果是異地多活,可能是全國甚至是全球都可以選。

還有一個比較難的問題,就是怎么保證數據的安全?多活數據可能面臨多個寫入點,可能會錯亂、會沖突、循環復制、數據環路等問題。

這種情況下怎么保障一致性?如果這些沒有考慮好之前,你是不能上多活方案的,多點寫入的風險對數據的考驗是很大的。

綜合考慮下來我們選擇了異地多活,所以這些問題我們都需要克服,也意味著會面臨很多的系統改造。

如何解決跨機房延時對業務的影響,包括各種抖動甚至是斷網的問題;怎樣有效區分我們訪問的流量,***限度地保障用戶的訪問落在正確的機房,這個都是需要解決的難點。

我們采取了一些措施,如上圖:

盡量把業務做成類聚的,讓一個用戶的訪問落在同一個地方。不是所有的業務都有多活特性的,還可以有全局使用的業務(比方用戶數據),所以需要做業務類型劃分。

在服務劃分這一層,怎么定義業務調用的邊界,還有我們基于什么對流量和用戶做劃分的呢?

目前根據我們的業務特點使用的是地理圍欄(POI),用戶、商戶、騎手當前所在的地理位置是我們入口流量劃分的依據。

再看看路由控制這一塊,除了入口流量這一層做了機房的劃分,還在內部使用了虛擬的 Shardingkey,ShardingKey 會把全國流量分成多個部分,并且與 POI 標簽綁定。

這樣就可以把邏輯 ShardingKey 和物理位置對應起來,切換的時候訪問就可以隨 ShardingKey 分流到不同的機房。

APIRouter 就是為了完成這個工作的,它會根據配置的規則把 Shardingkey 對應的流量分到對應的機房。

臟寫預防方面,為防止數據沖突,我們也需要業務配合做一些多活規則的改造,這些規則對業務還是有一些侵入性的。

另外 SOA-Route 就是內部跨業務調用的訪問路由;還有一個 DAL,就是數據庫的代理層。

業務訪問在我們多層的路由控制下,理論上應該能正確路由到合適的機房,如果超越規則或者沒有按規則改造的意外流量真正穿透到 DAL 這一層的時候我們是強制拒絕的。

因為底層認為這個訪問是屬于異常的調用,流量走錯了機房,這時候就會拒絕,所以我們寧愿讓他失敗也不能讓控制之外的數據進來,這樣才能保障規則和數據的可控性。

數據一致性方面,我們有一個重要的 DRC 數據同步組件,數據庫這塊有一些自增的控制,DBA 還研發了一個數據一致性校驗的工具。

多活的架構

粗略說了一些多活的難點和我們的應對方案后,我們現在來看一下整個多活的架構。

如上圖,最上面是我們從入口流量、分流控制、數據多機房同步,包括各個重要組件的架構等。

還有里面有 globol zone 這一項,它是我們剛剛講的需要全局依賴的業務會把它放在 globol zone 里面。

DRC 這是做多活時相當重要的組件,主要解決數據在多個機房當中的同步復制。

我們從北京機房寫入的數據,會同步到上海的機房,上海的機房寫入的數據也會通過 DRC 這個組件同步到北京的機房。

大家可以看到,它包含三塊服務,Replicator、Applier 和 Manager。一個收集變更數據、一個將變更數據寫入到另一個機房、另外一個是做管理控制。

DB 架構這塊我們有兩類(準確講還有一類是多推的,比較少):

  • ***類是 Sharding Zone,不管是數據寫入還是訪問都是本機房提供,出問題的時候也只是流量的切換,并不涉及到底層的變動,這個是真正多活的架構。
  • 還有一種是剛剛講的 globol zone,有些沒有辦法做業務分區,因為是 globol zone 的架構,寫入是集中在一個機房,讀取在本地機房完成。

大家可能會想到 global zone 這種架構會天然面臨一些數據延遲的問題,所以這塊我們的定義是一些寫入量不大,訪問量大,對數據延時是不那么敏感的業務就可以放到這里面來。

數據庫改造

多活項目我們調研大概花的時間有半年左右,但真正做改造的時候時間是相當短的。

從啟動這個項目到真正上線就用了三個月左右的時間,那時候時間是相當緊的,大家可以看一下我列舉的為配合多活數據庫所做的大的改造項目。

首先面臨的問題,就是我們要把數據全量的從一個機房導入到另外一個機房,這個不光有測試環境還有生產環境都要全量的同步。

我們數據有幾百 T 數據,幾百套集群,有各種主從結構需要搭建,每個節點時間也很短。

我們剛剛講的 DRC 會做數據的同步,但同步的時候也會面臨數據沖突的問題。

為解決這個問題,我們需要在所有表上增加一個 DRC 時間戳字段,用來判斷哪一邊數據是***的,這樣在數據發生沖突的時候,我們會選***的數據作為最終的數據。

為防止多活主鍵沖突,數據庫做了一些自增的調整,自增步長放大后馬上就會面臨數據溢出的問題,所以我們需要把主鍵都從 int 調整為 bigint。

主鍵改完以后還有一些外鍵依賴的也會需要改造,所以整體會要做很多的 DDL(幾乎是全量表),而在 MySQL 里面 DDL 其實是風險比較高的操作。

第二個大改造是因為區分了不同的業務類型(我們剛剛講了有 golobl zone 這些),就會面臨各種不同類型的業務原來在同一套實例上的情況。

現在需要拆分遷移到不同的實例上,這個我們也陸陸續續遷移 50+ 的 DB,現在還有些在遷移。

下一個改造是我們現在用 DRC 做跨機房的數據同步了,所有的數據同步都是原生的改成 DRC 的模式,也會做很多的調整。

還有一個問題,就是帳號網段也需要做調整,因為我們原來基于安全考慮會限制某些 IP 網段,現在網段范圍放大了,所有帳號都要面臨調整網段的問題。

如果量比較多的話,調整賬號風險還是挺高的(很多歷史遺漏會使得主從賬號不一致,出現同名賬號不同網段等問題,如果出現不一致調整的時候主從會中斷)。

另外怎么保證全局參數的一致性,起碼要保證同一個集群,在各個機房參數都是一致的,這個是比較臟活累活的東西,但是很容易出問題,到處是坑。

另外 HA 也面臨改造,因為原來在一個機房,現在有多個機房,怎么做到 HA 的可靠性也是一個問題,這塊我們也做了很多的改造。

改造完成之后,我們對比下改造前后在數據庫這端的變化。實例就翻了一倍,集群數量、Proxy 配置、數據量、HA 都會翻倍。

這里特別列了一些 DDL 的變化,為什么會有變化?因為 DRC 不做 DDL 同步這個事情,這個事情都需要 DBA 分開機房來做。

機器故障每周也增加了,原來一周碰不到一臺,現在可能一周面臨兩到三臺這樣的機器故障,所以必須要保證你的 HA 是足夠可靠的。

但是我們人數是沒怎么增加,而且我們馬上要上第三個 zone,維護的工作量會增加更多。

不過我們沒有加人的計劃,之所以這樣是因為我們在把很多的工作通過平臺、自動化和項目的方式來推動解決掉。

DBA 挑戰

對 DBA 來講,除了業務在多活的時候做改造,架構在多活時候的支持外,我覺得做多活改動***的就是 DBA 了,對 DBA 的挑戰很大。

就像前面說的,在集群數量很大的情況下,怎么有效保障數據一致性、HA、配置、容量,還有 DDL 等問題。

我們可以看一下,剛剛講數據這塊我們需要保證它不能錯、不能亂,也不能說因為有一些數據的沖突,我們整個的數據流就停下來,這也不合理,否則多活就沒有意義了。

再一個,即便是把前面流量的東西,都按規則走了,但你也不能保證各個組件不會出一些 Bug 的問題。

比如說 DRC 同步的時候就有 Bug,我們就要有兜底的檢測,把有問題的數據及時的發現,甚至是修復好。

所以我們 DBA 研發了一個 DCP 的平臺。

DCP 就是為數據一致性兜底的,它會全量的對比我們各個機房的數據,告訴 DBA 到底什么時候有數據不一致的問題,大概是多少,是什么樣的類型,怎么修復,不一致量大的時候還需要有合適的修復工具。

對 DCP 設計來說,因為我們有很多套集群,變動很多,如果說一旦變動就要人為調整的話,這個維護量也是很大的,也很難保證它的準確無誤。

所以它必須能自適配,它需要支持全量、增量、延時的控制校驗和隨時手動校驗。

延時校驗就是我們有時候跨機房的時候天然就面臨延時,這時候如果有延時數據肯定有差異,DCP 需要知道到底是因為延時導致的數據不一致還是數據真的不一致。

還有黑白名單機制,自定義規則,白名單有一些表我們不需要校驗就可以跳過。自定義規則就是可以設定一些相應的過濾條件來比較,濾掉一些不需要比較的數據。

DCP 不光是支持對數據一致性的校驗,表結構不一致了也需要校驗,甚至說多維數據也能提供校驗支持。

比如說一個訂單可能根據用戶做了拆分,也根據商戶做了拆分,這兩個數據是否一致是需要校驗的。

還有我們需要控制比較的是它的延時、并發、校驗的時長等,因為你的校驗一直在跑,消耗過大,跑的時間很長勢必對生產會造成影響。

***我們是需要提供靈活修復的工具和配套的腳本。

這樣比出來的數據才能夠快速的恢復,否則你雖然知道數據有問題,但要找這些數據怎么樣不一致的,怎么去修復,再根據條件去把腳本寫出來,這個過程就很長了,等你修復說不定業務已經影響比較大了。

DCP 平臺上線以后,每天大概有 400 多套集群需要校驗,日均校驗的數據有 60 多億,分鐘級別的校驗頻率。實際發現數據一致性的問題起碼有 50+ 例。

不一致的原因可能是業務寫錯了,DRC 出 Bug 了,還有可能是各環節(包括 DB)的配置問題。

如果你沒有相應數據校驗的工具,你是很難知道到底數據是不是一致的,多活做的時候這個情況必須要能掌握,否則心里沒底了。

剛剛講的是數據校驗 DCP 的平臺,還有一個 HA 的保障,集群數量翻番了,這時候你需要保證任何一個節點掛了都能盡快的切過去。

同時,如果你的節點有調整有下線等,你都需要保證 HA 配置能夠跟著變動,否則 HA 的成功率就會得不到保證,800 多套集群也不可能再依賴人肉去保證了。

所以我們做了一個 EMHA,它有什么作用呢?

首先集群任何節點變動都能夠自動感知,當然我們底層是依賴于 MHA 的,MHA 的配置大家用過的話都知道它需要對 SSH 做互通。

有任何一個調整需要把它從配置文件里面加進去或者刪除,否則切換就有問題,所以 EMHA 新增了自動感知配置保持的功能,自動解決這些問題。

第二個重要的功能是變動信息的擴散通知的機制,因為我們是通過 DRC 同步數據的。

如果有一個 master 出問題切換了,這時候要通知 DRC 去連新的 master,并且還需要提供相應的位點信息,還有各種監控也需要得到通知。

要知道這個 master 掛了以后,新的 master 是哪一個,否則后面維護的信息都會錯亂。

第三點我們的切換需要讓 Proxy 這一層自動感知,如果不能自動感知的話,每次切換 Proxy 都需要維護,這個可能會中斷生產的訪問,而且這個維護質量基本也得不到保證,所以 EMHA 也會自動完成與 Porxy 配置層信息的互通。

還有配置的保持也是比較麻煩的事情,我們在代理層的配置,如果節點變動了也需要變(調整區別于切換,切換 DAL 可以通過 EMAH 自動感知)。

有各種參數,如果說調整不一樣了,也需要全局的同步的,這些東西都需要有很多自動發現的手段,包括自動處理的方式。

當然我們現在有些也還沒能完成做到自動化(正在努力中),目前還有些是通過巡檢腳本來發現的,起碼保證能夠發現它然后解決掉。

容量這塊,現在是兩個機房,兩個機房的流量并不一定均衡,比如上海機房 70% 的流量,北京機房 30% 的流量,但流量會隨時切換,所以必須保證每個機房都能夠承擔所有流量。

當然三個機房的話,不一定***的冗余,但也一定要知道每套集群是不是能承載切換過來的流量,否則切換過來就面臨雪崩的效應。

所以對各項指標我們都要有相應的水位監控,提前發現這些問題。

還有一個很大的困難是在 DDL 這塊,因為 DRC 里面不方便做 DDL 這個事情,之前我們也嘗試讓 DRC 同步 DDL 操作。

比如說我們做 DDL 的時候,一般是用 PT 工具來做,這個過程要拷貝整張表的數據。

如果這個表比較大,DDL 時兩個機房之間的流量就會面臨很大的沖擊,而且延時會相當大。

比如說 100G 的表在一個機房做完要同步到另外一個機房去,這沖擊業務影響是不可接受的。

所以 DDL 需要 DBA 在每個機房單獨做,我們開發了一套 DDL 發布工具,因為我們有很多數據類型,有 global zone,還有 Sharding Zone,我們還有大量 Sharding 表。

對單個業務邏輯表的 DDL 來說,實際上我們一套集群里面有幾百張表,這個表又分布在多套集群里面。

所以實際業務一張邏輯表的 DDL 操作,實際 DDL 需要做一千張表,同時還有各種不同的業務集群類型,我們在發布工具時必須要能自動適配和識別這些情況(這個時候元數據維護相當重要了,因為人已經識別不了啦,只能依靠工具)。

剛剛講 DDL 的時候,大家普遍用 PT 的工具,我們用的時候也發現了很多問題,畢竟是它是同步觸發器的,一旦加上去之后,如果瞬間 TPS 很高,就會把數據庫打爆。

所以我們在這塊也做了大量的改造,現在大部分情況下,我們已經不用 PT 了,大家看這個圖上有好幾種工具可以選擇。

我們基于開源社區的 gh-ost 做了一個二次開發改造,改造后的工具叫 mm-ost。

它是一個跨機房的 DDL 工具,不僅解決了 DDL 的時候 threadrunning 不可控、主從延時不可控的問題,還解決了跨機房延時的問題,并且速度比 gh-ost 要快一倍。

我們是多機房,多機房和你做一個機房的 DDL 是完全不一樣的,因為你的機器可能有差異或者繁忙程度不一樣。

可能這個機房 DDL 做完了,另外一邊要半小時之后才能做完,尤其是一個業務邏輯表的 DDL 對應的是上千張物理表的 DDL 時,差異性就更大了。

這樣造成的跨機房延時業務可能沒法接受,所以我們需要的不僅是能保證同機房DDL主從延時的可控,還要保證跨機房延時的可控。

mm-ost 現在就能夠支持到跨機房同步完成 DDL 的時差控制在 3 到 5 秒之內。

這延時對業務來說就沒什么感覺了,而且它可以支持暫停、探測到 DDL 數據延時的時候能夠減慢速度,能根據機器負載動態調整 DDL 的速度等,所以現在 DDL 基本上對業務來說是沒有感覺的。

另外,大家可以看我們的發布平臺做的很復雜,它底層調用的是 mm-ost,在發布平臺上我們也做了很多控制。

比如說 DDL 空間滿不滿足,各個主機是不是都滿足去做 DDL 的條件,主從我們需要控制的延時在 30 秒之內,有鎖的時候需要減緩速度,還支持定時執行。

因為我們有些業務的低峰是晚上 4 點,所以 DBA 不可能每次都是 4 點來做這個事情,這時就要定時功能的支持。

另外系統還可以通過識別業務高低峰推薦,什么時候做 DDL 比較合適,還有一些風險識別的控制,我們還要預估 DDL 的時長,如果開發問一個 500G 的表 DDL 大概多久能做完?

你需要大概告訴它,給它一個預期,總之發布這塊是我們面臨***的一個挑戰,我們在上面做了很多工作。

我們 DDL 數量相當多,可以說在多活改造的時候,DBA 發布的量是最多的。

多活改造期間,我們 DDL 基本上每周的工單都在四位數,四位數的工單數量,放到底層來講,可能一個邏輯表生成一千個 DDL,就是最少是 5 位數 DDL 物理表的量了。

如果完全依賴 DBA 來執行,也很難支持了,所以我們加了自動發布功能,對于風險不高的工單是系統自動執行的,粗略的比例大概是 8:2,絕大部分都是自動發布了。

風險性比較高的工單我們才需要人去處理,我們統計了一下半年大概有 15000 個工單。

收益與展望

***看一下多活做完以后收益有哪些?做多活之前,我們也面臨過很多棘手的問題:

  • 比方我們之前面臨著整個機房出現問題(核心交換機出問題、網絡出問題)。
  • 還有些機房因為在業務沒有那么大之前你不可能預留特別多的機柜,但你現在說我業務漲的很快,現在要加一千臺機器、兩千臺機器的時候,發現你加不了,因為你的 IDC 不能給你這個支持,他們不可能給你預留這么多機柜。

這個時候你就面臨單機房沒法擴容的麻煩,之前只能考慮遷移到一個更大的機房去,但也是個耗時費力成本高的事情。

我們多活做了之后,首先打破了單機房容量的瓶頸,單機房不能擴容的時候,我們現在可以在另外的機房擴容我的機器,也可以分不同的流量來滿足負載,就不再受到單個機房容量的限制。

另一個,多活上線到現在我們流量切了有 20 次左右,有時候是演練,有時候是真實發生故障。

現在就不再受到單機房故障的影響,甚至是單地域的影響,假如說上海哪一天全斷電了對我們影響也不大(當然只是指技術層面)。

還有故障兜底,有的問題可能是比較麻煩的問題,一下子沒有辦法判斷或者解決,那時候可能影響很大,但只影響單個機房。

這個時候就可以把業務切到另外一個機房,等我們把問題解決了以后再把流量切回來,這樣對業務就基本沒有損失了,所以多活之后對我們整體可用性也有一個很大提升。

另外一塊是動態調整各個機房的流量,尤其是在做一些促銷活動的時候,有些地區的流量明顯是不均衡的。

這時候如果能動態的調整機房之間的流量訪問,這是比較好的分擔壓力的方式,像阿里雙 11 這種活動,應該會根據流量壓力來調整各機房之間的分配。

接下來在來講下多活這塊后續我們可能要做的一些事情:

一個是多個機房,我們現在正在準備第三個機房,因為兩個機房的代價比較高,冗余比較多。

我們需要做第三個機房分攤這塊的成本,當然一開始成本是比較高的,往后業務繼續上漲的話,可能不需要做太多的擴容。

而且現有***冗余的機器資源,可以再做調配,這樣成本往后來看的話是會下降的。

另外一塊是數據的 Sharding,這個我們還沒有做到,因為我們在各個機房都是全量的數據,這也是我們后面努力的方向。

還有一個是自動動態擴縮容,我們需要有更細的控制能力來自動的完成這些動作,尤其是在硬件資源利用率上能動態調整。

***一個點是希望能夠提供多機房數據強一致性的架構方案,因為我們現在來講都是最終一致性的,怎么對一些非常重要的數據,提供各個機房數據及時強一致性,這塊也是我們接下來需要努力的方向。

[[215855]]

虢國飛,餓了么 DBA 負責人,從事數據庫行業 10+ 年,專注于 MySQL、PgSQL、MSSQL 等數據庫領域的管理、研究和平臺的研發等工作,目前負責餓了么數據庫團隊的管理和數據庫維護方面的工作。

責任編輯:武曉燕 來源: 高效運維
相關推薦

2017-08-01 10:55:47

DRC應用實踐

2024-12-02 12:23:25

2019-02-26 09:39:46

數據庫高可用架構

2025-04-28 08:35:07

2014-11-03 16:24:55

阿里云

2018-04-02 09:33:03

多活技術架構運維

2018-08-30 09:43:11

DBA數據庫運維

2018-07-19 11:18:45

餓了么時序數據庫監控系統

2015-03-31 18:19:37

餓了么動畫效果

2019-03-18 10:32:33

容災雙活同城

2018-11-29 09:36:56

大數據調度系統

2024-08-12 08:04:00

2016-08-26 22:36:18

大數據

2017-12-05 15:03:45

人工智能餓了么大數據

2018-11-30 12:11:11

Oracle存儲配置

2022-05-31 11:17:14

單元化異地雙活

2017-11-08 13:53:35

餓了么程炎嶺多活

2010-04-09 15:35:28

Oracle數據庫

2025-03-18 08:30:00

Spring開發java

2017-07-21 14:48:47

AI物流O2O
點贊
收藏

51CTO技術棧公眾號

欧美巨猛xxxx猛交黑人97人| 欲香欲色天天天综合和网| 97久久中文字幕| 不卡一卡二卡三乱码免费网站| 在线观看欧美日韩| 久久黄色片视频| 国产天堂av在线| 欧美性suv| 不卡的av在线播放| 国产精品第一第二| 中国黄色片视频| 欧美xxxx视频| 91九色精品| 在线影视一区二区三区| 国产日韩欧美一区二区三区四区| 日日操免费视频| 午夜无码国产理论在线| www.亚洲国产| 性欧美视频videos6一9| 亚洲熟妇一区二区| dj大片免费在线观看| 久久99久久99小草精品免视看| 亚洲最新在线视频| 18深夜在线观看免费视频| 成人video亚洲精品| 本田岬高潮一区二区三区| 国产免费成人av| 2014亚洲天堂| 国产精品99久久免费| 国产精品久久久久aaaa| 国产精品视频公开费视频| 99国产精品免费| 欧美电影在线观看网站| 中文字幕在线不卡一区二区三区| 国产精品区二区三区日本| 国产午夜小视频| 97se亚洲| 欧美日韩激情网| 久久99精品久久久久久秒播放器| 日韩三级小视频| 国产成人ay| 欧美自拍丝袜亚洲| 热99这里只有精品| 中文字幕伦理免费在线视频| 成人自拍视频在线| 69久久夜色精品国产7777| 日本aaa视频| 成人涩涩视频| 亚洲综合在线免费观看| 精品国产福利| 小泽玛利亚一区二区三区视频| 日本不卡电影| 日韩午夜精品电影| 国产69精品久久久久999小说| 日韩福利一区二区| 天堂久久一区二区三区| www.日韩av.com| 波多野结衣在线免费观看| 9999热视频在线观看| 久久噜噜亚洲综合| 91久久国产精品91久久性色| 国产精品99精品无码视| 国产精品免费不| 亚洲精品视频网上网址在线观看| 日本激情综合网| 9191在线播放| 一区二区三区高清| 中文字幕日韩精品无码内射| 青青草视频在线免费观看| av一区二区久久| 国产在线精品一区二区三区| 免费观看黄色av| 久久久久久自在自线| 久久久久北条麻妃免费看| 亚洲国产精品自拍视频| 欧美黄页免费| 欧美高清视频在线高清观看mv色露露十八 | 91.成人天堂一区| 日本福利视频一区| 蜜桃视频在线观看免费视频| 最新热久久免费视频| 久久久久天天天天| 国产黄色片在线播放| 岛国精品在线播放| 激情小说综合网| 成人在线免费看| av在线播放一区二区三区| 久久99精品久久久久久三级| 福利视频在线看| 亚洲乱码精品一二三四区日韩在线| 欧美国产综合视频| www.麻豆av| 久久99久久99小草精品免视看| 亚洲a级在线观看| 激情网站在线观看| 999在线观看精品免费不卡网站| 日韩一区二区av| 久草视频免费播放| 亚洲国产精品久久久久蝴蝶传媒| 亚洲午夜激情免费视频| 精品国产一区在线| 18国产精品| 日韩一级二级三级| 精品无码在线视频| 国模私拍一区二区| 男人的天堂亚洲在线| 国产精品视频永久免费播放| 性做久久久久久久久久| 美女免费视频一区二区| 欧美专区在线视频| 日韩 国产 在线| 蜜桃av一区二区在线观看| av在线不卡观看| 亚洲av无码乱码国产精品久久| 99久久婷婷国产综合精品| 亚洲一区二区三区精品视频| 高清av在线| 一区二区在线观看视频| 欧美黄网在线观看| 男女在线观看视频| 91黄色在线观看| 不卡影院一区二区| 伊人久久综合一区二区| 色一区在线观看| 韩国日本在线视频| 日日夜夜天天综合| 精品国产乱码久久久久久1区2区 | 亚洲精品97久久| 国产草草浮力影院| 亚洲九九在线| 久久国产天堂福利天堂| 欧美激情图片小说| 欧美另类视频| 777777777亚洲妇女| 国产精品一区二区三区在线免费观看| 精品一区二区三区欧美| 欧美亚洲另类久久综合| 97在线超碰| 欧美一区二区福利视频| 动漫av在线免费观看| av男人一区| 久久艳片www.17c.com| 18精品爽视频在线观看| 午夜在线视频观看日韩17c| 日韩免费av在线| 一本色道久久综合熟妇| 国产一区二区不卡在线| 成人在线视频电影| 男女污视频在线观看| 日本一区二区三区在线不卡| 正在播放一区二区三区| 污的网站在线观看| 色哟哟一区二区在线观看| 人体私拍套图hdxxxx| 在线欧美三区| 国产精品视频白浆免费视频| 黑人与亚洲人色ⅹvideos| 亚洲黄网站在线观看| 一级做a爱视频| 天堂成人娱乐在线视频免费播放网站| 在线看日韩欧美| 探花国产精品一区二区| 中文av字幕一区| 欧美亚洲黄色片| 成人精品国产| 亚洲福利精品在线| 无码人中文字幕| 日本不卡高清视频| 国产一区二区三区免费不卡| 高清精品在线| 91精品国产综合久久福利软件| 人人干在线观看| 国产成人在线看| 亚洲人成网站在线播放2019| 国内自拍亚洲| 久热精品在线视频| 亚洲精品字幕在线观看| 午夜不卡在线视频| 三日本三级少妇三级99| 午夜日韩在线| 国产日韩欧美电影在线观看| 深夜福利在线观看直播| 综合久久给合久久狠狠狠97色| 免费成人黄色大片| 日本不卡高清| 91在线国产电影| 国产黄大片在线观看| 亚洲日本aⅴ片在线观看香蕉| 精品无码久久久久久久久| 99re免费视频精品全部| 欧美 日韩 国产精品| 久久精品论坛| 午夜精品久久久久久久男人的天堂| 香蕉久久国产av一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 少妇极品熟妇人妻无码| 麻豆精品网站| 国产人妻人伦精品| 成人日韩视频| 91大神在线播放精品| 91大神xh98hx在线播放| 91国产免费观看| 男女做暖暖视频| 久久久亚洲综合| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 波多野结衣在线一区二区| 日本久久久久久久久久久| 二区在线播放| 亚洲人成电影网站色www| 国产日韩欧美中文字幕| 亚洲日本欧美天堂| 国产乱叫456| 亚洲少妇自拍| 精品在线观看一区二区| 自拍偷拍亚洲| 国产成人91久久精品| 看电影就来5566av视频在线播放| 91精品国产aⅴ一区二区| 午夜精品一区二| 国产欧美一区二区精品性| 国产高潮失禁喷水爽到抽搐| 美女视频一区二区| 青青在线视频观看| 伊人久久亚洲热| 四虎4hu永久免费入口| 日韩精品第一区| 成人黄色激情网| 色av手机在线| 色小说视频一区| 国产乱人乱偷精品视频a人人澡| 精品国产老师黑色丝袜高跟鞋| 日本黄色特级片| 国产精品69久久久久水密桃| 一区二区三区 欧美| 性色一区二区三区| 国产3p露脸普通话对白| 欧美久久99| 看一级黄色录像| 欧美电影在线观看免费| 国产99久久精品一区二区永久免费| 日韩电影免费观看| 久久国产精品偷| 国产激情在线| 久久久精品2019中文字幕神马| av中文字幕一区二区三区| 亚洲视频在线视频| 免费国产在线观看| 精品一区二区三区四区| 日韩在线无毛| 亚洲欧洲黄色网| 久久经典视频| 丝袜美腿亚洲一区二区| 98在线视频| 日韩视频在线观看免费| fc2ppv国产精品久久| 欧美日韩ab片| 97人澡人人添人人爽欧美| 午夜精品一区二区三区视频免费看 | 成人精品电影在线观看| 国产香蕉精品视频| 成人18视频在线播放| a视频免费观看| 国产欧美一区二区精品性| 免费黄色激情视频| 亚洲一区在线电影| 纪美影视在线观看电视版使用方法| 久久九九久精品国产免费直播| 99久久精品免费视频| 丰满白嫩尤物一区二区| 日日噜噜噜噜久久久精品毛片| 欧美日本一区二区视频在线观看| 欧美日韩午夜爽爽| 亚洲高清资源| 日产国产精品精品a∨| 日韩影片在线观看| 国产美女91呻吟求| 国产欧美视频在线| 国产高清不卡av| 神马香蕉久久| 亚洲欧洲日韩精品| 亚洲欧美校园春色| 999在线免费观看视频| 国产精品18hdxxxⅹ在线| 成人免费在线视频网址| 日韩在线亚洲| 久久一区二区三区av| 91成人在线精品视频| 久久久久久久久四区三区| 欧美日韩高清| 欧洲精品一区色| 激情亚洲另类图片区小说区| 欧美人xxxxx| 我不卡神马影院| 97国产在线播放| 亚洲高清在线| 少妇网站在线观看| 不卡视频在线观看| 日韩免费av一区| 国产精品久久久久久久久久免费看| 91porn在线视频| 亚洲激情第一区| 国产三级av片| 欧美日韩亚洲一区二| 91精品国产乱码久久久久| 欧美视频在线观看一区| 日日骚av一区二区| 日韩欧美第一页| 黄色免费av网站| 91精品婷婷国产综合久久性色| 色鬼7777久久| 欧美激情网友自拍| 日本小视频在线免费观看| 国产精品成人一区二区三区吃奶| silk一区二区三区精品视频| 亚洲成人18| 性伦欧美刺激片在线观看| 中文字幕天堂av| 亚洲色图制服丝袜| 天天天天天天天干| 日韩av在线免费观看一区| 午夜视频在线免费播放| 日韩一区二区在线视频| 最新欧美色图| 精品伦精品一区二区三区视频| 一本一本久久a久久综合精品| 最近中文字幕一区二区| 久久综合九色综合欧美就去吻| 久一视频在线观看| 日韩一级成人av| 黄色一级大片在线免费看产| 伦伦影院午夜日韩欧美限制| 3d性欧美动漫精品xxxx软件| 精品无码久久久久国产| 国产精品99一区二区| 不卡的在线视频| 成人一级片网址| 久久免费看少妇高潮v片特黄| 欧美日韩久久不卡| 精品久久国产视频| 北条麻妃99精品青青久久| 国产成人精品一区二区三区在线| 日产中文字幕在线精品一区| 免费看的黄色欧美网站| 三级男人添奶爽爽爽视频| 午夜在线电影亚洲一区| 日本国产在线观看| 97久久精品国产| 日本久久成人网| 欧美极品欧美精品欧美图片| 91在线一区二区| 久久久久99精品成人片三人毛片| 欧美日韩精品系列| 在线观看h片| 久久久久国产一区二区三区| 日韩成人18| 成人在线视频一区二区三区| 国产成人a级片| 日韩免费黄色片| 亚洲美女在线视频| 在线免费观看a视频| 亚洲www永久成人夜色| 午夜日韩在线| 日本黄色录像片| 色婷婷精品久久二区二区蜜臀av| 国产午夜精品一区理论片| 国产精品白嫩初高中害羞小美女| 成人亚洲一区二区| 亚洲黄色片免费看| 婷婷开心久久网| 美国一级片在线免费观看视频| 国产精品91在线| 欧美疯狂party性派对| 欧美日韩亚洲第一| 欧美国产精品一区二区| 国产一区二区麻豆| 久久久久久91| 国产欧美日韩| 色偷偷中文字幕| 精品久久久久久久中文字幕| 福利在线观看| av资源站久久亚洲| 日韩精品午夜视频| 黄色录像a级片| 欧美最新大片在线看| 中文字幕在线观看网站| 久久精品国产第一区二区三区最新章节| 丝袜美腿亚洲色图| 国产精品白嫩白嫩大学美女| 亚洲黄色av女优在线观看| 成人1区2区| 欧美精品一区二区三区三州| 国产精品久久久久三级| 波多野结衣毛片| 免费97视频在线精品国自产拍| 杨幂一区二区三区免费看视频| 成人亚洲免费视频| 欧美日韩国产黄| 成人影院www在线观看| 蜜桃导航-精品导航| 国产一区二区精品久久91|