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

專車架構進化往事:好的架構是進化來的,不是設計來的

開發 架構
架構進化之路并非一帆風順,也有波折和起伏,但一步一個腳印,專車的技術儲備越來越深厚。

很多年前,讀了 子柳 老師的《淘寶技術這十年》。這本書成為了我的架構啟蒙書,書中的一句話像種子一樣深埋在我的腦海里: “好的架構是進化來的,不是設計來的” 

2015年,我加入神州專車訂單研發團隊,親歷了專車數據層「架構進化」的過程。這次工作經歷對我而言非常有啟發性,也讓我經常感慨:“好的架構果然是一點點進化來的”。

一、單數據庫架構

產品初期,技術團隊的核心目標是: “快速實現產品需求,盡早對外提供服務” 

彼時的專車服務都連同一個 SQLServer 數據庫,服務層已經按照業務領域做了一定程度的拆分。

這種架構非常簡單,團隊可以分開協作,效率也極高。隨著專車訂單量的不斷增長,早晚高峰期,用戶需要打車的時候,點擊下單后經常無響應。

系統層面來看:

  1. 數據庫瓶頸顯現。頻繁的磁盤操作導致數據庫服務器 IO 消耗增加,同時多表關聯,排序,分組,非索引字段條件查詢也會讓 cpu 飆升,最終都會導致數據庫連接數激增;
  2. 網關大規模超時。在高并發場景下,大量請求直接操作數據庫,數據庫連接資源不夠用,大量請求處于阻塞狀態。

二、SQL優化和讀寫分離

為了緩解主數據庫的壓力,很容易就想到的策略: SQL優化 。通過性能監控平臺和 DBA 同學協作分析出業務慢 SQL ,整理出優化方案:

  1. 合理添加索引;
  2. 減少多表 JOIN 關聯,通過程序組裝,減少數據庫讀壓力;
  3. 減少大事務,盡快釋放數據庫連接。

另外一個策略是: 讀寫分離 

讀寫分離的基本原理是讓主數據庫處理事務性增、改、刪操作( INSERT、UPDATE、DELETE),而從數據庫處理 SELECT 查詢操作。

專車架構團隊提供的 框架 中,支持讀寫分離,于是數據層架構進化為如下圖:

讀寫分離可以減少主庫寫壓力,同時讀從庫可水平擴展。當然,讀寫分離依然有局限性:

  1. 讀寫分離可能面臨主從延遲的問題,訂單服務載客流程中對實時性要求較高,因為擔心延遲問題,大量操作依然使用主庫查詢;
  2. 讀寫分離可以緩解讀壓力,但是寫操作的壓力隨著業務爆發式的增長并沒有很有效的緩解。

三、業務領域分庫

雖然應用層面做了優化,數據層也做了讀寫分離,但主庫的壓力依然很大。接下來,大家不約而同的想到了 業務領域分庫 ,也就是:將數據庫按業務領域拆分成不同的業務數據庫,每個系統僅訪問對應業務的數據庫。

業務領域分庫可以緩解核心訂單庫的性能壓力,同時也減少系統間的相互影響,提升了系統整體穩定性。

隨之而來的問題是:原來單一數據庫時,簡單的使用 JOIN 就可以滿足需求,但拆分后的業務數據庫在不同的實例上,就不能跨庫使用 JOIN了,因此需要對 系統邊界重新梳理,業務系統也需要重構 

重構重點包含兩個部分:

  1. 原來需要 JOIN 關聯的查詢修改成 RPC 調用,程序中組裝數據 ;
  2. 業務表適當冗余字段,通過消息隊列或者異構工具同步。

四、緩存和MQ

專車服務中,訂單服務是并發量和請求量最高,也是業務中最核心的服務。雖然通過業務領域分庫,SQL 優化提升了不少系統性能,但訂單數據庫的寫壓力依然很大,系統的瓶頸依然很明顯。

于是,訂單服務引入了 緩存   MQ  

