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

好友關(guān)系,百億關(guān)系鏈,架構(gòu)要如何設(shè)計(jì)?

開發(fā) 架構(gòu)
大數(shù)據(jù)量,高并發(fā)量,好友關(guān)系鏈、粉絲關(guān)系鏈要如何設(shè)計(jì)?數(shù)據(jù)冗余,是多對(duì)多關(guān)系,在數(shù)據(jù)量大時(shí),數(shù)據(jù)水平切分的常用實(shí)踐。

繼續(xù)答星球粉絲提問,大數(shù)據(jù)量,高并發(fā)量,好友關(guān)系鏈、粉絲關(guān)系鏈要如何設(shè)計(jì)?

什么是關(guān)系鏈業(yè)務(wù)?

關(guān)系鏈主要分為兩類,弱好友關(guān)系與強(qiáng)好友關(guān)系,兩類都有典型的互聯(lián)網(wǎng)產(chǎn)品應(yīng)用。

(1) 弱好友關(guān)系的建立,不需要雙方彼此同意:

  • 用戶A關(guān)注用戶B,不需要用戶B同意,此時(shí)用戶A與用戶B為弱好友關(guān)系,對(duì)A而言,暫且理解為“關(guān)注”;
  • 用戶B關(guān)注用戶A,也不需要用戶A同意,此時(shí)用戶A與用戶B也為弱好友關(guān)系,對(duì)A而言,暫且理解為“粉絲”;

idol與fans這類微博粉絲關(guān)系鏈,是一個(gè)典型的弱好友關(guān)系應(yīng)用。

(2) 強(qiáng)好友關(guān)系的建立,需要好友關(guān)系雙方彼此同意:

用戶A請(qǐng)求添加用戶B為好友,用戶B同意,此時(shí)用戶A與用戶B則互為強(qiáng)好友關(guān)系,即A是B的好友,B也是A的好友。

QQ好友關(guān)系鏈,是一個(gè)典型的強(qiáng)好友關(guān)系應(yīng)用。

好友中心是一個(gè)典型的多對(duì)多業(yè)務(wù):

  • 一個(gè)用戶可以添加多個(gè)好友;
  • 也可以被多個(gè)好友添加;

其典型架構(gòu)為:

  • friend-service:好友中心服務(wù),對(duì)調(diào)用者提供友好的RPC接口;
  • db:對(duì)好友數(shù)據(jù)進(jìn)行存儲(chǔ);

弱好友關(guān)系,存儲(chǔ)層應(yīng)該如何實(shí)現(xiàn)?

通過弱好友關(guān)系業(yè)務(wù)分析,很容易了解到,其核心元數(shù)據(jù)為:

  • guanzhu(uid, guanzhu_uid);
  • fensi(uid, fensi_uid);

其中:

  • guanzhu表,用戶記錄uid所有關(guān)注用戶guanzhu_uid;
  • fensi表,用來記錄uid所有粉絲用戶fensi_uid;

需要強(qiáng)調(diào)的是,一條弱關(guān)系的產(chǎn)生,會(huì)產(chǎn)生兩條記錄,一條關(guān)注記錄,一條粉絲記錄。

例如:用戶A(uid=1)關(guān)注了用戶B(uid=2),A多關(guān)注了一個(gè)用戶,B多了一個(gè)粉絲,于是:

  • guanzhu表要插入{1, 2}這一條記錄,1關(guān)注了2;
  • fensi表要插入{2, 1}這一條記錄,2粉了1;

如何查詢一個(gè)用戶關(guān)注了誰?

回答:在guanzhu的uid上建立索引:

select * from guanzhu where uid=1;

即可得到結(jié)果,1關(guān)注了2。

如何查詢一個(gè)用戶粉了誰?

回答:在fensi的uid上建立索引:

select * from fensi where uid=2;

即可得到結(jié)果,2粉了1。

強(qiáng)好友關(guān)系,存儲(chǔ)層應(yīng)該如何實(shí)現(xiàn)?

(1) 方案一

