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

為什么我們選擇了MongoDB?

數據庫 其他數據庫 MongoDB
我司是一家正處于高速發展,目前擁有數百萬用戶,年銷售額近五十億的社交電商公司。

 我司是一家正處于高速發展,目前擁有數百萬用戶,年銷售額近五十億的社交電商公司。

[[329559]]
圖片來自 Pexels

 

公司技術部建立之初,為了適應用戶量的高速增長,與業務的不斷變更迭代,在選用數據庫的時候,經過調研對比我們選擇了 MongoDB。

是的,你沒看錯,All in MongoDB!

本文將圍繞如下幾個部分進行分享:

  • 為什么使用 MongoDB(選擇數據的時候我們是怎么考慮的?)
  • MongoDB 架構(99.99% 高可用,晚上安心睡大覺!)
  • MongoDB 分片(海量數據應對之道!)
  • MongoDB 文檔模型介紹(靈活!靈活!靈活!)

為什么使用 MongoDB

因為我司主要做社交電商的業務,所以對數據庫的性能有一定的要求,加上商品交易是公司主要盈利來源,所以對數據庫的高可用也有一定的要求。

總結一下我們對數據庫的要求:

  • 安全,穩定
  • 高可用
  • 高性能

我們在考慮數據庫選型的時候主要考慮什么?

  • 數據規模
  • 支持讀寫并發量
  • 延遲與吞吐量

從數據規模來說訂單和商品 SKU,還有會員信息這些重要的數據記錄肯定會隨著時間源源不斷的增長。

所以我們需要的不僅僅是滿足當下要求,更需要為半年一年后海量數據更為方便的擴容做考量!

下面我們從 MongoDB 的架構,性能,和文檔模型來介紹一下我們選擇 MongoDB 的理由!

MongoDB 架構

①關于高可用

數據庫作為系統核心,要保證 99.99% 的可用性,而高可用的保證來自于 MongoDB 冗余數據的復制集模式。

MongoDB 自帶多副本高可用,只需要合理的配置,就能避免單數據庫節點故障導致服務的不可用。

圖例說明:

 

  • 一個 Primary 主節點,主要接受來自 server 的讀寫。
  • 兩個 Secondary 從節點,用于同步來自 Primary 的數據。

關于高可用:當主節點發生故障的時候,兩個從節點會進行選舉,投票產生一個新的主節點,進而保證服務的可用性。

PS:在選舉過程中數據不可寫入,但是如果 Secnondary 節點配置可讀,那么此時是可以讀取數據的。

這就是 MongoDB 的高可用,配置簡單,不需要引入額外的中間件或者插件去輔助數據庫節點間的故障轉移。

②關于選舉算法《分布式一致性算法---raft》

raft 協議是在 leader 節點發生故障或者網絡分區導致腦裂時如何保證分布式數據一致性的一個算法,MongoDB 采用了該算法來保證當主節點故障或者網絡分區的情況下,數據的一致性。

當然 MongoDB 用的和 raft 原版算法肯定會略有不同,MongoDB 會采用 Secondary 向 Primary 拉數據,而不是 Primary 向 Secondary 推數據的方式來減輕 Primary 的壓力等等有利于數據庫操作的方式對 raft 進行改進使用。

raft 算法動畫演示:

  1. http://thesecretlivesofdata.com/raft/ 

③關于超大規模復制集(集群)

Non-Voting Members

 

上圖是一個擁有 7 個可投票從節點,一個主節點,兩個不可投票從節點。

  1.    "_id" : <num>, 
  2.    "host" : <hostname:port>, 
  3.    "arbiterOnly" : false
  4.    "buildIndexes" : true
  5.    "hidden" : false
  6.    "priority" : 0,  // 設置為0 
  7.    "tags" : { 
  8.  
  9.  
  10.    }, 
  11.    "slaveDelay" : NumberLong(0), 
  12.    "votes" : 0  // 設置為0 

MongoDB 最多允許 50 個節點,但是最多只有 7 個節點有投票權,一個節點可以配置 7 個無投票權的 Non-Voting 節點,加上一個 Primary 節點。

為什么只能允許存在 7 個投票節點呢?參考上節的 raft 算法,節點越多,投票時間越長,選舉出來的 Primary 節點時間也就越長,這個過程中我們是無法進行寫操作的,因為沒有主節點。