乘客在用戶端點擊 立即叫車 ,訂單服務創建訂單,首先保存到數據庫后,然后將訂單信息同步保存到緩存中。

在訂單的載客生命周期里,訂單的修改操作先修改緩存,然后發送消息到 MetaQ  ,訂單落盤服務消費消息,并判斷訂單信息是否正常(比如有無亂序),若訂單數據無誤,則存儲到數據庫中。

核心邏輯有兩點:

  1. 緩存集群中存儲最近七天訂單詳情信息,大量訂單讀請求直接從緩存獲取;
  2. 在訂單的載客生命周期里,寫操作先修改緩存,通過消息隊列異步落盤,這樣消息隊列可以起到消峰的作用,同樣可以降低數據庫的壓力。

這次優化提升了訂單服務的整體性能,也為后來訂單服務庫分庫分表以及異構打下了堅實的基礎。

五、從 SQL Server 到 MySQL

業務依然在爆炸增長,每天幾十萬訂單,訂單表數據量很快將過億,數據庫天花板遲早會觸及。

訂單 分庫分表 已成為技術團隊的共識。業界很多分庫分表方案都是基于 MySQL 數據庫,專車技術管理層決定先將訂單庫整體先從 SQLServer 遷移到 MySQL 。

遷移之前, 準備工作 很重要 :

  1. SQLServer 和 MySQL 兩種數據庫語法有一些差異,訂單服務必須要適配 MySQL 語法。
  2. 訂單 order_id 是主鍵自增,但在分布式場景中并不合適,需要將訂單 id 調整為分布式模式。

當準備工作完成后,才開始遷移。

遷移過程分兩部分: 歷史全量數據遷移  增量數據遷移 

歷史數據全量遷移主要是 DBA 同學通過工具將訂單庫同步到獨立的 MySQL 數據庫。

增量數據遷移:因為 SQLServer 無 binlog 日志概念,不能使用 maxwell 和 canal 等類似解決方案。訂單團隊重構了訂單服務代碼,每次訂單寫操作的時候,會發送一條 MQ 消息到 MetaQ 。為了確保遷移的可靠性,還需要將新庫的數據同步到舊庫,也就是需要做到 雙向同步 

遷移流程:

  1. 首先訂單服務(SQLServer版)發送訂單變更消息到 MetaQ ,此時并不開啟「舊庫消息消費」,讓消息先堆積在 MetaQ 里;
  2. 然后開始遷移歷史全量數據,當全量遷移完成后,再開啟「舊庫消息消費」,這樣新訂單庫就可以和舊訂單庫數據保持同步了;
  3. 開啟「新庫消息消費」,然后部署訂單服務( MySQL 版),此時訂單服務有兩個版本同時運行,檢測數據無誤后,逐步增加新訂單服務流量,直到老訂單服務完全下線。

六、自研分庫分表組件

業界分庫分表一般有 proxy 和 client 兩種流派。

▍ proxy模式

代理層分片方案業界有 Mycat  cobar 等 。

它的優點:應用零改動,和語言無關,可以通過連接共享減少連接數消耗。缺點:因為是代理層,存在額外的時延。

▍ client模式

應用層分片方案業界有 sharding-jdbc  TDDL 等。

它的優點:直連數據庫,額外開銷小,實現簡單,輕量級中間件。缺點:無法減少連接數消耗,有一定的侵入性,多數只支持Java語言。

神州架構團隊選擇 自研 分庫分表組件,采用了 client 模式 ,組件命名: SDDL 

訂單服務需要引入是 SDDL 的 jar 包,在配置中心配置 數據源信息   sharding key    路由規則 等,訂單服務只需要配置一個 datasourceId  即可。

七、分庫分表策略

7.1 乘客維度

專車訂單數據庫的查詢主維度是: 乘客 ,乘客端按乘客 user_id 和 訂單 order_id 查詢頻率最高,我們選擇 user_id 做為 sharding key  ,相同用戶的訂單數據存儲到同一個數據庫中。