通過強(qiáng)好友關(guān)系業(yè)務(wù)分析,很容易了解到,其核心元數(shù)據(jù)為:

friend(uid1, uid2);

其中:

  • uid1,強(qiáng)好友關(guān)系中一方的uid;
  • uid2,強(qiáng)好友關(guān)系中另一方的uid;

uid=1的用戶添加了uid=2的用戶,雙方都同意加彼此為好友,這個(gè)強(qiáng)好友關(guān)系,在數(shù)據(jù)庫中應(yīng)該插入記錄{1, 2}還是記錄{2,1}呢?

回答:都可以。為了避免歧義,可以人為約定,插入記錄時(shí)uid1的值必須小于uid2。

例如:有uid=1,2,3三個(gè)用戶,他們互為強(qiáng)好友關(guān)系,那邊數(shù)據(jù)庫中可能是這樣的三條記錄

{1, 2}
{2, 3}
{1, 3}

如何查詢一個(gè)用戶的好友呢?

回答:假設(shè)要查詢uid=2的所有好友,只需在uid1和uid2上建立索引,然后:

select * from friend where uid1=2
union
select * from friend where uid2=2

即可得到結(jié)果。

(2) 方案二

強(qiáng)好友關(guān)系是弱好友關(guān)系的一個(gè)特例,A和B必須互為關(guān)注關(guān)系(也可以說,同時(shí)互為粉絲關(guān)系),即也可以使用關(guān)注表和粉絲表來實(shí)現(xiàn):

  • guanzhu(uid, guanzhu_uid);
  • fensi(uid, fensi_uid);

例如:用戶A(uid=1)和用戶B(uid=2)為強(qiáng)好友關(guān)系,即相互關(guān)注:

用戶A(uid=1)關(guān)注了用戶B(uid=2),A多關(guān)注了一個(gè)用戶,B多了一個(gè)粉絲,于是:

  • guanzhu表要插入{1, 2}這一條記錄;
  • fensi表要插入{2, 1}這一條記錄;

同時(shí),用戶B(uid=2)也關(guān)注了用戶A(uid=1),B多關(guān)注了一個(gè)用戶,A多了一個(gè)粉絲,于是:

  • guanzhu表要插入{2, 1}這一條記錄;
  • fensi表要插入{1, 2}這一條記錄;

兩種實(shí)現(xiàn),各有什么優(yōu)缺點(diǎn)?

對(duì)于強(qiáng)好友關(guān)系的兩類實(shí)現(xiàn):

  • friend(uid1, uid2)表;
  • 數(shù)據(jù)冗余guanzhu表與fensi表(后文稱正表T1與反表T2);

在數(shù)據(jù)量小時(shí),看似無差異,但數(shù)據(jù)量大時(shí),數(shù)據(jù)冗余的優(yōu)勢(shì)就體現(xiàn)出來了:

  • friend表,數(shù)據(jù)量大時(shí),如果使用uid1來分庫,那么uid2上的查詢就需要遍歷多庫;
  • 正表T1與反表T2通過數(shù)據(jù)冗余來實(shí)現(xiàn)好友關(guān)系,{1,2}{2,1}分別存在于兩表中,故兩個(gè)表都使用uid來分庫,均只需要進(jìn)行一次查詢,就能找到對(duì)應(yīng)的關(guān)注與粉絲,而不需要多個(gè)庫掃描;

畫外音:假如有10億關(guān)系鏈,必須水平切分。

數(shù)據(jù)冗余,是多對(duì)多關(guān)系,在數(shù)據(jù)量大時(shí),數(shù)據(jù)水平切分的常用實(shí)踐。

如何進(jìn)行數(shù)據(jù)冗余?

接下來的問題轉(zhuǎn)化為,好友中心服務(wù)如何來進(jìn)行數(shù)據(jù)冗余,常見有三種方法。

(1) 方法一:服務(wù)同步冗余。