那么多非投票節點有什么用呢?大家應該都聽過 MySQL 的讀寫分離吧,利用讀寫分離來提高數據庫性能。

MongoDB 這里其實也可以,Primary 用來寫,Secondary 用來讀,可以給 BI 部門一個 Secondary,給財務部門一個 Secondary,給運營部門一個 Secondary······

④WriteConcern

既然我們的數據庫擁有至少超過三個節點(1Primary+2Secondary),Secondary 通過同步 Primary 的數據來保持一致性,那么當我們寫操作的時候,如何保證數據安全的落盤呢?

 

有以下幾種情況:

  • 寫 Primary 成功,返回客戶端寫成功,Secondary 還未同步 Primary 的時候,Primary 掛了,數據丟失!
  • 寫 Primary 成功,數據同步一個 Secondary 成功,返回客戶端寫成功。此時 Primary 掛了,數據不會丟失。但是恰好 Primary 與同步的 Secondary 同時掛了,數據丟失!
  • 寫 Primary 成功,數據同步兩個 Secondary 成功,返回客戶端寫成功。此時 Primary 掛了,數據不會丟失。

我們對以上三種情況進行分析:

  • 第一種情況有風險會造成數據丟失。
  • 第二種情況還是會出現數據丟失,但是數據丟失的概率大大降低。
  • 第三種情況是最安全的做法,但是節點數目多了,同步非常耗時,用戶需要等待的時間過長,一般不考慮。

MongoDB 在這里推薦折衷方案就是使用 Write Concern---在數據可靠性與效率之間的權衡!

  1. db.products.insert
  2.    { item: "envelopes", qty : 100, type: "Clasp" }, 
  3.    { writeConcern: { w: "majority" , wtimeout: 5000 } }  // 設置writeConcern為majority,超時時間為5000毫秒 

MongoDB 分片

①大規模數據是如何影響數據庫效率的?

  • 數據庫的性能還與數據庫本身規模息息相關。拿關系型數據庫舉例:
  • 查詢百萬表和千萬表甚至過億的表效率相差很大,查詢性能急劇惡化。

插入的時候創建索引可能會引起索引樹的調整與頁分裂。

②面對海量數據如何提升數據讀寫效率?

為了在海量數據中提升數據庫的效率,我們采用分而治之的思想,將大表拆成小表,大庫拆成小庫。

關系型數據庫中我們常用分表分庫來解決:

  • 例如將訂單庫分為在線庫和離線庫,近三個月是在線庫,遠期的訂單數據放入離線庫,這樣在線庫的數據就大大減少,數據庫性能就得到了提升。
  • 又例如當我們的用戶量過多超過千萬行記錄,單表查詢效率下降,我們將一張用戶表拆成多張用戶表,這個就是水平拆分。

MongoDB 中我們是如何做的呢?

③MongoDBSharding

 

MongoDB 的分片

通過將同一個集合(Collection1)的數據按片鍵(shard keys)分到不同的分片(shard)上面,減少同一個數據文件上的數據量,已達到拆分數據規模的目的。

Shard 優勢:在線擴容,動態擴容

 

Shard:用于存儲實際的數據塊,實際生產環境中一個 shard server 角色可由幾臺機器組個一個 replica set 承擔,防止主機單點故障。

Config Server:配置服務器 mongodb 實例,存儲了整個集群的元數據與配置,其中包括 chunk 信息,在 MongoDB 3.4 中,配置服務器必須部署為一個副本集。

Mongos:mongos 充當查詢路由器,提供客戶端應用程序和切分集群之間的接口。

服務器插入的數據通過 Mongos 路由到具體地址,這也是 MongoDB 的便利之處,不需要自己關注路由,也不需要使用第三方提供的中間件輔助路由,可靠,放心。

分片的負載均衡

 

當我們的 MongoDB 副本集變成分片集群后,隨著數據量的增長,各個分片也會越來越大。

這里就會出現兩種情況:

  • 冷熱數據,某個分片數據量過大。
  • 數據總量大,分片集群的分片過大。

當出現問題(1)的時候,MongoDB 的負載均衡器(Balancer)會自動將大分片中的數據遷往小分片。

注意這并不意味我們可以高枕無憂了,恰恰相反,我們應該反思是不是自己片鍵選擇失誤而造成的數據不均勻!

因為對分片遷移也是消耗性能的,應用服務器寫一次到 Shard B,然后 Shard B 重寫到 Shard C 無形之中數據被寫了兩次,這是極大的浪費!

