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

面試問Redis集群,被虐的不行了......

原創
存儲 存儲軟件 Redis
我們講解了 Redis 哨兵的工作原理,哨兵主要針對單節點故障無法自動恢復的解決方案,集群主要針對單節點容量、并發問題、線性可擴展性的解決方案。

【51CTO.com原創稿件】 上一篇我們講解了 Redis 哨兵的工作原理,哨兵主要針對單節點故障無法自動恢復的解決方案,集群主要針對單節點容量、并發問題、線性可擴展性的解決方案。

[[330409]]

圖片來自 Pexels

本篇我將講解 Redis 集群的工作原理,文末有你們想要的設置 SSH 背景哦!

本文主要圍繞如下幾個方面介紹集群:

  • 集群簡介
  • 集群作用
  • 配置集群
  • 手動、自動故障轉移
  • 故障轉移原理

本文實現環境:

  • CentOS 7.3
  • Redis 4.0
  • Redis 工作目錄 /usr/local/redis
  • 所有操作均在虛擬機模擬進行

集群簡介

集群是為了解決主從復制中單機內存上限和并發問題,假如你現在的云服務內存為 256GB,當達到這個內存時 Redis 就沒辦法再提供服務。

同時數據量能達到這個地步寫數據量也會很大,容易造成緩沖區溢出,造成從節點無限的進行全量復制導致主從無法正常工作。

那么我們就需要把單機的主從改為多對多的方式,并且所有的主節點都會連接在一起互相通信。

這樣的方式既可以分擔單機內存,也可以分發請求,提高系統的可用性。

如下圖:當有大量請求寫入時,不再會單一的向一個主節點發送指令,而會把指令進行分流到各個主節點,達到分擔內存、避免大量請求的作用。

那么指令是如何進行分流存儲的呢?我們就需要到集群存儲結構中一探究竟。

集群作用

集群的作用有如下幾個:

  • 分散單機的存儲能力,同時也可以很方便的實現擴展。
  • 分流單機的訪問請求。
  • 提高系統的可用性。

如何理解提高系統的可用性這句話,我們看下圖,當 master1 宕機后對系統的影響不會那么大,仍然可以提供正常的服務。

這個時候就會有人問了,當 master1 宕機后,集群這個時候怎么工作呀?這個問題會在下文的故障轉移來給你解答,并且在原理篇會對這個問題進行詳解。

集群存儲結構

存儲結構

單機的存儲是當用戶發起請求后直接把 key 存儲到自己的內存即可。

集群的存儲結構就沒有那么簡單了,首先當用戶發起一個 key 指令后需要做的事情如下:

  • 通過 CRC16(key) 會計算出來一個值。
  • 用這個值取模 16384,會得到一個值,我們就先認為是 28。
  • 這個值 28 就是 key 保存的空間位置。

那么現在問題來了,這個 key 到底應該存儲在哪個 Redis 存儲空間里邊呢?

其實 Redis 在集群啟動后就已經把存儲空間劃分了 16384 份,每臺主機保存一部分。

這里需要注意的是我給每個 Redis 存儲空間里邊的編號就相當于一個小的存儲空間(專業術語“哈希槽”)。

你可以理解為一棟樓里邊的編號,一棟樓就是 Redis 的整個存儲空間,每個房子的編號就相當于一個存儲空間,這個存儲空間會有一定的區域來保存對應的 key,并非上圖取模后的位置。

箭頭指向的 28 是指的 28 會存儲在這個區域里,這個房子有可能會存儲 29、30、31 等。

此時問題來了,如果新增、減少一臺機器后怎么辦呢?看圖說話,能用圖說明盡量不去用文字。

在新增一臺機器后,會從其他三個存儲空間中拿出一定的槽分配給新的機器。這里可以自己設置想給新的機器放多少個槽。

同樣減少一臺機器后會把去掉的槽在重新分配給其它現有的機器跟新增節點一樣,可以指定節點接收槽。

所謂的增節點或去節點就是改變槽所存儲的位置不同。

了解了集群的存儲結構后,我們就需要在對另一個問題進行說明了,集群是如何設計內部通訊呢?

來了一個值,獲取一個 key,去哪拿數據?跟著這個問題我們看下文。