分庫分表組件 SDDL 和阿里開源的數據庫中間件 cobar 路由算法非常類似的。

為了便于思維擴展,先簡單介紹下 cobar 的分片算法。

假設現在需要將訂單表平均拆分到4個分庫 shard0 ,shard1 ,shard2 ,shard3 。首先將 [0-1023] 平均分為4個區段:[0-255],[256-511],[512-767],[768-1023],然后對字符串(或子串,由用戶自定義)做 hash, hash 結果對1024取模,最終得出的結果 slot  落入哪個區段,便路由到哪個分庫。

cobar 的默認路由算法 ,可以和 雪花算法  天然融合在一起, 訂單 order_id  使用雪花算法,我們可以將 slot 的值保存在 10位工作機器ID  里。

通過訂單 order_id 可以反查出 slot , 就可以定位該用戶的訂單數據存儲在哪個分區里。

Integer getWorkerId(Long orderId) {
Long workerId = (orderId >> 12) & 0x03ff;
return workerId.intValue();
}

專車 SDDL 分片算法和 cobar 差異點在于:

  1. cobar 支持最大分片數是1024,而 SDDL 最大支持分庫數1024*8=8192,同樣分四個訂單庫,每個分片的 slot 區間范圍是2048 ;

  1. 因為要支持8192個分片,雪花算法要做一點微調,雪花算法的10位工作機器修改成 13 位工作機器,時間戳也調整為: 38 位時間戳(由某個時間點開始的毫秒數)。

7.2 司機維度

雖然解決了主維度乘客分庫分表問題,但專車還有另外一個查詢維度,在司機客戶端,司機需要查詢分配給他的訂單信息。

我們已經按照乘客 user_id 作為 sharding key ,若按照司機 driver_id 查詢訂單的話,需要廣播到每一個分庫并聚合返回,基于此,技術團隊選擇將乘客維度的訂單數據 異構 到以司機維度的數據庫里。

司機維度的分庫分表策略和乘客維度邏輯是一樣的,只不過 sharding key 變成了司機 driver_id 

異構神器 canal 解析乘客維度四個分庫的 binlog ,通過 SDDL 寫入到司機維度的四個分庫里。

這里大家可能有個疑問:雖然可以異構將訂單同步到司機維度的分庫里,畢竟有些許延遲,如何保證司機在司機端查詢到最新的訂單數據呢 ?

 緩存和MQ 這一小節里提到:緩存集群中存儲最近七天訂單詳情信息,大量訂單讀請求直接從緩存獲取。訂單服務會緩存司機和當前訂單的映射,這樣司機端的大量請求就可以直接緩存中獲取,而司機端查詢訂單列表的頻率沒有那么高,異構復制延遲在10毫秒到30毫秒之間,在業務上是完全可以接受的。

7.3 運營維度

專車管理后臺,運營人員經常需要查詢訂單信息,查詢條件會比較復雜,專車技術團隊采用的做法是:訂單數據落盤在乘客維度的訂單分庫之后,通過 canal 把數據同步到Elastic Search。

7.4 小表廣播

業務中有一些配置表,存儲重要的配置,讀多寫少。在實際業務查詢中,很多業務表會和配置表進行聯合數據查詢。但在數據庫水平拆分后,配置表是無法拆分的。

小表廣播的原理是:將小表的所有數據(包括增量更新)自動廣播(即復制)到大表的機器上。這樣,原來的分布式 JOIN 查詢就變成單機本地查詢,從而大大提高了效率。

專車場景下,小表廣播是非常實用的需求。比如: 城市表 是非常重要的配置表,數據量非常小,但訂單服務,派單服務,用戶服務都依賴這張表。

通過 canal 將基礎配置數據庫城市表同步到訂單數據庫,派單數據庫,用戶數據庫。

八、平滑遷移

分庫分表組件 SDDL  研發完成,并在生產環境得到一定程度的驗證后,訂單服務從單庫 MySQL 模式遷移到分庫分表模式條件已經成熟。

