亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

MongoDB復(fù)制集原理是什么?一文帶你看明白

2024-09-07 00:22:33
字體:
供稿:網(wǎng)友
       這篇文章帶大家深入了解MongoDB復(fù)制集原理,文本有詳細(xì)的介紹以及示例,對(duì)于MongoDB復(fù)制集不是很清楚的朋友可以參考參考,接下來我們就一起來看看MongoDB復(fù)制集原理。
 
       復(fù)制集簡(jiǎn)介
       Mongodb復(fù)制集由一組Mongod實(shí)例(進(jìn)程)組成,包含一個(gè)Primary節(jié)點(diǎn)和多個(gè)Secondary節(jié)點(diǎn),Mongodb Driver(客戶端)的所有數(shù)據(jù)都寫入Primary,Secondary從Primary同步寫入的數(shù)據(jù),以保持復(fù)制集內(nèi)所有成員存儲(chǔ)相同的數(shù)據(jù)集,提供數(shù)據(jù)的高可用。
 
       下圖(圖片源于Mongodb官方文檔)是一個(gè)典型的Mongdb復(fù)制集,包含一個(gè)Primary節(jié)點(diǎn)和2個(gè)Secondary節(jié)點(diǎn)。
 
       Primary選舉
 
       復(fù)制集通過replSetInitiate命令(或mongo shell的rs.initiate())進(jìn)行初始化,初始化后各個(gè)成員間開始發(fā)送心跳消息,并發(fā)起Priamry選舉操作,獲得『大多數(shù)』成員投票支持的節(jié)點(diǎn),會(huì)成為Primary,其余節(jié)點(diǎn)成為Secondary。
 
       初始化復(fù)制集
 
config = {
  _id : "my_replica_set",
  members : [
     {_id : 0, host : "rs1.example.net:27017"},
     {_id : 1, host : "rs2.example.net:27017"},
     {_id : 2, host : "rs3.example.net:27017"},
  ]
}
 
rs.initiate(config)
 
       『大多數(shù)』的定義
 
       假設(shè)復(fù)制集內(nèi)投票成員(后續(xù)介紹)數(shù)量為N,則大多數(shù)為 N/2 + 1,當(dāng)復(fù)制集內(nèi)存活成員數(shù)量不足大多數(shù)時(shí),整個(gè)復(fù)制集將無法選舉出Primary,復(fù)制集將無法提供寫服務(wù),處于只讀狀態(tài)。
 