通訊設計

集群中的每個節點會在一定的時期給其它節點發送 ping 消息,其他節點返回 pong 作為響應。

經過一段時間后所有節點都會知道集群全部節點的槽信息。如下圖有三個節點,那么就會把 16384 個哈希槽分成三份。

分別為:

  • 0-5500
  • 5501-11000
  • 11001-16384

當用戶發起了一個 key 的請求,集群是如何處理請求的呢?上圖的黑框代表這集群所有節點的槽信息,里邊還有很多其它信息。

如圖所示,用戶發起請求 key,Redis 接收后計算 key 的槽位置,在根據槽位置找出對應的節點。

如果訪問的槽就在節點本身,那么就會直接返回 key 對應數據。否則會回復 moved 重定向錯誤,并且給客戶端返回正確的節點。

然后重發 key 指令,如下圖:

配置集群

①修改配置文件

如下圖:

 

只需要注意圈中的配置信息即可:

  • cluster-enabled yes:開啟集群模式。
  • cluster-config-file nodes-6379.conf:集群配置文件。
  • clustre-node-timeout 10000:節點超時時間,這里為了方便測試設置為 10s。

②構建 6 個節點的配置文件并全啟動

給大家提供一個命令可以很方便的替換文件:

  1. sed 's/6379/6380/g' 6379-redis.conf > 6380-redis.conf 

按照這樣的方式創建出來 6 個不同端口的配置文件:

隨便打開一個配置文件查看,檢測是否替換成功:

為了查看日志信息方便,全部使用前臺啟動。并且查看服務是否都正常啟動,執行命令:

  1. ps -ef | grep redis 

可以看到啟動后多了個 cluster 標識,代表著都是集群的一個節點。

所有節點啟動完成,集群啟動的指令需要基于 Ruby(本人使用 Redis 版本為 4.0),接下來一起安裝。

③安裝 Ruby

執行命令:

  1. wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.gz 

解壓(根據自己下載的版本來解壓):

  1. tar -xvzf ruby-2.7.1.tar.gz 

安裝:

  1. ./configure | make | make install 

這三個指令一氣呵成,查看 ruby 和 gem 版本:ruby -v。

④啟動集群

集群的執行命令在 /usr/local/redis/src/redis-trib.rb,注意如果需要直接使用 redis-trib.rb 命令,需要 ln 到 bin 目錄下,否則就必須使用 ./redis-trib.rb 的方式。

如果按照步驟走,這里會出現一個錯誤,如下圖:

執行 gem install redis,很不幸的是在這里也會出現錯誤:

隨后需要安裝 yum install zlib-devel 和 yum install openssl-devel。

安裝完成后,在 /ruby-2.7.1/ext/openssl 和 /ruby-2.7.1/ext/zlib 分別執行 ruby extconf.rb,并且執行 make | make install。

然后再執行 gem install redis 就 OK:

這時再回頭來執行:

  1. ./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 

信息解讀:創建集群,并且給 6 個節點分配哈希槽,后三個節點配置為前三個節點的從節點。

顯示每個節點的哈希槽信息和節點 ID,最后一步需要輸入 yes:

來到 data 目錄下查看配置文件的變化。配置文件主要信息是每個主節點分的槽:

 

 

查看主機點的運行日志:這里給的主要信息 cluster status changed:ok 集群狀態正常。

⑤集群設置與獲取數據

當直接設置數據會報錯,并且把 name 這個 key 進行轉化后的槽位置為 5798 并且給出了 ip 地址和端口號。

需要使用命令 redis-cli -c,在進行設置值的時候提示說重定向到 5798 的這個槽。

接下來進行獲取數據,會自動的切換節點:

故障轉移

①集群從節點下線

根據上文集群啟動信息知道端口 6383 是 6379 的從節點。接下來就是讓 6383 下線查看 6379 的日志信息。

6379 會報出連接 6383 丟失,并且給上標記 fail,表示不可用。這個時候集群還是正常工作的。

總結:從節點下線對集群沒有影響。

當端口 6383 上線后,所有的節點會把 fail 的標記清除,如下圖:

②集群主節點下線