顧名思義,由好友中心服務(wù)同步寫冗余數(shù)據(jù),如上圖1-4流程:

  • 業(yè)務(wù)方調(diào)用服務(wù),新增數(shù)據(jù);
  • 服務(wù)先插入T1數(shù)據(jù);
  • 服務(wù)再插入T2數(shù)據(jù);
  • 服務(wù)返回業(yè)務(wù)方新增數(shù)據(jù)成功;

優(yōu)點(diǎn):

  • 不復(fù)雜,服務(wù)層由單次寫,變兩次寫;
  • 數(shù)據(jù)一致性相對(duì)較高(因?yàn)殡p寫成功才返回);

缺點(diǎn):

  • 請(qǐng)求的處理時(shí)間增加(要插入次,時(shí)間加倍);
  • 數(shù)據(jù)仍可能不一致,例如第二步寫入T1完成后服務(wù)重啟,則數(shù)據(jù)不會(huì)寫入T2;

如果系統(tǒng)對(duì)處理時(shí)間比較敏感,引出常用的第二種方案。

(2) 方法二:服務(wù)異步冗余。

數(shù)據(jù)的雙寫并不再由好友中心服務(wù)來完成,服務(wù)層異步發(fā)出一個(gè)消息,通過消息總線發(fā)送給一個(gè)專門的數(shù)據(jù)復(fù)制服務(wù)來寫入冗余數(shù)據(jù),如上圖1-6流程:

  • 業(yè)務(wù)方調(diào)用服務(wù),新增數(shù)據(jù);
  • 服務(wù)先插入T1數(shù)據(jù);
  • 服務(wù)向消息總線發(fā)送一個(gè)異步消息(發(fā)出即可,不用等返回,通常很快就能完成);
  • 服務(wù)返回業(yè)務(wù)方新增數(shù)據(jù)成功;
  • 消息總線將消息投遞給數(shù)據(jù)同步中心;
  • 數(shù)據(jù)同步中心插入T2數(shù)據(jù);

優(yōu)點(diǎn):請(qǐng)求處理時(shí)間短(只插入1次)。

缺點(diǎn):

  • 系統(tǒng)的復(fù)雜性增加了,多引入了一個(gè)組件(消息總線)和一個(gè)服務(wù)(專用的數(shù)據(jù)復(fù)制服務(wù));
  • 因?yàn)榉祷貥I(yè)務(wù)線數(shù)據(jù)插入成功時(shí),數(shù)據(jù)還不一定插入到T2中,因此數(shù)據(jù)有一個(gè)不一致時(shí)間窗口(這個(gè)窗口很短,最終是一致的);
  • 在消息總線丟失消息時(shí),冗余表數(shù)據(jù)會(huì)不一致;

如果想解除“數(shù)據(jù)冗余”對(duì)系統(tǒng)的耦合,引出常用的第三種方案。

(3) 方法三:線下異步冗余。

數(shù)據(jù)的雙寫不再由好友中心服務(wù)來完成,而是由線下的一個(gè)服務(wù)或者任務(wù)來完成,如上圖1-6流程:

  • 業(yè)務(wù)方調(diào)用服務(wù),新增數(shù)據(jù);
  • 服務(wù)先插入T1數(shù)據(jù);
  • 服務(wù)返回業(yè)務(wù)方新增數(shù)據(jù)成功;
  • 數(shù)據(jù)會(huì)被寫入到數(shù)據(jù)庫的log中;
  • 線下服務(wù)或者任務(wù)讀取數(shù)據(jù)庫的log;
  • 線下服務(wù)或者任務(wù)插入T2數(shù)據(jù);

優(yōu)點(diǎn):

  • 數(shù)據(jù)雙寫與業(yè)務(wù)完全解耦;
  • 請(qǐng)求處理時(shí)間短(只插入1次);

缺點(diǎn):

  • 返回業(yè)務(wù)線數(shù)據(jù)插入成功時(shí),數(shù)據(jù)還不一定插入到T2中,因此數(shù)據(jù)有一個(gè)不一致時(shí)間窗口(這個(gè)窗口很短,最終是一致的);
  • 數(shù)據(jù)的一致性依賴于線下服務(wù)或者任務(wù)的可靠性;