投票成員數(shù) 大多數(shù) 容忍失效數(shù)
1 1 0
2 2 0
3 2 1
4 3 1
5 3 2
6 4 2
7 4 3
 
       通常建議將復(fù)制集成員數(shù)量設(shè)置為奇數(shù),從上表可以看出3個(gè)節(jié)點(diǎn)和4個(gè)節(jié)點(diǎn)的復(fù)制集都只能容忍1個(gè)節(jié)點(diǎn)失效,從『服務(wù)可用性』的角度看,其效果是一樣的。(但無疑4個(gè)節(jié)點(diǎn)能提供更可靠的數(shù)據(jù)存儲(chǔ))
 
       特殊的Secondary
       正常情況下,復(fù)制集的Seconary會(huì)參與Primary選舉(自身也可能會(huì)被選為Primary),并從Primary同步最新寫入的數(shù)據(jù),以保證與Primary存儲(chǔ)相同的數(shù)據(jù)。
 
       Secondary可以提供讀服務(wù),增加Secondary節(jié)點(diǎn)可以提供復(fù)制集的讀服務(wù)能力,同時(shí)提升復(fù)制集的可用性。另外,Mongodb支持對(duì)復(fù)制集的Secondary節(jié)點(diǎn)進(jìn)行靈活的配置,以適應(yīng)多種場(chǎng)景的需求。
 
       Arbiter
       Arbiter節(jié)點(diǎn)只參與投票,不能被選為Primary,并且不從Primary同步數(shù)據(jù)。
 
       比如你部署了一個(gè)2個(gè)節(jié)點(diǎn)的復(fù)制集,1個(gè)Primary,1個(gè)Secondary,任意節(jié)點(diǎn)宕機(jī),復(fù)制集將不能提供服務(wù)了(無法選出Primary),這時(shí)可以給復(fù)制集添加一個(gè)Arbiter節(jié)點(diǎn),即使有節(jié)點(diǎn)宕機(jī),仍能選出Primary。
 
       Arbiter本身不存儲(chǔ)數(shù)據(jù),是非常輕量級(jí)的服務(wù),當(dāng)復(fù)制集成員為偶數(shù)時(shí),最好加入一個(gè)Arbiter節(jié)點(diǎn),以提升復(fù)制集可用性。
 
       Priority0
       Priority0節(jié)點(diǎn)的選舉優(yōu)先級(jí)為0,不會(huì)被選舉為Primary
 
       比如你跨機(jī)房A、B部署了一個(gè)復(fù)制集,并且想指定Primary必須在A機(jī)房,這時(shí)可以將B機(jī)房的復(fù)制集成員Priority設(shè)置為0,這樣Primary就一定會(huì)是A機(jī)房的成員。(注意:如果這樣部署,最好將『大多數(shù)』節(jié)點(diǎn)部署在A機(jī)房,否則網(wǎng)絡(luò)分區(qū)時(shí)可能無法選出Primary)
 
       Vote0
       Mongodb 3.0里,復(fù)制集成員最多50個(gè),參與Primary選舉投票的成員最多7個(gè),其他成員(Vote0)的vote屬性必須設(shè)置為0,即不參與投票。
 
       Hidden
       Hidden節(jié)點(diǎn)不能被選為主(Priority為0),并且對(duì)Driver不可見。
 
       因Hidden節(jié)點(diǎn)不會(huì)接受Driver的請(qǐng)求,可使用Hidden節(jié)點(diǎn)做一些數(shù)據(jù)備份、離線計(jì)算的任務(wù),不會(huì)影響復(fù)制集的服務(wù)。
 
       Delayed
       Delayed節(jié)點(diǎn)必須是Hidden節(jié)點(diǎn),并且其數(shù)據(jù)落后與Primary一段時(shí)間(可配置,比如1個(gè)小時(shí))。
 
       因Delayed節(jié)點(diǎn)的數(shù)據(jù)比Primary落后一段時(shí)間,當(dāng)錯(cuò)誤或者無效的數(shù)據(jù)寫入Primary時(shí),可通過Delayed節(jié)點(diǎn)的數(shù)據(jù)來恢復(fù)到之前的時(shí)間點(diǎn)。
 
       數(shù)據(jù)同步
       Primary與Secondary之間通過oplog來同步數(shù)據(jù),Primary上的寫操作完成后,會(huì)向特殊的local.oplog.rs特殊集合寫入一條oplog,Secondary不斷的從Primary取新的oplog并應(yīng)用。
 
       因oplog的數(shù)據(jù)會(huì)不斷增加,local.oplog.rs被設(shè)置成為一個(gè)capped集合,當(dāng)容量達(dá)到配置上限時(shí),會(huì)將最舊的數(shù)據(jù)刪除掉。另外考慮到oplog在Secondary上可能重復(fù)應(yīng)用,oplog必須具有冪等性,即重復(fù)應(yīng)用也會(huì)得到相同的結(jié)果。
 
       如下oplog的格式,包含ts、h、op、ns、o等字段
 