手動下線主節點 6379,查看從節點 6383 日志信息,此時的 6383 節點會持續連接 6379 共計 10 次,那為什么是 10 次呢?

是根據我們配置的參數 cluster-node-timeout 10 來決定的,這里給我們一個信息就是一秒連接一次。

直到時間到期后,開始故障轉移。這時 6383 在故障轉移選舉中勝任,翻身奴隸把歌唱,成為了主節點。

此時在查看一下集群的節點信息,命令 cluster nodes。會發現這里竟然存在四個主節點,但是其中一個主節點時下線狀態:

6379 原主節點上線:6379 上線后,同樣所有的節點也會清除 fail 信息。并且節點信息也會改變,此時的 6379 改變為 6383 的從節點。

③新增主節點

再新增倆個端口 6385 和 6386:

執行新增命令 ./redis-trib.rb add-node 127.0.0.1:6385 127.0.0.1:6379,這里發送的就是 meet 消息。

執行 add-node 命令,第一個參數為新節點的 ip+端口,第二個參數為已存在集群中的節點。根據下圖我們就可以看到新增的節點已經存在集群中了。

注意:雖說 6385 已經成為集群中的節點了,但是跟其它節點有區別。它沒有數據,也就是沒有哈希槽。

接下來我們就需要把集群中的某些哈希槽分配到這個新節點上,分配結束后這個節點才會成為真正意義上的主節點。

執行命令 ./redis-trib.rb reshard 127.0.0.1:6385,會提示轉移多少個哈希槽并填寫接收節點的 id。

最后一步詢問是否從所有節點中轉移:我使用的是 all。使用指令:cluster nodes 查看,6385 的這個節點就已經擁有三個范圍的哈希槽了。

主節點已經新增好了,接下來就需要給 6385 這個主節點配置一個從節點 6386,命令如下:

./redis-trib.rb add-node --slave --master-id dcc0ec4d0c932ac5c35ae76af4f9c5d27a422d9f 127.0.0.1:6386 127.0.0.1:6385

master-id 是 6385 的 id,第一個參數為新節點的 ip+端口,第二個為指定的主節點 ip+端口。

④手動故障遷移

當想對集群中的主節點進行升級的話可以手動執行故障轉移到從節點,避免集群可用性受影響。

在從節點執行命令:cluster failover。

執行過程:查看節點信息就可以看到 6386 這個節點已經成為了主機點。

當給從節點發送 cluster failover 指令后,從節點會給主節點發送 CLUSTERMSG_TYPE_MFSTART 包。從節點請求主節點停止訪問,從而對比兩者的數據偏移量達到一致。

這時客戶端不會連接我們淘汰的主節點,同時主節點向從節點發送復制偏移量,從節點得到復制偏移量后故障轉移開始,接著通知主節點進行配置切換。

當客戶端在舊的 master 上解鎖后,重新連接到新的主節點上。

故障轉移原理篇

上文中我們測試了故障轉移,主節點下線后從節點變為主節點,接下來剖析這個過程。

①故障發現到確認

集群中的每個節點會定期的給其它節點發送 ping 消息,接收方用 pong 作為回復。

如果在 cluster-node-timeout 的時間內 ping 消息一直失敗,則會把接收方的節點標記為 pfail 狀態也就是主觀下線。

這個下線狀態是不是很熟悉?沒錯,這個跟哨兵判斷主節點是否異常有點相似。

當一個哨兵發現主節點有問題時也會標記主節點客觀下線(s_down)。突然發現跑題了,尷尬......

再提一下哨兵,當一個哨兵認為主節點異常后標記主觀下線,但是其他哨兵怎么能會同意,不能你說什么就是什么。

都會去嘗試連接異常的主節點,當半數以上的哨兵都認為主節點異常后會直接讓其主節點客觀下線。

同樣集群也不會因為一個節點判斷其狀態為下線就行的,節點直接通過 Gossip 消息傳播,集群中節點會不斷收集故障節點的下線反饋并且存儲到本地的故障節點下線報告中。

當有半數以上的集群主節點都標記為主觀下線后改變狀態為客觀下線。最后向集群廣播一條 fail 消息,通知所有節點將故障節點標記為客觀下線。