上述三種方案各有優(yōu)缺點(diǎn),可以結(jié)合實(shí)際情況選取。

數(shù)據(jù)冗余固然能夠解決多對(duì)多關(guān)系的數(shù)據(jù)庫水平切分問題,但又帶來了新的問題,如何保證正表T1與反表T2的數(shù)據(jù)一致性呢?

從上面的討論可以看到,不管哪種方案,因?yàn)閮刹讲僮鞑荒鼙WC原子性,總有出現(xiàn)數(shù)據(jù)不一致的可能,高吞吐分布式事務(wù)是業(yè)內(nèi)尚未解決的難題,此時(shí)的架構(gòu)優(yōu)化方向:最終一致性。并不是完全保證數(shù)據(jù)的實(shí)時(shí)一致,而是盡早的發(fā)現(xiàn)不一致,并修復(fù)不一致。

最終一致性,是高吞吐互聯(lián)網(wǎng)業(yè)務(wù)一致性的常用實(shí)踐。更具體的,保證數(shù)據(jù)最終一致性的常見方案有三種。

(1) 方法一:線下掃描正反冗余表全部數(shù)據(jù)。

如上圖所示,線下啟動(dòng)一個(gè)離線的掃描工具,不停的比對(duì)正表T1和反表T2,如果發(fā)現(xiàn)數(shù)據(jù)不一致,就進(jìn)行補(bǔ)償修復(fù)。

優(yōu)點(diǎn):

  • 比較簡(jiǎn)單,開發(fā)代價(jià)小;
  • 線上服務(wù)無需修改,修復(fù)工具與線上服務(wù)解耦;

缺點(diǎn):

  • 掃描效率低,會(huì)掃描大量的“已經(jīng)能夠保證一致”的數(shù)據(jù);
  • 由于掃描的數(shù)據(jù)量大,掃描一輪的時(shí)間比較長(zhǎng),即數(shù)據(jù)如果不一致,不一致的時(shí)間窗口比較長(zhǎng);

有沒有只掃描“可能存在不一致可能性”的數(shù)據(jù),而不是每次掃描全部數(shù)據(jù),以提高效率的優(yōu)化方法呢?

(2) 方法二:線下掃描增量數(shù)據(jù)。

每次只掃描增量的日志數(shù)據(jù),就能夠極大提高效率,縮短數(shù)據(jù)不一致的時(shí)間窗口,如上圖1-4流程所示:

  • 寫入正表T1;
  • 第一步成功后,寫入日志log1;
  • 寫入反表T2;
  • 第二步成功后,寫入日志log2;

當(dāng)然,我們還是需要一個(gè)離線的掃描工具,不停地比對(duì)日志log1和日志log2,如果發(fā)現(xiàn)數(shù)據(jù)不一致,就進(jìn)行補(bǔ)償修復(fù)。

優(yōu)點(diǎn):

  • 雖比方法一復(fù)雜,但仍然是比較簡(jiǎn)單的;
  • 數(shù)據(jù)掃描效率高,只掃描增量數(shù)據(jù);

缺點(diǎn):

  • 線上服務(wù)略有修改(代價(jià)不高,多寫了2條日志);
  • 雖然比方法一更實(shí)時(shí),但時(shí)效性還是不高,不一致窗口取決于掃描的周期;

有沒有實(shí)時(shí)檢測(cè)一致性并進(jìn)行修復(fù)的方法呢?

(3) 方法三:實(shí)時(shí)線上“消息對(duì)”檢測(cè)

這次不是寫日志了,而是向消息總線發(fā)送消息,如上圖1-4流程所示:

  • 寫入正表T1;
  • 第一步成功后,發(fā)送消息msg1;
  • 寫入反表T2;
  • 第二步成功后,發(fā)送消息msg2;

這次不是需要一個(gè)周期掃描的離線工具了,而是一個(gè)實(shí)時(shí)訂閱消息的服務(wù)不停的收消息。