{
 "ts" : Timestamp(1446011584, 2),
 "h" : NumberLong("1687359108795812092"),
 "v" : 2,
 "op" : "i",
 "ns" : "test.nosql",
 "o" : { "_id" : ObjectId("563062c0b085733f34ab4129"), "name" : "mongodb", "score" : "100" }
}
ts: 操作時(shí)間,當(dāng)前timestamp + 計(jì)數(shù)器,計(jì)數(shù)器每秒都被重置
h:操作的全局唯一標(biāo)識(shí)
v:oplog版本信息
op:操作類型
i:插入操作
u:更新操作
d:刪除操作
c:執(zhí)行命令(如createDatabase,dropDatabase)
n:空操作,特殊用途
ns:操作針對(duì)的集合
o:操作內(nèi)容,如果是更新操作
o2:操作查詢條件,僅update操作包含該字段
       Secondary初次同步數(shù)據(jù)時(shí),會(huì)先進(jìn)行init sync,從Primary(或其他數(shù)據(jù)更新的Secondary)同步全量數(shù)據(jù),然后不斷通過tailable cursor從Primary的local.oplog.rs集合里查詢最新的oplog并應(yīng)用到自身。
 
       init sync過程包含如下步驟
 
       T1時(shí)間,從Primary同步所有數(shù)據(jù)庫的數(shù)據(jù)(local除外),通過listDatabases + listCollections + cloneCollection敏命令組合完成,假設(shè)T2時(shí)間完成所有操作。
       從Primary應(yīng)用[T1-T2]時(shí)間段內(nèi)的所有oplog,可能部分操作已經(jīng)包含在步驟1,但由于oplog的冪等性,可重復(fù)應(yīng)用。
       根據(jù)Primary各集合的index設(shè)置,在Secondary上為相應(yīng)集合創(chuàng)建index。(每個(gè)集合_id的index已在步驟1中完成)。
       oplog集合的大小應(yīng)根據(jù)DB規(guī)模及應(yīng)用寫入需求合理配置,配置得太大,會(huì)造成存儲(chǔ)空間的浪費(fèi);配置得太小,可能造成Secondary的init sync一直無法成功。比如在步驟1里由于DB數(shù)據(jù)太多、并且oplog配置太小,導(dǎo)致oplog不足以存儲(chǔ)[T1, T2]時(shí)間內(nèi)的所有oplog,這就Secondary無法從Primary上同步完整的數(shù)據(jù)集。
 
       修改復(fù)制集配置
       當(dāng)需要修改復(fù)制集時(shí),比如增加成員、刪除成員、或者修改成員配置(如priorty、vote、hidden、delayed等屬性),可通過replSetReconfig命令(rs.reconfig())對(duì)復(fù)制集進(jìn)行重新配置。
 
       比如將復(fù)制集的第2個(gè)成員Priority設(shè)置為2,可執(zhí)行如下命令
 
cfg = rs.conf();
cfg.members[1].priority = 2;
rs.reconfig(cfg);
       細(xì)說Primary選舉
       Primary選舉除了在復(fù)制集初始化時(shí)發(fā)生,還有如下場(chǎng)景
 
復(fù)制集被reconfig
Secondary節(jié)點(diǎn)檢測(cè)到Primary宕機(jī)時(shí),會(huì)觸發(fā)新Primary的選舉
當(dāng)有Primary節(jié)點(diǎn)主動(dòng)stepDown(主動(dòng)降級(jí)為Secondary)時(shí),也會(huì)觸發(fā)新的Primary選舉
       Primary的選舉受節(jié)點(diǎn)間心跳、優(yōu)先級(jí)、最新的oplog時(shí)間等多種因素影響。
 
       節(jié)點(diǎn)間心跳
       復(fù)制集成員間默認(rèn)每2s會(huì)發(fā)送一次心跳信息,如果10s未收到某個(gè)節(jié)點(diǎn)的心跳,則認(rèn)為該節(jié)點(diǎn)已宕機(jī);如果宕機(jī)的節(jié)點(diǎn)為Primary,Secondary(前提是可被選為Primary)會(huì)發(fā)起新的Primary選舉。
 
       節(jié)點(diǎn)優(yōu)先級(jí)
 
每個(gè)節(jié)點(diǎn)都傾向于投票給優(yōu)先級(jí)最高的節(jié)點(diǎn)
優(yōu)先級(jí)為0的節(jié)點(diǎn)不會(huì)主動(dòng)發(fā)起Primary選舉
當(dāng)Primary發(fā)現(xiàn)有優(yōu)先級(jí)更高Secondary,并且該Secondary的數(shù)據(jù)落后在10s內(nèi),則Primary會(huì)主動(dòng)降級(jí),讓優(yōu)先級(jí)更高的Secondary有成為Primary的機(jī)會(huì)。
       Optime
       擁有最新optime(最近一條oplog的時(shí)間戳)的節(jié)點(diǎn)才能被選為主。
 
       網(wǎng)絡(luò)分區(qū)
       只有更大多數(shù)投票節(jié)點(diǎn)間保持網(wǎng)絡(luò)連通,才有機(jī)會(huì)被選Primary;如果Primary與大多數(shù)的節(jié)點(diǎn)斷開連接,Primary會(huì)主動(dòng)降級(jí)為Secondary。當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)時(shí),可能在短時(shí)間內(nèi)出現(xiàn)多個(gè)Primary,故Driver在寫入時(shí),最好設(shè)置『大多數(shù)成功』的策略,這樣即使出現(xiàn)多個(gè)Primary,也只有一個(gè)Primary能成功寫入大多數(shù)。
 
       復(fù)制集的讀寫設(shè)置
 
       Read Preference
       默認(rèn)情況下,復(fù)制集的所有讀請(qǐng)求都發(fā)到Primary,Driver可通過設(shè)置Read Preference來將讀請(qǐng)求路由到其他的節(jié)點(diǎn)。
 