例如:節點 A 發送 ping 到節點 B 通信異常后標記節點 B 為 pfail,之后節點 A 會繼續給節點 C 發送 ping,并且攜帶節點 B 的 pfail 信息,然后節點 C 將節點 B 的故障保存到下線報告中。

當下線報告數量大于有哈希槽主節點的一半數量以上后就會嘗試客觀下線。

②故障恢復(從節點從此翻身奴隸把歌唱)

當故障節點被定義為客觀下線后,故障節點的所有從節點承擔故障恢復的責任。

故障恢復是從節點通過定時任務發現自己的主機點客觀下線后就會執行故障恢復流程。

資格檢查:所有的從節點都會進行檢查與主節點最后的連接時間,斷線時間大于 cluster-node-time*cluster-slave-validity-factor 時不具備故障轉移的資格。

準備選舉時間:先說說為什么這里會有一個準備選舉時間。資格檢查過后存在多個從節點,那么就需要使用不同的延遲選舉時間來支持優先級。

這里的優先級就是以復制偏移量為基準,偏移量越大與故障主節點的延遲越小,那么就更有機會擁有替換主節點的機會。主要的作用就是確保數據一致性最好的節點優先發起選舉。

選舉投票:Redis 集群的投票機制沒有采用從節點進行領導選舉,這點切記不要跟哨兵搞混了。集群的投票機制都是持有槽的主機點進行投票的。

故障節點的從節點會廣播一個 FAILOVER_AUTH_REQUEST 數據包給所有的持有槽的主節點請求投票。

當主節點回復 FAILOVER_AUTH_ACK 投票后在 NODE_TIMEOUT * 2 的這段時間不能給其他的從節點投票。從節點獲取到半數以上的投票后就會進行故障恢復階段。

故障轉移:選舉成功的從節點取消復制變為主節點,刪除故障節點的槽,并且將故障節點的槽委托到自己身上,向集群廣播自己的 pong 消息,通知主機點的改變和接管了故障節點的槽信息。

福利:你們想要的 SSH 的背景

上一篇利用兩個夜晚才弄完的 Redis 哨兵文章,結果你們的關注點卻不在文章本身,啊!小編心很痛......

為了滿足大家的要求,我忍痛說一下如何設置亮瞎的背景,我使用的工具是xsheel。

打開工具選擇選項 :

接著到查看有個窗口透明就可以設置 xsheel 透明了。

對嘍!你想的沒錯,這就是桌面背景,是不是準備開始設置去了?最后,歡迎各路大神給予技術點補充和辨錯。

作者:咔咔

簡介:從業三年,從搬磚一樣的生活方式換成了現在有“單”而居的日子。當然這個單不是單身的單!雖然極盡苛刻的技術學習但也遠不及客戶千奇百怪的要求。進入了朝九晚六,雖然躲過了風吹日曬,但是仍然很享受那些熬得只剩下黑眼圈的日子。堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在諾大互聯網中咔咔的文章能帶給你一絲絲幫助。

編輯:陶家龍

征稿:有投稿、尋求報道意向技術人請聯絡 editor@51cto.com

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2019-08-15 16:48:30

2020-12-24 08:56:18

中臺阿里內網

2014-11-04 09:54:16

Windows 8Windows 8.1

2021-01-20 12:44:22

JAVA編程語言軟件

2021-01-20 12:43:07

編程語言Java

2014-12-29 10:29:46

2020-01-02 13:54:55

蘋果5GiPhone

2021-07-30 23:20:14

手機數據安卓

2018-07-05 12:58:34

微信小程序聊天

2018-01-08 10:14:00

2022-01-12 16:50:55

互聯網裁員高薪

2020-11-24 08:15:09

Elasticsear面試分布式

2020-11-07 17:05:30

5G網絡技術

2018-07-25 14:27:43

Redis數據架構存儲

2018-09-05 12:20:09

數據庫Redis面試題

2020-10-18 11:56:41

5G網絡技術

2020-09-25 08:58:43

推薦系統業務

2020-03-27 16:27:03

Redis數據庫

2009-09-24 10:06:42

Hibernate實例

2023-09-13 08:37:56

程序員面試catch
點贊
收藏

51CTO技術棧公眾號