當出現問題(2)的時候,當然是給過大的分片集合添加新的分片以此分攤分片集群的壓力。

注意:MongoDB 分片雖然是可在線的,但是多少都會對正常的讀寫操作性能有一定的影響,建議在非繁忙時間段進行分片部署!

MongoDB 文檔模型介紹

數據庫建模的挑戰在于平衡應用的需要,適合該數據庫引擎發揮的結構以及數據的檢索模式。

當我們設計數據模型的時候,需要考慮應用使用數據的情況(查詢,更新,和數據處理)以及該數據本身的結構。

①靈活的 Schema

在關系型數據庫中,必須按照確定的表結構去插入數據。但是,由于 MongoDB 是文檔型數據庫,在插入數據的時候默認并不對此做要求。

其表現在于:

  • 同一個集合中不同文檔不一定需要有相同的字段,并且字段類型也可以不同。
  • 在集合中改變文檔的結構,例如增加一個字段,刪除一個字段,或者改變一個字段的類型,只需要對該文檔更新即可。

②舉例 1:N 模型設計

在電商業務中,一個用戶可能有多個收件人以及收件地址。在關系型數據庫中,我們需要建立聯系人表,地址表,并且將其關聯。但是在 MongoDB 中,我們只需要一個集合就能將此搞定!

數據關系如下:

  1. // patron document 
  2.    _id: "joe"
  3.    name"Joe Bookreader" 
  4.  
  5.  
  6. // address documents 
  7.    patron_id: "joe", // reference to patron document 
  8.    street: "123 Fake Street"
  9.    city: "Faketon"
  10.    state: "MA"
  11.    zip: "12345" 
  12.  
  13.  
  14.    patron_id: "joe"
  15.    street: "1 Some Other Street"
  16.    city: "Boston"
  17.    state: "MA"
  18.    zip: "12345" 

在 MongoDB 中我們可以這樣進行設計:

  1.    "_id""joe"
  2.    "name""Joe Bookreader"
  3.    "addresses": [ 
  4.                 { 
  5.                   "street""123 Fake Street"
  6.                   "city""Faketon"
  7.                   "state""MA"
  8.                   "zip""12345" 
  9.                 }, 
  10.                 { 
  11.                   "street""1 Some Other Street"
  12.                   "city""Boston"
  13.                   "state""MA"
  14.                   "zip""12345" 
  15.                 } 
  16.               ] 
  17.  } 

沒錯,以上就是集合中的一個 document(文檔),是不是感覺很靈活很方便!

你可以在 SKU 集合中添加分類信息,或者商品標簽,還可以在庫存集合中冗余 SKU 的基本信息,還可以在訂單集合中冗余部分下單者信息···沒錯,就是這么靈活!

這也是我們選擇 MongoDB 的一個重要原因之一,讓開發者的心智負擔少了很多,不需要成為 SQL 高手,你也能在 MongoDB 中寫出性能優異的查詢語句。

當然,“冗余一時爽,重構火葬場”的段子也不是沒聽過,因為過多的冗余最終會造成數據的過于臃腫,性能降低等各種問題,這個要控制住開發者的冗余沖動,也依賴于團隊技術 Leader 對此的把關。

總結

互聯網業務不是一成不變的,產品和用戶的需求還有市場都一直在變!我們沒有技術實力打造一個能夠適應靈活多變的業務的中臺,但是目前我們可以選擇一個可靠,強大并且靈活的數據庫 MongoDB!

作者:唐銀鵬

簡介:開源愛好者、Gopher。從事電商、IM 系統深度研發,MongoDB 愛好者,公眾號《從菜鳥到大佬》作者。

編輯:陶家龍

出處:轉載自微信公眾號Mongoing 中文社區(ID:mongoing-mongoing),本文是唐銀鵬在“青芒話生長”MongoDB征文比賽的獲獎文章。

責任編輯:武曉燕 來源: Mongoing 中文社區
相關推薦

2016-09-27 21:25:08

Go語言Ken Thompso

2018-12-21 11:26:49

MySQLMongoDB數據庫

2011-06-08 10:30:08

MongoDB

2017-02-27 15:19:04

2021-04-09 09:55:55

DockerGoLinux

2018-09-28 10:06:21

移動開發App

2023-02-10 08:58:46

2017-02-27 15:43:14

iOSObject-CJava