假設(shè)正常情況下,msg1和msg2的接收時(shí)間應(yīng)該在3s以內(nèi),如果檢測(cè)服務(wù)在收到msg1后沒有收到msg2,就嘗試檢測(cè)數(shù)據(jù)的一致性,不一致時(shí)進(jìn)行補(bǔ)償修復(fù)。

優(yōu)點(diǎn):效率高,實(shí)時(shí)性高。

缺點(diǎn):

  • 方案比較復(fù)雜,上線引入了消息總線這個(gè)組件;
  • 線下多了一個(gè)訂閱總線的檢測(cè)服務(wù);

however,技術(shù)方案本身就是一個(gè)投入產(chǎn)出比的折衷,可以根據(jù)業(yè)務(wù)對(duì)一致性的需求程度決定使用哪一種方法。

總結(jié)

(1) 關(guān)系鏈業(yè)務(wù)是一個(gè)典型的多對(duì)多關(guān)系,又分為強(qiáng)好友與弱好友;

(2) 數(shù)據(jù)冗余是一個(gè)常見的多對(duì)多業(yè)務(wù)數(shù)據(jù)水平切分實(shí)踐;

(3) 冗余數(shù)據(jù)的常見方案有三種:

  • 服務(wù)同步冗余;
  • 服務(wù)異步冗余;
  • 線下異步冗余;

(4) 數(shù)據(jù)冗余會(huì)帶來一致性問題,高吞吐互聯(lián)網(wǎng)業(yè)務(wù),要想完全保證事務(wù)一致性很難,常見的實(shí)踐是最終一致性。

(5) 最終一致性的常見實(shí)踐是,盡快找到不一致,并修復(fù)數(shù)據(jù),常見方案有三種:

  • 線下全量掃描法;
  • 線下增量掃描法;
  • 線上實(shí)時(shí)檢測(cè)法;

百億關(guān)系鏈架構(gòu)設(shè)計(jì)要點(diǎn),你學(xué)廢了嗎?

知其然,知其所以然。

思路比結(jié)論更重要。

責(zé)任編輯:趙寧寧 來源: 架構(gòu)師之路
相關(guān)推薦

2023-06-06 14:01:05

關(guān)系鏈架構(gòu)數(shù)據(jù)庫

2019-08-20 00:39:28

數(shù)據(jù)存儲(chǔ)層冗余

2009-06-22 16:34:30

框架架構(gòu)設(shè)計(jì)模式

2015-05-12 11:32:20

2019-08-23 11:58:07

Java框架架構(gòu)

2022-11-21 09:57:18

網(wǎng)關(guān)系統(tǒng)

2012-11-23 09:32:20

新浪微博微信

2020-01-17 11:00:23

流量系統(tǒng)架構(gòu)

2018-05-17 10:10:17

架構(gòu)設(shè)計(jì)優(yōu)化

2025-05-28 01:20:00

MCPRAGAgent

2015-04-16 14:24:56

Hadoop云計(jì)算HDFS

2024-06-06 16:50:15

2013-08-06 09:35:20

視覺設(shè)計(jì)UI設(shè)計(jì)設(shè)計(jì)

2022-07-21 08:00:00

京東數(shù)據(jù)存儲(chǔ)汽車行業(yè)

2012-07-02 14:39:59

架構(gòu)敏捷

2013-11-01 10:51:10

OSPF鄰居鄰接

2018-06-08 09:48:52

緩存架構(gòu)設(shè)計(jì)

2010-06-29 13:11:40

UML類圖依賴關(guān)系

2023-11-02 09:59:53

C++設(shè)計(jì)模式

2022-12-27 08:38:45

關(guān)系型數(shù)據(jù)庫設(shè)計(jì)
點(diǎn)贊
收藏

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