欧美在线xxx| 亚洲精品一区在线观看| 自拍偷拍亚洲色图欧美| 精品免费久久久| av成人激情| 中文字幕日韩高清| 欧美人与性动交α欧美精品| 美女的胸无遮挡在线观看| 中文字幕va一区二区三区| 91精品国产91久久久久青草| 国产无套丰满白嫩对白| 欧美黄色大片在线观看| 精品久久国产字幕高潮| 男人搞女人网站| 精品精品导航| 中文字幕av一区二区三区免费看| 99久久99久久| 在线黄色av网站| 亚洲一区二区动漫| 麻豆国产va免费精品高清在线| 岛国精品资源网站| 国产精品美女久久久久人| 欧美日韩中文在线| 一级二级三级欧美| 天堂91在线| 国产精品888| 国产精品丝袜白浆摸在线| 国产大片aaa| 午夜欧美在线| 中文字幕国产日韩| 添女人荫蒂视频| 欧美.com| 欧美精选在线播放| 国产精品涩涩涩视频网站| 国内老司机av在线| 国产精品久久久久aaaa樱花| 免费成人在线观看av| 二区三区在线视频| 国产一区二区三区在线观看精品| 国产97色在线| 在线观看日韩中文字幕| 精久久久久久| 精品视频9999| 国产探花在线播放| 久久久五月天| 久久精品亚洲热| 夜夜春很很躁夜夜躁| 免费成人网www| 国产丝袜精品第一页| 香蕉视频污视频| 成人春色在线观看免费网站| 日韩欧美一二三| 三年中文在线观看免费大全中国| 国产精品久久久久久妇女| 日本精品一区二区三区四区的功能| 欧美黑人经典片免费观看| 日本精品600av| 亚洲黄色av一区| 免费cad大片在线观看| 日韩三级免费| 亚洲一区二区三区四区在线免费观看| 中文字幕色呦呦| 亚洲h片在线看| 夜色激情一区二区| 日本在线xxx| 中文字幕在线直播| 日本韩国精品在线| 亚洲欧美aaa| 日韩一二三区| 亚洲精品国精品久久99热| 色呦呦一区二区| 国产尤物久久久| 视频在线一区二区| 波多野结衣亚洲色图| 欧美日韩国产探花| 性色av一区二区三区免费| 天天干天天干天天操| 蜜桃一区二区三区在线观看| 国产综合香蕉五月婷在线| 99热这里精品| 99热在这里有精品免费| 欧美一区2区三区4区公司二百| 黄上黄在线观看| 亚洲欧洲性图库| 久无码久无码av无码| 日本成人三级电影| 欧美精品aⅴ在线视频| 麻豆tv在线观看| 蜜臀久久99精品久久一区二区| 中文字幕日本欧美| 国产精彩视频在线| 视频一区二区三区在线| 国产狼人综合免费视频| 亚洲精品福利网站| 久久久精品蜜桃| 日本丰满少妇黄大片在线观看| 久草成色在线| 欧美性猛交xxxxxxxx| 亚洲精品一区二区18漫画| 天天躁日日躁成人字幕aⅴ| 在线成人免费网站| 精品少妇久久久久久888优播| 麻豆精品网站| 国产91精品入口17c| 国产大学生校花援交在线播放| 综合欧美亚洲日本| 欧美 日韩精品| 久久伊人影院| 影音先锋欧美精品| 日韩毛片在线播放| 久久精品国产成人一区二区三区| 国产在线精品一区| 免费av网站在线观看| 欧美日韩免费区域视频在线观看| 国产三级生活片| 国产欧美日韩在线观看视频| 欧美日韩高清在线观看| 又骚又黄的视频| 91在线高清观看| 超碰10000| 成人交换视频| 亚洲黄色成人网| 欧美成人片在线观看| 日韩电影在线观看一区| 国产伦精品一区二区三区| 黄色网址视频在线观看| 91九色02白丝porn| 五月开心播播网| 在线免费高清一区二区三区| 91在线国产电影| 一广人看www在线观看免费视频| 日韩欧美在线播放| 在线天堂www在线国语对白| 欧美天堂亚洲电影院在线观看| 91精品国产综合久久久久久久久| 男女污视频在线观看| 精品二区三区线观看| 911亚洲精选| 午夜日本精品| 91九色极品视频| 91亚洲天堂| 欧美一区二区三区男人的天堂| 看黄色录像一级片| 麻豆视频一区二区| 亚洲欧美日韩国产yyy| 日韩另类视频| 一区二区成人精品| 天堂免费在线视频| 中文在线一区二区| 中文字幕第100页| 欧美韩国日本在线观看| 国产综合福利在线| 岛国成人毛片| 欧美成人官网二区| 国产亚洲欧美精品久久久久久| 国产凹凸在线观看一区二区| 肉大捧一出免费观看网站在线播放 | 精品视频导航| 日本黄色免费在线| 亚洲欧美激情在线视频| 精产国品一区二区| 中文欧美字幕免费| 国产乱叫456| 欧美午夜一区| 久久99精品久久久久久久青青日本 | 亚洲午夜精品久久久久久久久| 人妻巨大乳一二三区| 黄色免费成人| 明星裸体视频一区二区| 69堂免费精品视频在线播放| 中文字幕精品国产| www.com欧美| 天天免费综合色| 国产一区二区三区四区五区六区| 人禽交欧美网站| 日本成人在线不卡| 台湾佬综合网| 国产欧美中文字幕| 九色91在线| 亚洲欧洲在线看| 国产又粗又黄又爽| 婷婷丁香久久五月婷婷| 69精品无码成人久久久久久| 激情丁香综合五月| 青青草精品视频在线| 狠狠操综合网| www.成人av| 欧美色网在线| 久久久久五月天| 极品白浆推特女神在线观看| 日韩一区二区三区视频在线| 黄网在线观看视频| ●精品国产综合乱码久久久久| 亚洲啪av永久无码精品放毛片 | 无码h黄肉3d动漫在线观看| 日本丰满少妇一区二区三区| 日本午夜在线观看| 久久人人97超碰com| 午夜福利123| 免费在线亚洲| 欧美 日韩 国产精品| 欧美人妖在线| 国产成人免费观看| 开心久久婷婷综合中文字幕| 午夜精品久久久久久久久久久久 | 亚洲黄页在线观看| 91久久精品国产| 亚洲成人激情社区| 国内精品中文字幕| av黄色在线| 中文字幕亚洲一区二区三区五十路| 风流少妇一区二区三区91| 欧美久久久久中文字幕| 国产污视频网站| 亚洲韩国精品一区| 尤物在线免费视频| 欧美国产日韩a欧美在线观看| 国模无码视频一区| 国产一区二区三区四区五区美女 | 久久久999精品视频| 日本人妖在线| 亚洲第一页在线| 国产精品日韩无码| 精品视频一区二区三区免费| 黄色在线观看国产| 午夜精品影院在线观看| 中文字幕手机在线观看| 亚洲欧洲性图库| 美国美女黄色片| 国产嫩草影院久久久久| 玖玖爱在线观看| 99re热视频精品| 日本美女视频网站| 成人免费视频免费观看| 操人视频免费看| 韩国精品久久久| 手机av在线网| 精品午夜久久福利影院| 亚洲va综合va国产va中文| 麻豆高清免费国产一区| 欧美成人黄色网址| 麻豆专区一区二区三区四区五区| 自拍偷拍 国产| 日韩成人一级片| 嫩草av久久伊人妇女超级a| 久久男女视频| 男女无套免费视频网站动漫| 日韩av在线发布| 国产aaaaa毛片| 久久精品二区亚洲w码| 污网站免费在线| 韩日av一区二区| 91精品国产高清91久久久久久| 国产盗摄女厕一区二区三区| 久久久久久无码精品人妻一区二区| 黄色资源网久久资源365| 国产一级片中文字幕| 国产伦精品一区二区三区免费| 黑人无套内谢中国美女| 成人一级视频在线观看| 成人性生活免费看| 久久精品夜夜夜夜久久| 国产白丝一区二区三区 | www.黄色网址.com| 欧美三区不卡| 女人天堂av手机在线| 久久精品在线| 中日韩av在线播放| 国产成人精品综合在线观看| 波多野结衣一二三区| 久久久久久久综合色一本| 秋霞网一区二区三区| 亚洲精品中文字幕乱码三区| 亚洲天堂黄色片| 欧美日韩国产色视频| 国产精品xxxxxx| 欧美一区午夜精品| 香港一级纯黄大片| 在线观看视频99| 久草在线视频资源| 国产精品91久久久久久| 亚洲一区二区电影| 欧美一区二区三区在线免费观看| 欧美成人激情| 六月婷婷在线视频| 麻豆精品视频在线| 制服丝袜在线第一页| 国产亚洲欧美一级| 欧美人妻精品一区二区三区| 色综合久久久久久久久久久| 国产露脸91国语对白| 日韩电影免费观看在线观看| 免费黄网站在线| 国产91成人video| 久久影院一区二区三区| 欧美一区2区三区4区公司二百| 亚洲视频在线免费| 国产精品亚洲二区在线观看| 国产精品2024| 成人性生交大片免费看无遮挡aⅴ| 亚洲麻豆国产自偷在线| 波多野结衣电车痴汉| 精品国产亚洲一区二区三区在线观看| 成人性爱视频在线观看| 97在线视频免费| 精品一区91| 亚洲精品自在在线观看| 国产精品久久久免费| 欧美日韩理论片| 欧美国产日本韩| 在线免费黄色av| 精品国产一区二区三区av性色| 色多多视频在线观看| 欧美中文在线观看国产| 999久久精品| 经典三级在线视频| 久久91精品国产91久久小草 | 亚洲一二三区精品| 精品国产一级毛片| 国产自产在线视频| 国产一区二区三区免费看| 国产又粗又猛又爽又黄av| 亚洲国产精品人人做人人爽| 国产三级自拍视频| 中文字幕日韩av电影| 韩国精品主播一区二区在线观看| 国产日韩欧美一区二区三区四区 | 国产一二三在线视频| 狠狠色丁香九九婷婷综合五月| 国产一二三四区在线| 日本乱人伦一区| 蜜桃视频在线播放| 欧美在线亚洲一区| 九九在线精品| 丰满人妻中伦妇伦精品app| 97久久久精品综合88久久| 国产精品成人国产乱| 欧美精品一区二区在线播放| 亚洲小说区图片区都市| 亚洲精品日韩激情在线电影| 天天做天天爱综合| 欧美成人乱码一二三四区免费| 欧美国产禁国产网站cc| 真实新婚偷拍xxxxx| 在线看日韩欧美| 未满十八勿进黄网站一区不卡| 亚洲国产一区二区在线| 免费不卡在线观看| 肉色超薄丝袜脚交69xx图片| 欧美日韩电影在线| 日韩黄色影院| 亚洲a成v人在线观看| 欧美视频亚洲视频| 亚洲一级Av无码毛片久久精品| 午夜亚洲国产au精品一区二区| 无码精品人妻一区二区| 奇米一区二区三区四区久久| 久久不见久久见免费视频7| 激情综合网俺也去| 中文字幕亚洲一区二区av在线| 国产精品无码在线播放 | 久久精品99久久久久久| 亚洲高清久久网| 在线看欧美视频| 波多野结衣三级在线| 成人久久视频在线观看| 中日韩黄色大片| 中文字幕亚洲无线码在线一区| 精品欧美视频| 国产97在线 | 亚洲| 国产欧美日本一区二区三区| 91国产精品一区| 九九精品在线播放| 婷婷精品视频| 欧美日韩中文不卡| 亚洲曰韩产成在线| 九色在线播放| 亚洲jizzjizz日本少妇| 国产精品一国产精品k频道56| a天堂中文字幕| 日韩视频免费观看高清完整版在线观看 | 亚洲午夜免费| av丝袜天堂网| 亚洲自拍偷拍麻豆| 成人性爱视频在线观看| 国产成人看片| 久久91精品国产91久久小草| 久久免费视频精品| 欲色天天网综合久久| 亚洲3区在线| 福利在线一区二区三区| 亚洲午夜一区二区三区| 9色在线观看| 久久久久久久有限公司| 国内精品久久久久影院薰衣草| a v视频在线观看| 久久中文字幕在线| 精品国产一区二区三区四区| 九色91porny| 欧美日韩三级一区|