2020-11-16 12:03:08

Java開發代碼

2019-11-20 10:39:35

iPhone緩存清理

2021-08-23 13:25:25

Vue3CSS前端

2023-01-12 09:01:01

MongoDBMySQL

2021-01-20 14:25:53

Vue3CSS前端

2024-02-05 21:48:25

VueReactHooks

2020-06-19 14:55:11

Kubernetes容器技術

2021-12-27 14:19:44

殺毒軟件病毒電腦安全

2020-04-14 15:54:07

5G物聯網Wi-Fi

2011-11-28 10:21:52

Nginx特性

2022-06-14 11:01:48

SpringBootTomcatUndertow

2020-02-13 17:49:55

SpringBoot放棄選擇
點贊
收藏

51CTO技術棧公眾號

欧美黄色免费影院| 亚洲综合自拍一区| 丰满少妇高潮一区二区| 午夜av成人| 综合自拍亚洲综合图不卡区| 国产精品v欧美精品∨日韩| 亚洲午夜18毛片在线看| 天天综合网91| 日韩av在线免费| 日韩不卡一二三| 9999在线视频| 中文字幕成人av| 国产伦精品一区二区三区视频孕妇 | 五月激情丁香一区二区三区| 欧美不卡三区| www.日韩高清| 中国女人久久久| 按摩亚洲人久久| 可以直接看的无码av| 国产精品视频一区二区三区| 一本一道波多野结衣一区二区| 免费成人深夜夜行网站视频| 欧洲毛片在线| 丁香激情综合国产| 成人黄色在线播放| 日本中文字幕第一页| 欧美日本中文| 日韩三级影视基地| 免费观看a级片| www国产精品| 欧美一级一级性生活免费录像| www日韩视频| 国产在线精彩视频| 一区二区三区国产豹纹内裤在线| 亚洲精品久久区二区三区蜜桃臀| 瑟瑟在线观看| av在线不卡观看免费观看| 成人黄色av网站| 中文字幕一区二区三区四区视频| 亚洲啪啪91| 欧美激情亚洲国产| 久久中文免费视频| 欧美3p在线观看| 国产亚洲欧美日韩美女| 国产精品探花一区二区在线观看| www.亚洲一二| 亚洲精品一区二区三区影院| 亚洲国产欧美日韩在线| 国产一区二区| 欧美一区二区福利视频| 天天爽人人爽夜夜爽| 日日夜夜天天综合| 一本大道av伊人久久综合| 国产69精品久久久久久久| 丰满大乳少妇在线观看网站| 亚洲一区二区三区四区中文字幕| 日韩欧美视频免费在线观看| 天堂8中文在线| 亚洲制服丝袜一区| bt天堂新版中文在线地址| 免费在线看污片| 亚洲成人精品影院| 亚洲国产精品久久久久婷蜜芽| 涩涩av在线| 色综合激情五月| 国产精品拍拍拍| 超碰这里只有精品| 欧美日本一区二区| 波多野结衣免费观看| 亚洲图色一区二区三区| 亚洲精品在线免费播放| 在线免费观看a级片| 国产精品亚洲片在线播放| 亚洲新中文字幕| 女同久久另类69精品国产| 国产精品久久观看| 欧美黑人视频一区| 五月激情六月丁香| 男女男精品视频| 国产一区二区在线播放| 亚洲成a人片在线| 91在线免费视频观看| 婷婷四月色综合| 国产人成网在线播放va免费| 亚洲午夜视频在线| 国产极品美女高潮无套久久久| 97久久网站| 欧美成人女星排名| 国产黄色网址在线观看| 国产精品88久久久久久| 欧美激情中文网| 一区二区三区麻豆| 国产成人精品一区二| 欧美凹凸一区二区三区视频 | 在线精品国产亚洲| 亚洲免费精彩视频| 成人在线观看免费完整| 伊人天天综合| 国产精品视频资源| 免费观看a视频| 国产精品精品国产色婷婷| 人妻激情另类乱人伦人妻| 免费观看成人性生生活片| 欧美一区日本一区韩国一区| 一道本在线观看| 欧美天天视频| 国产精品免费视频久久久| www.xxx国产| 国产精品美女一区二区在线观看| 国产 日韩 欧美在线| 欧美激情福利| 亚洲精品永久免费| 精品一区二区三区四| 日韩av一级片| 久久久99爱| 欧美卡一卡二| 欧美丰满嫩嫩电影| 小早川怜子久久精品中文字幕| 欧美a级一区| 国产欧美日韩亚洲精品| 香蕉视频免费看| 一区二区成人在线观看| 九九热99视频| 欧美久久综合网| 欧美综合激情网| 天堂网av在线播放| 一区二区视频在线| 国产无遮挡猛进猛出免费软件| 日韩av网站在线免费观看| 久久99精品久久久久久琪琪| 在线观看亚洲一区二区| 久久精品一区二区三区不卡| 男人日女人下面视频| 6080亚洲理论片在线观看| 久久久av免费| 国产精品伊人久久| 国产精品久久久久久久久图文区| 国产裸体舞一区二区三区| 狼人天天伊人久久| 海角国产乱辈乱精品视频| 国产黄a三级三级看三级| 国产精品看片你懂得| 日本www.色| 精品国产一区二区三区小蝌蚪 | 草草视频在线一区二区| 欧美猛交ⅹxxx乱大交视频| 国产一区二区小视频| 亚洲国产电影在线观看| 激情视频免费网站| 成人久久综合| 国产精品手机播放| 91最新在线| 欧美久久久久久久久| 蜜桃视频最新网址| 精品在线免费视频| 四虎永久免费网站| 57pao国产一区二区| 久久久久国产精品免费| 姝姝窝人体www聚色窝| 婷婷成人综合网| 深爱五月激情网| 日韩av一区二区三区| 一区二区三区四区欧美| 国产一区二区| 久久久久久久久久久av| 香蕉视频免费在线看| 色琪琪一区二区三区亚洲区| 国内精品卡一卡二卡三| 激情五月婷婷综合网| 国产激情在线看| 国产精品久久久久av蜜臀| 91高清免费视频| 国产三级视频在线看| 欧美人xxxx| 久久久久久久黄色| 91蝌蚪porny| 激情五月俺来也| 欧美午夜国产| 日本不卡在线观看| 97精品资源在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 久久综合在线观看| 99热国内精品| 九色91国产| 看片一区二区| 欧美激情在线一区| 成年人视频在线免费观看| 337p亚洲精品色噜噜狠狠| 久草资源在线视频| 国产亚洲欧美色| 麻豆免费在线观看视频| 国产精品资源| 欧美日韩一区二区三区电影| 亚洲v天堂v手机在线| 91久久久久久久久久久久久| 白浆在线视频| 日韩中文字幕精品| 亚州av在线播放| 欧美高清视频不卡网| 91porny在线| 亚洲免费看黄网站| 免费观看a级片| eeuss鲁片一区二区三区在线观看| 亚洲成人福利在线观看| 亚洲午夜激情在线| 一区二区三区国产福利| 天堂av一区二区三区在线播放 | 欧美精品videos| www.久久热.com| 日韩国产中文字幕| 亚洲AV无码一区二区三区性| 欧美亚洲尤物久久| 国偷自拍第113页| 亚洲一区免费在线观看| 久久一级免费视频| 久久嫩草精品久久久久| 涩视频在线观看| 国内精品免费在线观看| 少妇黄色一级片| 久久国产福利| 欧美,日韩,国产在线| 综合激情一区| 日韩av在线一区二区三区| 欧美理论电影在线精品| 亚洲综合精品一区二区| 日韩黄色三级在线观看| 国产成人一区二区三区| 手机在线观看av| 韩国19禁主播vip福利视频| 在线电影福利片| 日韩视频永久免费观看| 粉嫩av一区| 一本色道久久综合狠狠躁篇的优点| 亚洲人视频在线观看| 亚洲国产精品网站| 老熟妇高潮一区二区高清视频| 日韩欧美国产午夜精品| 国产av无码专区亚洲av| 欧美高清激情brazzers| av网站免费播放| 日韩三级精品电影久久久| 国产白浆在线观看| 日韩一级免费一区| av网站在线免费看| 欧美不卡激情三级在线观看| 亚洲精品一区二区口爆| 精品日韩在线观看| 老司机午夜福利视频| 日韩电影中文字幕在线| 天堂91在线| 亚洲欧洲日本专区| 日本黄在线观看| 亚洲欧美在线免费观看| 韩日视频在线| 日韩在线中文视频| 黄色片网站在线| 欧美成人手机在线| 成人女同在线观看| 91精品国产电影| 性欧美hd调教| 国产欧美日韩免费| 精品一区二区三区四区五区| 99在线看视频| 婷婷精品在线| 性欧美.com| 午夜精品亚洲| 91好吊色国产欧美日韩在线| 久久夜色精品| 亚洲男人天堂av在线| 国产高清成人在线| 性色av蜜臀av色欲av| 国产农村妇女毛片精品久久麻豆| 国产人与禽zoz0性伦| 亚洲国产成人精品视频| 中文字幕黄色片| 欧美乱妇20p| 三级网站在线看| 亚洲新中文字幕| 日本片在线观看| 国产91色在线|| 粉嫩一区二区三区在线观看| 国产欧美日韩伦理| 久久伦理在线| av高清在线免费观看| 日韩av一级片| 亚洲欧美高清在线| 欧美国产日韩a欧美在线观看 | 国产三区四区在线观看| 美女视频久久黄| 亚洲精品成人图区| 亚洲一区二区三区sesese| 天堂一区二区三区四区| 一区二区三区四区国产| 国产一区二区高清| 久久人人爽人人片| 久久人人爽爽爽人久久久| 曰本女人与公拘交酡| 色哟哟一区二区在线观看| 国产色综合视频| 亚洲人成网站777色婷婷| 麻豆网站在线观看| 日本精品视频网站| 亚洲**毛片| 一本久道久久综合狠狠爱亚洲精品| 精品成人一区| 九九九九九九九九| 久久久精品黄色| 日本一区二区欧美| 91精品国产入口| 国产成人天天5g影院在线观看| 久久久久久国产精品美女| 欧美高清你懂的| 日本一区二区三区四区在线观看 | 欧美一级全黄| 成人区一区二区| 黄页网站大全一区二区| www.黄色在线| 日本精品免费观看高清观看| 欧美一区,二区| 免费成人高清视频| 日韩成人综合网站| 日韩一区二区三区高清| 国产免费成人| 少妇一级淫免费观看| 一区二区在线免费观看| av高清一区二区| 久久综合久久八八| 只有精品亚洲| 亚洲一区不卡在线| 日本免费在线视频不卡一不卡二| 内射中出日韩无国产剧情| 午夜欧美在线一二页| 成人av免费播放| 九九九热精品免费视频观看网站| 欧美videos粗暴| 一区二区精品国产| 免费成人小视频| 黄色激情小视频| 欧美日韩亚洲综合一区二区三区 | 激情小说亚洲图片| 黄色一级片在线看| 成人午夜在线播放| 亚洲国产精品成人无久久精品| 欧美xxxx在线观看| 污污的视频在线观看| 99久久精品免费看国产四区| 欧美日韩蜜桃| 性色av蜜臀av浪潮av老女人 | 免费在线观看av的网站| 亚洲视频日韩精品| 影视一区二区三区| 视频一区亚洲| 久久99国产精品麻豆| 永久免费看片视频教学| 欧美一区二区私人影院日本| 中文字幕资源网在线观看| 亚洲综合在线小说| 亚洲国产精品第一区二区三区| 欧美xxxxx精品| 一本久道久久综合中文字幕| 91视频在线观看| 91影视免费在线观看| 狠狠干综合网| 国产国语性生话播放| 欧美主播一区二区三区| 黄网站免费在线播放| 国产91aaa| 米奇777在线欧美播放| 亚洲女人毛茸茸高潮| 日韩一区二区三区高清免费看看| 国精产品一区一区三区mba下载| 国产在线精品一区| 三级不卡在线观看| 久久国产高清视频| 欧美精品一区二区三区蜜臀 | 91影视免费在线观看| 亚洲日本激情| www久久久久久久| 日韩亚洲欧美一区| 色多多在线观看| 在线视频不卡一区二区| 成人黄页毛片网站| 无码人妻av一区二区三区波多野| 久久精品国产欧美亚洲人人爽| 成人偷拍自拍| 亚洲人辣妹窥探嘘嘘| 亚洲宅男天堂在线观看无病毒| 免费黄色片在线观看| 91日韩在线播放| 欧美一级一区| 91麻豆免费视频网站| 亚洲精品视频久久| 精品国产亚洲一区二区三区大结局 | 亚洲第一大网站| 国产99久久久欧美黑人| 亚洲高清影视| 亚洲a v网站| 欧美不卡一区二区三区四区| 台湾佬中文娱乐久久久| 欧美一区二区三区综合|