遷移思路其實和 從 SQLServer 到 MySQL 非常類似。

整體遷移流程:

  1. DBA 同學準備乘客維度的四個分庫,司機維度的四個分庫 ,每個分庫都是最近某個時間點的全量數據;
  2. 八個分庫都是全量數據,需要按照分庫分表規則刪除八個分庫的冗余數據 ;
  3. 開啟正向同步,舊訂單數據按照分庫分表策略落盤到乘客維度的分庫,通過 canal 將乘客維度分庫訂單數據異構復制到司機維度的分庫中;
  4. 開啟反向同步,修改訂單應用的數據源配置,重啟訂單服務,訂單服務新創建的訂單會落盤到乘客維度的分庫,通過 canal 將乘客維度分庫訂單數據異構到 全量訂單庫 以及司機維度的數據庫;
  5. 驗證數據無誤后,逐步更新訂單服務的數據源配置,完成整體遷移。

九、數據交換平臺

專車訂單已完成分庫分表 , 很多細節都值得復盤:

  1. 全量歷史數據遷移需要 DBA 介入 ,技術團隊沒有成熟的工具或者產品輕松完成;
  2. 增量數據遷移通過 canal 來實現。隨著專車業務的爆發增長,數據庫鏡像,實時索引構建,分庫異構等需求越來越多,雖然canal 非常優秀,但它還是有瑕疵,比如缺失任務控制臺,數據源管理能力,任務級別的監控和報警,操作審計等功能。

面對這些問題,架構團隊的目標是打造一個平臺,滿足各種異構數據源之間的實時增量同步和離線全量同步,支撐公司業務的快速發展。

基于這個目標,架構團隊自研了 dataLink 用于增量數據同步,深度定制了阿里開源的 dataX 用于全量數據同步。

十、寫到最后

專車架構進化之路并非一帆風順,也有波折和起伏,但一步一個腳印,專車的技術儲備越來越深厚。

責任編輯:張燕妮 來源: 博客園
相關推薦

2022-04-24 11:01:09

架構數據庫專車

2009-09-27 09:52:36

2020-03-03 08:40:16

細腰架構進化

2022-05-09 11:29:42

架構數據

2013-09-10 11:15:10

比平話設計

2016-10-17 13:50:31

2018-05-14 12:30:37

數據驅動算法優化

2014-10-08 15:13:12

GITC2014全球互聯網技術大會

2018-08-22 17:58:01

數據平臺數據倉庫架構

2012-09-28 13:23:43

編程語言語言進化程序員

2017-03-02 11:25:43

云計算

2011-09-01 09:34:21

架構

2017-02-20 09:02:31

Impala架構設計

2020-12-03 14:03:29

中臺數智化架構

2013-12-12 16:23:53

安卓進化AndroidGoogle

2024-10-29 14:34:46

2018-04-02 09:07:36

CIO

2012-09-11 10:23:24

Windows 8

2013-12-12 16:51:43

安卓進化AndroidGoogle

2023-10-30 16:02:20

區塊鏈元宇宙
點贊
收藏

51CTO技術棧公眾號