日韩三级影视| 日韩永久免费视频| 一区二区三区四区电影| 精品福利在线导航| 日韩av资源在线| 日本高清中文字幕在线| 国产91精品一区二区麻豆网站| 国语自产在线不卡| 日韩一级av毛片| 日本亚州欧洲精品不卡| 岛国av一区二区在线在线观看| 性刺激综合网| 色婷婷在线视频| 免费在线观看一区二区三区| 欧美激情视频给我| 日本综合在线观看| 成人福利一区| 欧美亚洲丝袜传媒另类| 99久久久精品视频| 国产视频精品久久| 成熟亚洲日本毛茸茸凸凹| 国产精品日韩欧美大师| 中文字幕一区二区三区精品 | 久久久久久久久久一区二区三区| 美女久久久久| 精品国产乱码久久久久久免费| 热久久精品免费视频| av资源一区| 亚洲免费看黄网站| 亚洲人成77777| 人人九九精品| 不卡电影一区二区三区| 亚洲精品日产aⅴ| 中文字幕精品无码亚| 亚洲国内欧美| 欧美国产在线电影| 国产免费美女视频| 欧美r级电影| 亚洲精品自拍偷拍| 黄色国产在线视频| 秋霞一区二区三区| 宅男在线国产精品| 亚洲一区精品视频在线观看| 伊人久久高清| 91福利精品第一导航| 欧美网站免费观看| 黄色激情在线播放| 亚洲va中文字幕| 美女扒开大腿让男人桶| 新版中文在线官网| 亚洲精品日韩专区silk | 黄色成人91| 久久久国产成人精品| 国产18无套直看片| 精品理论电影| 国产亚洲人成a一在线v站| 免费毛片视频网站| blacked蜜桃精品一区| 国产亚洲激情视频在线| 久久成人激情视频| 欧美精品一区二区三区精品| 国产亚洲精品久久久久久777| 欧美大波大乳巨大乳| 精品免费av| 综合国产在线视频| 四虎884aa成人精品| 欧美丰满老妇| 免费97视频在线精品国自产拍| 婷婷色中文字幕| 欧美色图首页| 2019中文字幕在线| 亚洲欧美日韩一区二区三区四区| 日本欧洲一区二区| 亚洲va欧美va国产综合久久| 超碰在线人人干| www.亚洲色图.com| 欧美日韩综合网| 秋霞影院午夜丰满少妇在线视频| 亚洲人一二三区| 老子影院午夜伦不卡大全| 19禁羞羞电影院在线观看| 欧美视频二区36p| 国产喷水theporn| 日韩一区网站| 精品调教chinesegay| 国产精品无码无卡无需播放器| 一区二区三区四区在线观看国产日韩 | 99久久99久久精品| 97超碰免费在线| 欧美曰成人黄网| 欧美污在线观看| 亚洲婷婷伊人| 欧美另类在线播放| 麻豆成人免费视频| 国产麻豆精品视频| 久久99精品久久久久久秒播放器 | 97精品视频在线观看| 亚洲欧美日韩一区二区三区四区| 国产精品白丝jk黑袜喷水| 久久资源av| 国产激情在线视频| 懂色av一区二区三区| 国产成人美女视频| 午夜先锋成人动漫在线| 久久久国产视频91| 色av性av丰满av| 国产超碰在线一区| 色综合影院在线观看| gogo久久| 717成人午夜免费福利电影| 亚洲第九十七页| 欧美在线二区| 国产精品影片在线观看| 日本中文字幕电影在线观看| 曰韩精品一区二区| 91色国产在线| 小嫩嫩12欧美| 久久久久久久久久久久久久久久久久av| 成人午夜精品视频| 99精品偷自拍| 成年人看的毛片| 日韩高清一区| 日韩视频免费在线| 国产精品xxxxxx| 久久人人爽爽爽人久久久| 成人午夜免费在线视频| 亚洲香蕉久久| 最近2019年手机中文字幕| 天天综合网久久综合网| 成人网在线播放| 日本天堂免费a| 亚洲人体在线| 久久久精品999| 91极品身材尤物theporn| 国产日产欧美一区二区三区 | 欧美高清视频一区二区三区| 免费欧美在线视频| 日产国产精品精品a∨| 亚洲精华液一区二区三区| 精品国产伦一区二区三区免费| 成人自拍小视频| 久久av资源网| 日本黄色a视频| 欧美视频在线视频精品| 一区二区三区美女xx视频| 在线永久看片免费的视频| 99精品偷自拍| 欧美日韩在线不卡视频| 精品在线99| 国产成人精品久久二区二区| 亚州av在线播放| 色综合久久综合网欧美综合网| 国产精品久久久免费观看| av成人黄色| 欧美日韩精品免费在线观看视频| 不卡一二三区| 国产亚洲综合久久| 亚洲一二区视频| 亚洲精品视频自拍| 尤物网站在线观看| 久久精品综合| 亚洲午夜激情| 国产高清日韩| 久久久久久尹人网香蕉| 天天综合在线视频| 一本一本久久a久久精品综合麻豆| 熟女俱乐部一区二区视频在线| 乱码第一页成人| 天堂精品一区二区三区| 亚洲美女色播| 久久久久久免费精品| 欧美一区二区少妇| 欧美在线视频你懂得| 免费看特级毛片| av综合在线播放| 国产黄色特级片| 91视频久久| 国产伦精品一区二区三区视频免费| 日韩脚交footjobhd| 在线观看国产精品日韩av| 国产又粗又猛视频| 亚洲电影在线播放| 永久免费毛片在线观看| 国产精品99久久久久久宅男| 极品粉嫩国产18尤物| 红桃成人av在线播放| 666精品在线| 爱情电影社保片一区| 久久精品国产2020观看福利| 日本久久一级片| 欧美性大战久久久久久久蜜臀| www.av免费| 久久综合999| 天堂av手机在线| 久久不射2019中文字幕| 一级特黄妇女高潮| 欧美理论电影大全| 国产伦精品一区二区三毛| 欧美xxxx性| 欧美中文字幕视频在线观看| 麻豆av在线导航| 亚洲男人的天堂在线播放| 国产三级三级在线观看| 日韩欧美在线第一页| 青青草免费av| 中文字幕av免费专区久久| 中文字幕人妻一区二区三区| 久久国产精品一区二区| 国产精品视频一区二区三区四区五区| 91精品国产91久久久久久密臀| 欧美精品一区二区三区久久| 视频一区中文字幕精品| 国产精品黄色影片导航在线观看| 女人天堂av在线播放| www.日韩.com| 番号在线播放| 日韩激情在线视频| 国产99久久九九精品无码免费| 一本大道久久a久久综合婷婷| 久久久精品人妻一区二区三区四| 欧美国产一区视频在线观看| 久久无码人妻精品一区二区三区| 国产精品自在在线| 久久婷五月综合| 天堂一区二区在线| 黄色网页免费在线观看| 韩国亚洲精品| 国产手机视频在线观看| 波多野结衣在线播放一区| 欧美日韩国产不卡在线看| 好吊妞视频这里有精品 | 欧美a大片欧美片| 风间由美久久久| 精品一区91| 成人欧美一区二区三区在线湿哒哒| 精品国模一区二区三区| 日韩av手机在线看| 一区二区电影免费观看| 97精品欧美一区二区三区| 高清在线视频不卡| 国自在线精品视频| 黄污视频在线观看| 欧美国产日本高清在线 | 黄网站免费在线观看| 自拍偷拍亚洲区| 天堂地址在线www| 日韩视频免费在线| gogo在线高清视频| 精品中文字幕在线观看| 亚洲丝袜精品| 韩国国内大量揄拍精品视频| 678在线观看视频| 91av国产在线| 欧美三级精品| 国产欧美日韩中文字幕在线| 色999久久久精品人人澡69| 成人精品视频99在线观看免费 | 欧美一区日本一区韩国一区| h狠狠躁死你h高h| 精品三级在线观看| 无码精品一区二区三区在线 | 欧美激情aaa| 国产精品每日更新| 成年人二级毛片| 亚洲一本大道在线| 亚洲国产成人精品激情在线| 岛国av午夜精品| 在线免费观看一区二区| 日韩午夜在线观看视频| 日本加勒比一区| 国产一区二区三区精品久久久| 欧美激情午夜| 欧美国产日本高清在线| 性欧美18xxxhd| 国产欧美 在线欧美| 亚洲综合色婷婷在线观看| 久久久影院一区二区三区| jlzzjlzz亚洲女人| 99热这里只有精品7| 亚洲精品影院在线观看| 国产三级日本三级在线播放| 精品一区二区三区的国产在线播放 | 亚洲成人av片在线观看| 亚洲av成人无码网天堂| 中文字幕亚洲一区| 大香伊人久久| 国产精品美女主播| 一区二区三区亚洲变态调教大结局 | 亚洲在线观看av| 精品av综合导航| 欧洲日本在线| 欧美一区二区三区精品电影| 亚洲三级在线| 欧美日韩日本网| 欧美精品九九| 成年人在线观看视频免费| 国产jizzjizz一区二区| 337人体粉嫩噜噜噜| 亚洲成人动漫精品| 97成人免费视频| 精品偷拍各种wc美女嘘嘘| gogo在线高清视频| 国产精品久久999| 久久精品国产亚洲5555| 中国成人在线视频| 免费视频一区二区三区在线观看| 在线视频日韩欧美| 国产日韩成人精品| 中文字幕激情小说| 日韩视频一区二区三区在线播放| 国产乱子伦三级在线播放| 久久久久久综合网天天| 亚洲综合视频| 日韩电影免费观看在| 在线亚洲成人| 久久久久无码国产精品一区李宗瑞| 中文在线一区二区| 精品人妻一区二区色欲产成人| 欧美成va人片在线观看| 麻豆视频在线免费观看| 国产成人一区二| 日韩啪啪网站| 国产九九九九九| 成人丝袜视频网| 久久精品视频免费在线观看| 正在播放一区二区| 日本视频在线免费观看| 国产精品第8页| 亚洲精品国模| 黄色影院一级片| caoporn国产精品| 日本一级一片免费视频| 亚洲精品一区二区三区蜜桃下载| 99热国产在线中文| 91九色单男在线观看| 天天射成人网| 免费黄频在线观看| 亚洲手机成人高清视频| 国产精品福利电影| 久久色免费在线视频| 四虎影视国产精品| 一区二区视频在线观看| 精品一区二区综合| 黄色一级片中国| 欧美成人女星排行榜| 欧美巨大xxxx做受沙滩| 成人午夜电影在线播放| 亚洲激情黄色| 国产三级国产精品| 91国在线观看| 川上优的av在线一区二区| 国产精品女视频| 999精品一区| ass极品水嫩小美女ass| 一区二区三区日韩精品| 成人午夜视频一区二区播放| 午夜精品久久久久久久久久久久| 理论片一区二区在线| 奇米精品一区二区三区| 久久色视频免费观看| 糖心vlog精品一区二区| 久久精品免费电影| 97一区二区国产好的精华液| 黄色网页免费在线观看| 国产天堂亚洲国产碰碰| 一级特黄aa大片| 欧美大荫蒂xxx| 日韩激情毛片| 亚洲一区在线不卡| 亚洲另类一区二区| 亚洲福利在线观看视频| 欧美亚洲视频在线看网址| 精品欧美激情在线观看| 国产免费中文字幕| 亚洲图片有声小说| 久久经典视频| 91视频网页| 久久午夜电影| 永久久久久久久| 日韩av综合网| 婷婷久久免费视频| 国产h视频在线播放| 亚洲国产成人在线| 亚洲精品一区二区三区不卡| 欧美在线观看日本一区| 亚洲一区色图| 无码人妻aⅴ一区二区三区 | 亚洲一区二区在线播放相泽| 手机福利在线| 国产精品自产拍在线观看| 精品69视频一区二区三区Q| 受虐m奴xxx在线观看| 欧美一级欧美三级在线观看| 樱桃视频成人在线观看| 日本精品免费视频| 久久亚洲影视婷婷| 超碰在线人人干| 国产伊人精品在线| 噜噜噜躁狠狠躁狠狠精品视频 | 久热精品在线|