primary: 默認(rèn)規(guī)則,所有讀請(qǐng)求發(fā)到Primary
primaryPreferred: Primary優(yōu)先,如果Primary不可達(dá),請(qǐng)求Secondary
secondary: 所有的讀請(qǐng)求都發(fā)到secondary
secondaryPreferred:Secondary優(yōu)先,當(dāng)所有Secondary不可達(dá)時(shí),請(qǐng)求Primary
nearest:讀請(qǐng)求發(fā)送到最近的可達(dá)節(jié)點(diǎn)上(通過ping探測(cè)得出最近的節(jié)點(diǎn))
       Write Concern
       默認(rèn)情況下,Primary完成寫操作即返回,Driver可通過設(shè)置[Write Concern(https://docs.mongodb.org/manual/core/write-concern/)來設(shè)置寫成功的規(guī)則。
 
       如下的write concern規(guī)則設(shè)置寫必須在大多數(shù)節(jié)點(diǎn)上成功,超時(shí)時(shí)間為5s。
 
db.products.insert(
 { item: "envelopes", qty : 100, type: "Clasp" },
 { writeConcern: { w: majority, wtimeout: 5000 } }
)
       上面的設(shè)置方式是針對(duì)單個(gè)請(qǐng)求的,也可以修改副本集默認(rèn)的write concern,這樣就不用每個(gè)請(qǐng)求單獨(dú)設(shè)置。
 
cfg = rs.conf()
cfg.settings = {}
cfg.settings.getLastErrorDefaults = { w: "majority", wtimeout: 5000 }
rs.reconfig(cfg)
       異常處理(rollback)
       當(dāng)Primary宕機(jī)時(shí),如果有數(shù)據(jù)未同步到Secondary,當(dāng)Primary重新加入時(shí),如果新的Primary上已經(jīng)發(fā)生了寫操作,則舊Primary需要回滾部分操作,以保證數(shù)據(jù)集與新的Primary一致。
 
       舊Primary將回滾的數(shù)據(jù)寫到單獨(dú)的rollback目錄下,數(shù)據(jù)庫管理員可根據(jù)需要使用mongorestore進(jìn)行恢復(fù)。

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
波多野结衣三级视频| 电影在线观看一区| 成人一区二区免费视频| 国产成人艳妇aa视频在线| 成人av免费观看| 亚洲男人天堂久久| free性欧美| 亚洲欧美日本国产专区一区| 日韩午夜激情免费电影| 亚洲国产无码精品| 国产高清在线免费| 拔插拔插海外华人免费| 欧美黄色一级生活片| 久热re这里精品视频在线6| 欧美激情奇米色| 日韩成人午夜电影| 先锋影音国产一区| 精品国产乱码久久久久久图片| 亚洲高清视频在线播放| 午夜精品婷婷| 成人黄色免费短视频| 日韩久久在线| 国产精品三区在线观看| 国产对白videos麻豆高潮| 亚洲中字黄色| 国产一区香蕉久久| 人妻无码中文久久久久专区| 91av视频导航| 先锋成人影院| 欧美黄色一级大片| 国产v亚洲v天堂无码久久久| 成人免费观看av| 色中色综合影院手机版在线观看| 91高清视频免费观看| 一二三四视频社区在线| 日日摸天天爽天天爽视频| 97超碰蝌蚪网人人做人人爽| 成人免费播放器| 伊人久久一区二区三区| 国产精品成人一区二区三区吃奶| 亚洲国产一区二区久久久777| 欧美亚洲另类在线| 色大师av一区二区三区| 亚洲精品国产91| 寂寞少妇一区二区三区| 日韩精品久久久久久久酒店| 国产精品国产三级国产试看| 国产精品国产精品国产专区蜜臀ah| 无码人妻少妇色欲av一区二区| 国产真实生活伦对白| 久久午夜影院| 国产在线视频你懂的| 精品国产黄色片| 亚洲一级片网站| 国产美女一区视频| 亚洲欧美日韩直播| 久久99国产乱子伦精品免费| 先锋av资源在线| 啪啪导航网站| 日韩中文字幕视频在线| 美女被羞羞网站| 2019中文字幕在线观看| 午夜精品久久17c| 成人在线视频首页| 一区二区国产视频| 最新亚洲人成网站在线观看| 日韩一区不卡| 亚洲综合久久久久| 国产黄色片免费观看| 97免费在线视频| 国产精品久久人| 91精品国产综合久久久蜜臀图片| 国产在线观看不卡| 2020色愉拍亚洲偷自拍| 日韩欧美在线网址| 天堂精品高清1区2区3区| 欧美情侣在线播放| 五月花丁香婷婷| 久久九九国产视频| 永久免费av片在线观看全网站| 天堂v视频永久在线播放| 性一交一乱一精一晶| 成人性生交xxxxx网站| 红桃视频一区二区三区免费| 欧美日韩视频在线一区二区观看视频| 亚洲天堂2017| 亚洲高清久久久| 一区二区视频免费完整版观看| 久久久精品蜜桃| 精品一区二区三区影院在线午夜| 久久99精品久久久久久秒播放器| 天堂久久精品忘忧草| 亚洲色图首页| 久久资源免费视频| 你懂的视频在线观看资源| 伊人久久大香线蕉综合网站| 成人欧美在线视频| 亚洲国产精品专区久久| 亚洲午夜羞羞片| 蜜桃视频在线一区| 一区二区三区日韩精品视频| 最近中文字幕av| 一区二区三区播放| 四虎中文字幕| 春意影院午夜免费入口| 国产深夜视频在线观看| 日韩欧美自拍偷拍| 久久99亚洲网美利坚合众国| 国产精品手机在线| 欧美久久久久免费| 老牛国内精品亚洲成av人片| 香蕉视频xxxx| 色综合导航网站| 熟女丰满老熟女熟妇| 色老板免费视频| 欧美日韩中文在线| 亚洲视频在线二区| 在线天堂中文www官网| 中国一级大黄大黄大色毛片| 欧美特黄级在线| 亚洲精选在线视频| 欧美图片第一页| 国产性70yerg老太| 国产一卡2卡3卡4卡网站免费| 国产三级在线观看完整版| 亚洲精品天堂在线观看| 人妻久久久一区二区三区| 国产一级黄色| 亚洲最大福利视频网站| 欧美激情视频免费看| 青青草免费在线| 九九热在线免费| 三级影片在线观看欧美日韩一区二区| 午夜精品在线播放| 久久婷婷国产麻豆91| 人妻与黑人一区二区三区| 成人动漫视频在线观看免费| 国产v日产∨综合v精品视频| 婷婷综合久久中文字幕蜜桃三电影| 国产精品欧美久久久久一区二区| 欧美人狂配大交3d怪物一区| 中日韩免费视频中文字幕| 另类尿喷潮videofree| 可以免费观看的黄色网址| av加勒比在线| 国产视频久久久久| 一区二区欧美在线观看| 日韩三级电影免费观看| 欧美日韩精品一区| 五月天国产精品| 亚洲成av人电影| 色综合久久精品| 欧美精品一区视频| 久久人人精品| 久操av在线| 国产福利拍拍拍| 天堂成人免费av电影一区| 欧美性色综合网| www在线观看免费视频| 日本在线高清| 调教视频免费在线观看| 国产日本欧美一区二区三区在线| 久久婷婷国产精品| 久久久精品在线视频| 久久69精品久久久久久久电影好| 中文字幕一区二区三区5566| 3d动漫精品啪啪一区二区下载| 久久久国产影院| 久久久www免费人成黑人精品| 毛片av免费在线观看| 国产综合色在线观看| 国产福利小视频在线观看| 日韩性生活视频| 欧美大胆a视频| 一区二区三区国产精品| 精品久久人人做人人爰| 蜜桃传媒一区二区亚洲av| jizz免费一区二区三区| 国产精品77777竹菊影视小说| 久久中文字幕一区二区| 久久久免费视频网站| 欧美一级片免费在线观看| 精品人在线二区三区| 九九热线视频只有这里最精品| 亚洲精品一区二区精华| 日韩av网址大全| 亚洲欧美一区二区三区情侣bbw| 亚洲资源在线看| 亚洲少妇激情视频| 欧美日韩三级一区| 97视频精彩视频在线观看| 视频在线在亚洲| 亚洲少妇诱惑| 人人爽人人爽人人片av| 色橹橹欧美在线观看视频高清| 久久视频这里有精品| 天天摸天天碰天天爽天天弄| 51精品免费网站| 小说区亚洲自拍另类图片专区| 在线精品亚洲一区二区不卡| 日韩av在线播放观看| 免费看污片的软件| 亚洲tv在线观看| 91超碰这里只有精品国产| 狠狠人妻久久久久久综合麻豆| 高潮白浆女日韩av免费看| 久久久久国产一区二区三区| 中文字幕国产综合| 天堂在线观看免费视频| 尤物yw午夜国产精品视频明星| 在线观看一区二区视频| 国产情侣呻吟对白高潮| 亚洲天堂五月天| 国产激情综合五月久久| 亚洲高清极品| 日本阿v视频在线观看| 91精品久久久久久蜜桃| 久久影视一区| 日韩三区免费| 日韩精品久久久久久久玫瑰园| 亚洲一区二区三区777| 中文字幕综合在线| 免费看国产片在线观看| 黄色在线网站噜噜噜| 久久资源在线| 国产成人一二| 免费看日产一区二区三区| 午夜精产品一区二区在线观看的| 亚洲aaa激情| 天干夜夜爽爽日日日日| 欧美人在线观看| gv天堂gv无码男同在线观看| 国产伦精品一区二区三区四区| 精品少妇一区二区三区密爱| 久久精品电影网站| 免费毛片小视频| 另类中文字幕网| 日韩经典在线视频| 欧美伦理91i| 成人看的羞羞网站| 91精产国品一二三| 黄网站app在线观看| 久久先锋影音av鲁色资源| 欧美日韩黄色影视| 男女爱爱网站| 五月婷婷婷婷婷| 国产精品欧美亚洲| 欧美一区在线观看视频| 国产日韩欧美精品一区| 夜夜爽8888| 午夜在线精品偷拍| 久久a爱视频| 精品视频在线你懂得| 色噜噜亚洲精品中文字幕| 亚洲综合在线中文字幕| 国产a∨精品一区二区三区仙踪林| 五月天丁香久久| 99久久精品久久久久久清纯| 四虎国产成人精品免费一女五男| 成人au免费视频影院| 日韩av免费在线观看| 2019天天干夜夜操| 欧美日韩精品免费观看| 国产精品无码人妻一区二区在线| 可以在线看的av网站| 一个人看的www日本高清视频| 国产一区欧美日韩| 国产探花在线精品| av亚洲一区二区三区| 国内精品国产三级国产a久久| 久久人人超碰精品| 精品999成人| 在线免费看黄| 伊人久久一区二区三区| 久久天天东北熟女毛茸茸| 亚洲不卡一区二区三区| 国产精品视频免费在线观看| 日韩一区二区免费高清| 欧美另类在线播放| 国产精品97在线| 成人羞羞视频免费看看| 强行糟蹋人妻hd中文| 三上悠亚免费在线观看| 欧美激情乱人伦一区| 欧美一区二区三区成人片在线| 四虎视频在线精品免费网址| yy111111少妇影院日韩夜片| 91久久久久| 亚洲国产第一区| 久久人人97超碰人人澡爱香蕉| 欧美男男gaytwinkfreevideos| 亚洲最新视频在线播放| 欧美成人三级在线播放| 亚洲精品视频自拍| 91精品国产乱码久久久| 成人午夜在线视频一区| 91.·福利| 免费视频爱爱太爽了| 美女国内精品自产拍在线播放| 人人做人人澡人人爽欧美| 99热这里是精品| 99精品国产一区二区三区不卡| 国产wwwwwww| 久久在线免费视频| 欧美fxxxxxx另类| 99国产精品欲| 国产偷亚洲偷欧美偷精品| 91在线观看污| 亚洲美女中文字幕| 亚洲欧美乱综合| 五十路六十路七十路熟婆| 青春娱乐分类视频精品2动漫| 国产日韩中文在线中文字幕| 另类的小说在线视频另类成人小视频在线| 九色精品美女在线| 欧美电影完整版在线观看| 亚洲地区一二三色| 999色成人| 中文字幕中文字幕中文字幕亚洲无线| 日韩国产高清一区| 男人插女人下面视频| 在线看福利67194| 日韩福利小视频| 中文在线免费一区三区| 欧美24videosex性欧美| 日韩欧美中文字幕不卡| 青花影视在线观看免费高清| 精品一区二区中文字幕|