午夜亚洲性色福利视频| 一区二区三区四区精品视频| 国产视频在线观看一区二区三区| 国产福利视频一区二区| 小嫩苞一区二区三区| 国产乱码久久久| 国一区二区在线观看| 日韩久久午夜影院| 亚洲精品永久视频| 漫画在线观看av| 国产精品久久久久久久久久免费看| 高清av免费一区中文字幕| 天堂网免费视频| 欧美激情 亚洲a∨综合| 亚洲日本中文字幕免费在线不卡| 日韩精品aaa| 欧美aa视频| 夜夜亚洲天天久久| 亚洲 日韩 国产第一区| 亚洲免费不卡视频| 久久精品国产99国产精品| 欧美激情视频播放| 香蕉成人在线视频| 精品中文字幕一区二区三区av| 欧美精品电影在线播放| 日韩视频第二页| 日本片在线观看| 中文字幕的久久| 久久精品第九区免费观看| 国产美女明星三级做爰| 秋霞国产午夜精品免费视频| 97激碰免费视频| 欧美高清视频一区二区三区| 成人激情开心网| 日韩成人中文字幕| 久久精品aⅴ无码中文字字幕重口| 国产亚洲精品精品国产亚洲综合| 婷婷成人激情在线网| 91免费国产精品| 宅男在线观看免费高清网站| 国产精品免费免费| 色噜噜色狠狠狠狠狠综合色一| 欧美视频在线观看一区二区三区| 国产美女娇喘av呻吟久久| 国产欧美一区二区| 中文在线最新版天堂| 美女诱惑一区| 日本精品中文字幕| 国产婷婷色一区二区在线观看 | 亚洲电影中文字幕| 免费高清视频在线观看| 精品国产一区二| 欧美精品精品一区| 九色91porny| 国产精品日本一区二区三区在线| 欧美日韩成人综合天天影院 | 中文字幕欧美在线| 少妇视频在线播放| 日本久久一二三四| 色婷婷av一区二区三区在线观看| 亚洲色成人网站www永久四虎| 亚洲宅男一区| 国产亚洲激情视频在线| 丁香激情五月少妇| 天天超碰亚洲| 欧美激情乱人伦一区| 国产亚洲成人av| 亚洲黄色成人| 国产成人久久久| 最近中文字幕在线免费观看| 免费成人美女在线观看.| 国产日韩欧美电影在线观看| 国产精品无码AV| 高清国产一区二区| 久久久久高清| bbbbbbbbbbb在线视频| 国产精品久久久久久久久动漫| 亚洲一区二区三区精品视频| 国产精品久久麻豆| 亚洲夂夂婷婷色拍ww47| 日本a在线免费观看| 国产激情视频在线看| 欧美性感美女h网站在线观看免费| 国产最新免费视频| 国外成人福利视频| 欧美大片免费久久精品三p| 日韩片在线观看| 欧美艳星介绍134位艳星| 久久视频在线直播| 日本在线播放视频| 久久机这里只有精品| 亚洲品质自拍视频| 亚洲精品美女在线观看| 国产艳俗歌舞表演hd| 国产精品一区2区3区| 日韩中文字幕久久| 久久9999久久免费精品国产| 另类天堂av| 91久久久亚洲精品| 天天干天天舔天天射| 中文av一区特黄| 国产精品久久久久7777| 日韩高清在线| 精品免费国产一区二区三区四区| 欧美激情aaa| 欧美日本一区| 国产精品福利小视频| 亚洲av无码片一区二区三区| 2020国产精品自拍| 久久人妻无码一区二区| 日韩精品一区二区三区| 欧美一区二区三区在线看| 中文字幕高清视频| 欧美日韩亚洲一区三区| 国产精品免费网站| 日韩在线视频第一页| 中文字幕亚洲一区二区av在线| www..com日韩| 精品国产第一国产综合精品| 亚洲日本中文字幕| 99久在线精品99re8热| 精品一区二区在线播放| 欧美午夜精品久久久久久蜜| 色婷婷在线播放| 欧美日韩国产大片| 欧美人与性囗牲恔配| 99视频精品| 国产亚洲一区二区三区在线播放| 蜜桃av在线免费观看| 欧美在线综合视频| 亚洲第一香蕉网| 一区二区日韩免费看| 91久久爱成人| 八戒八戒神马在线电影| 精品视频一区 二区 三区| 瑟瑟视频在线观看| 亚洲中字在线| 精品麻豆av| 久久男人av资源站| 亚洲第五色综合网| 久久在线视频精品| 国产99久久久国产精品免费看 | 天天躁日日躁狠狠躁欧美| 欧美黑人巨大精品一区二区| 国产伦子伦对白视频| 国产精品你懂的在线欣赏| 亚洲污视频在线观看| 国产欧美日韩影院| 国产精品久久久久久av福利软件| 精品视频二区| 在线观看三级视频欧美| 91视频免费在观看| 欧美aaa在线| 亚洲一区二区精品在线| 国产精品亚洲欧美一级在线| 久久综合久久八八| 国产日韩欧美一区二区东京热| 最新日韩在线视频| 337p日本欧洲亚洲大胆张筱雨| 欧美视频福利| 国产在线一区二区三区四区 | 欧美午夜a级限制福利片| 91在线视频精品| 污污片在线免费视频| 精品裸体舞一区二区三区| 日本午夜小视频| 久久人人爽爽爽人久久久| 国产性生交xxxxx免费| 水蜜桃久久夜色精品一区| 成人黄色在线观看| 性欧美18一19内谢| www.av日韩| 亚洲综合清纯丝袜自拍| 精品国产午夜福利在线观看| 欧美日韩一区二区高清| 黑人另类av| 韩国女主播一区二区| 日韩一区二区久久久| 国产美女精品视频国产| 亚洲成人资源在线| 男人天堂av电影| 九九视频精品免费| av片在线免费| 国产探花在线精品一区二区| 欧美日韩亚洲成人| 中文字幕在线永久| 久久久国产亚洲精品| 中文字幕日韩一区二区三区 | 亚洲成人资源网| xxx在线播放| 久久99精品国产.久久久久 | 爱草tv视频在线观看992| 亚洲伦理中文字幕| 一区二区国产欧美| 岛国av一区二区| 国产免费美女视频| 99久久精品国产导航| 999在线观看| 一本久久知道综合久久| 亚洲一区影院| 色老板在线视频一区二区| 国产日韩欧美在线观看| xxxx成人| 日韩最新中文字幕电影免费看| 亚洲成人精品女人久久久| 91传媒视频在线播放| 久久97人妻无码一区二区三区| 久久久久九九视频| 久久精品无码专区| 美国一区二区三区在线播放 | 精品日韩一区二区三区| 在线观看你懂的网站| 亚洲高清在线精品| 日韩激情小视频| 国产一区二区三区四区五区传媒 | www.热久久| 在线中文字幕一区二区| 国产亚洲小视频| 国产精品久久久久永久免费观看| 波多野结衣影院| 国产精品18久久久久| 特级丰满少妇一级| 久久久久99| 5月婷婷6月丁香| 欧美亚洲不卡| 老司机午夜网站| 9999国产精品| 天堂一区二区三区| 中日韩免视频上线全都免费| 国产99在线免费| 久久久久亚洲精品中文字幕| 国产精品一区二区三区久久| 日韩成人av电影| 欧洲亚洲免费在线| 538视频在线| 久久久久中文字幕2018| 牛牛电影国产一区二区| 欧美理论电影在线观看| 国产盗摄在线观看| 久久亚洲影音av资源网 | 午夜欧美不卡精品aaaaa| 日本无删减在线| 欧美国产日产韩国视频| 在线网址91| 欧美超级乱淫片喷水| 中文字幕有码在线观看| 精品国内亚洲在观看18黄| 日本在线天堂| 按摩亚洲人久久| а√天堂在线官网| 欧美美女操人视频| 手机在线免费看av| 久久欧美在线电影| 欧美激情护士| 欧洲美女免费图片一区| 亚洲一区二区三区四区| 国产精品偷伦免费视频观看的| 成人午夜亚洲| 91亚洲午夜在线| 91成人精品在线| 久久久成人的性感天堂| 女人扒开腿免费视频app| 久久国产精品72免费观看| 一级黄色特级片| 久久超级碰碰| 国产视频在线观看一区| 欧美电影免费网站| 免费毛片一区二区三区久久久| 亚洲欧洲av| 亚洲午夜精品久久| 在线精品视频在线观看高清| 日韩一二区视频| 日韩午夜在线电影| 丰满爆乳一区二区三区| 日韩成人伦理电影在线观看| 亚洲精品综合在线观看| 国产成人免费av在线| 亚洲av无码成人精品国产| 国产精品视频一区二区三区不卡| 激情高潮到大叫狂喷水| 亚洲综合自拍偷拍| www五月天com| 777亚洲妇女| 污视频网站免费观看| 亚洲天堂第二页| a级影片在线观看| 欧美一区二区三区免费观看| 成人免费一区| 狠狠色噜噜狠狠狠狠色吗综合| 免费国产自久久久久三四区久久| 杨幂一区欧美专区| 亚洲经典在线看| 国产精品一区二区小说| 丰满少妇久久久久久久| 蜜臀久久99精品久久久久久| 夜夜嗨av一区二区三区四季av| 天堂中文在线网| 91精品国产入口| 你懂得网站在线| 欧美不卡视频一区发布| 亚洲承认视频| 国产精品一区二区不卡视频| 成人激情免费视频| 日韩欧美视频网站| 国产黄色精品视频| 人妻精品久久久久中文| 亚洲国产日韩a在线播放| 一区二区三区麻豆| 亚洲精品v欧美精品v日韩精品| 国产乱码精品一区二区| 亚洲精品电影久久久| 黄色片免费在线观看| 国产成人免费av| 国产精品丝袜在线播放| 致1999电视剧免费观看策驰影院| 国产亚洲毛片在线| 日韩精品xxx| 中文字幕亚洲电影| 无码aⅴ精品一区二区三区| 亚洲成av人影院在线观看| 国产欧美黑人| 国产乱肥老妇国产一区二 | 精精国产xxx在线视频app| 成人黄色av网站| 日韩精品网站| 日本熟妇人妻xxxxx| av在线播放不卡| 国产网友自拍视频| 欧美sm美女调教| 日韩少妇视频| 亚洲精品欧美一区二区三区| 欧美综合视频| 91蝌蚪视频在线观看| 26uuu另类欧美| 亚洲免费视频观看| 丁香在线视频| 国产成+人+综合+亚洲欧洲| 久久99国产精品久久99大师| 激情成人开心网| 国产原创一区二区| 久久国产波多野结衣| 欧美日韩精品免费| 1024国产在线| 国产精品爽黄69| 欧美日韩国产在线观看网站| 日本xxxxxxx免费视频| 久久亚洲综合色| 日本视频免费观看| 亚洲人成电影在线播放| 美女福利一区二区三区| 久久久精品动漫| 美女诱惑一区| 久久久久无码精品国产sm果冻| 在线精品观看国产| 国产乱视频在线观看| 国产精品麻豆va在线播放| av永久不卡| 国内外成人免费在线视频| 国产精品国产三级国产aⅴ原创| 人妻中文字幕一区二区三区| 中文字幕欧美精品在线 | 91精品久久久久久久久中文字幕 | 激情婷婷综合网| 国产亚洲欧美一区在线观看| 中文字幕在线观看1| 久久视频在线看| 九九热播视频在线精品6| 国产深夜男女无套内射| 久久综合久久综合久久| 亚洲天堂手机在线| 欧美日本高清一区| 性欧美xxxx免费岛国不卡电影| 凹凸日日摸日日碰夜夜爽1| 国产精品国产三级国产aⅴ入口| 国产农村妇女毛片精品| 韩国福利视频一区| 欧洲美女日日| 夜夜爽久久精品91| 亚洲成人精品一区二区| 免费理论片在线观看播放老| 国产精品视频26uuu| 欧美日韩精品一本二本三本 | 国产一区二区三区电影在线观看 | 尤物在线观看一区| 三级无遮挡在线观看| 国产免费成人av| 欧美午夜在线视频| 国产黄色大片免费看| 日韩欧美中文字幕公布| 中文在线免费视频| 伊人久久青草| av电影天堂一区二区在线| 黄色一区二区视频| 欧美精品videosex性欧美| 欧美日韩国产一区二区三区不卡| 国产裸体视频网站| 在线观看中文字幕不卡| 在线播放免费av| 日本在线播放一区| 国产成人精品免费|