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

聊聊為什么 Redis 要有哨兵?

數據庫 Redis
Redis 在 2.8 版本以后提供的哨兵(Sentinel)機制,它的作用是實現主從故障自動轉移。它會監測主節點是否存活,如果發現主節點掛了,它就會選舉一個從節點切換為主節點,并且把新主節點的相關信息通知給從節點和客戶端。

提綱

為什么要有哨兵機制?

在 Redis 的主從架構中,由于主從模式是讀寫分離的,如果主節點(master)掛了,那么將沒有主節點來服務客戶端的寫操作請求,也沒有主節點給從節點(slave)進行數據同步了。

主節點掛了

這時如果要恢復服務的話,需要人工介入,選擇一個「從節點」切換為「主節點」,然后讓其他從節點指向新的主節點,同時還需要通知上游那些連接 Redis 主節點的客戶端,將其配置中的主節點 IP 地址更新為「新主節點」的 IP 地址。

這樣也不太“智能”了,要是有一個節點能監控「主節點」的狀態,當發現主節點掛了 ,它自動將一個「從節點」切換為「主節點」的話,那么可以節省我們很多事情啊!

Redis 在 2.8 版本以后提供的哨兵(Sentinel)機制,它的作用是實現主從節點故障轉移。它會監測主節點是否存活,如果發現主節點掛了,它就會選舉一個從節點切換為主節點,并且把新主節點的相關信息通知給從節點和客戶端。

哨兵機制是如何工作的?

哨兵其實是一個運行在特殊模式下的 Redis 進程,所以它也是一個節點。從“哨兵”這個名字也可以看得出來,它相當于是“觀察者節點”,觀察的對象是主從節點。

當然,它不僅僅是觀察那么簡單,在它觀察到有異常的狀況下,會做出一些“動作”,來修復異常狀態。

哨兵節點主要負責三件事情:監控、選主、通知。

哨兵的職責

所以,我們重點要學習這三件事情:

  • 哨兵節點是如何監控節點的?又是如何判斷主節點是否真的故障了?
  • 根據什么規則選擇一個從節點切換為主節點?
  • 怎么把新主節點的相關信息通知給從節點和客戶端呢?

如何判斷主節點真的故障了?哨兵會周期性地給所有主從節點發送 PING 命令,當主從節點收到 PING 命令后,會發送一個響應命令給哨兵,這樣就可以判斷它們是否在正常運行。

哨兵監控主從節點

如果主節點或者從節點沒有在規定的時間內響應哨兵的 PING 命令,哨兵就會將它們標記為「主觀下線」。這個「規定的時間」是配置項 down-after-milliseconds 參數設定的,單位是毫秒。

主觀下線?難道還有客觀下線?

是的沒錯,客觀下線只適用于主節點。

之所以針對「主節點」設計「主觀下線」和「客觀下線」兩個狀態,是因為有可能「主節點」其實并沒有故障,可能只是因為主節點的系統壓力比較大或者網絡發送了擁塞,導致主節點沒有在規定時間內響應哨兵的 PING 命令。

所以,為了減少誤判的情況,哨兵在部署的時候不會只部署一個節點,而是用多個節點部署成哨兵集群(最少需要三臺機器來部署哨兵集群),通過多個哨兵節點一起判斷,就可以就可以避免單個哨兵因為自身網絡狀況不好,而誤判主節點下線的情況。同時,多個哨兵的網絡同時不穩定的概率較小,由它們一起做決策,誤判率也能降低。

具體是怎么判定主節點為「客觀下線」的呢?

當一個哨兵判斷主節點為「主觀下線」后,就會向其他哨兵發起命令,其他哨兵收到這個命令后,就會根據自身和主節點的網絡狀況,做出贊成投票或者拒絕投票的響應。

當這個哨兵的贊同票數達到哨兵配置文件中的 quorum 配置項設定的值后,這時主節點就會被該哨兵標記為「客觀下線」。

例如,現在有 3 個哨兵,quorum 配置的是 2,那么一個哨兵需要 2 張贊成票,就可以標記主節點為“客觀下線”了。這 2 張贊成票包括哨兵自己的一張贊成票和另外兩個哨兵的贊成票。

PS:quorum 的值一般設置為哨兵個數的二分之一加1,例如 3 個哨兵就設置 2。

哨兵判斷完主節點客觀下線后,哨兵就要開始在多個「從節點」中,選出一個從節點來做新主節點。

如何選新主節點?

那么多「從節點」,到底選擇哪個從節點作為新主節點的?

隨機的方式好嗎?隨機的方式,實現起來很簡單,但是如果選到一個網絡狀態不好的從節點作為新主節點,那么可能在將來不久又要做一次主從故障遷移。

所以,我們首先要把網絡狀態不好的從節點給過濾掉。首先把已經下線的從節點過濾掉,然后把以往網絡連接狀態不好的從節點也給過濾掉。

怎么判斷從節點之前的網絡連接狀態不好呢?

Redis 有個叫 down-after-milliseconds * 10 配置項,其down-after-milliseconds 是主從節點斷連的最大連接超時時間。如果在 down-after-milliseconds 毫秒內,主從節點都沒有通過網絡聯系上,我們就可以認為主從節點斷連了。如果發生斷連的次數超過了 10 次,就說明這個從節點的網絡狀況不好,不適合作為新主節點。

至此,我們就把網絡狀態不好的從節點過濾掉了,接下來要對所有從節點進行三輪考察:優先級、復制進度、ID 號。在進行每一輪考察的時候,哪個從節點優先勝出,就選擇其作為新主節點。

  • 第一輪考察:哨兵首先會根據從節點的優先級來進行排序,優先級越小排名越靠前,
  • 第二輪考察:如果優先級相同,則查看復制的下標,哪個從「主節點」接收的復制數據多,哪個就靠前。
  • 第三輪考察:如果優先級和下標都相同,就選擇從節點 ID 較小的那個。

第一輪考察:優先級最高的從節點勝出

Redis 有個叫 slave-priority 配置項,可以給從節點設置優先級。

每一臺從節點的服務器配置不一定是相同的,我們可以根據服務器性能配置來設置從節點的優先級。

比如,如果 「 A 從節點」的物理內存是所有從節點中最大的, 那么我們可以把「 A 從節點」的優先級設置成最高。這樣當哨兵進行第一輪考慮的時候,優先級最高的 A 從節點就會優先勝出,于是就會成為新主節點。

第二輪考察:復制進度最靠前的從節點勝出

如果在第一輪考察中,發現優先級最高的從節點有兩個,那么就會進行第二輪考察,比較兩個從節點哪個復制進度。

什么是復制進度?主從架構中,主節點會將寫操作同步給從節點,在這個過程中,主節點會用 master_repl_offset 記錄當前的最新寫操作在 repl_backlog_buffer 中的位置,而從節點會用 slave_repl_offset 這個值記錄當前的復制進度。

如果某個從節點的 slave_repl_offset 最接近 master_repl_offset,說明它的復制進度是最靠前的,于是就可以將它選為新主節點。

第三輪考察:ID 號小的從節點勝出

如果在第二輪考察中,發現有兩個從節點優先級和復制進度都是一樣的,那么就會進行第三輪考察,比較兩個從節點的 ID 號,ID 號小的從節點勝出。

什么是 ID 號?每個從節點都有一個編號,這個編號就是 ID 號,是用來唯一標識從節點的。

到這里,選主的事情終于結束了。簡單給大家總結下:

  • 過濾掉已經離線的從節點;
  • 過濾掉歷史網絡連接狀態不好的從節點;
  • 將剩下的從節點,進行三輪考察:優先級、復制進度、ID 號。在每一輪考察過程中,如果找到了一個勝出的從節點,就將其作為新主節點。

由哪個哨兵進行主從故障轉移?

前面說過,為了更加“客觀”的判斷主節點故障了,一般不會只由單個哨兵的檢測結果來判斷,而是多個哨兵一起判斷,這樣可以減少誤判概率,所以哨兵是以哨兵集群的方式存在的。

那在選定了即將作為主節點的從節后,由哨兵集群中的哪個節點進行主從故障轉移呢?

所以這時候,還需要在哨兵集群中選出一個 leeder,讓 Leader 來執行主從切換。

選舉 leeder 的過程其實是一個投票的過程,在投票開始前,肯定得有個「候選者」。

那誰來作為候選者呢?

哪個哨兵節點判斷主節點為「客觀下線」,這個哨兵節點就是候選者,所謂的候選者就是想當 Leader 的哨兵。

舉個例子,假設有三個哨兵。當哨兵 A 先判斷到主節點「主觀下線后」,就會給其他實例發送 is-master-down-by-addr 命令。接著,其他哨兵會根據自己和主節點的網絡連接情況,做出贊成投票或者拒絕投票的響應。

當哨兵 A 收到贊成票數達到哨兵配置文件中的 quorum 配置項設定的值后,就會將主節點標記為「客觀下線」,此時的哨兵 A 就是一個Leader 候選者。

候選者如何選舉成為 Leader?

候選者會向其他哨兵發送命令,表明希望成為 Leader 來執行主從切換,并讓所有其他哨兵對它進行投票。

每個哨兵只有一次投票機會,如果用完后就不能參與投票了,可以投給自己或投給別人,但是只有候選者才能把票投給自己。

那么在投票過程中,任何一個「候選者」,要滿足兩個條件:

  • 第一,拿到半數以上的贊成票;
  • 第二,拿到的票數同時還需要大于等于哨兵配置文件中的 quorum 值。

舉個例子,假設哨兵節點有 3 個,quorum 設置為 2,那么任何一個想成為 Leader 的哨兵只要拿到 2 張贊成票,就可以選舉成功了。如果沒有滿足條件,就需要重新進行選舉。

這時候有的同學就會問了,如果某個時間點,剛好有兩個哨兵節點判斷到主節點為客觀下線,那這時不就有兩個候選者了?這時該如何決定誰是 Leader 呢?

每位候選者都會先給自己投一票,然后向其他哨兵發起投票請求。如果投票者先收到「候選者 A」的投票請求,就會先投票給它,如果投票者用完投票機會后,收到「候選者 B」的投票請求后,就會拒絕投票。這時,候選者 A 先滿足了上面的那兩個條件,所以「候選者 A」就會被選舉為 Leader。

為什么哨兵節點至少要有 3 個?

如果哨兵集群中只有 2 個哨兵節點,此時如果一個哨兵想要成功成為 Leader,必須獲得 2 票,而不是 1 票。

所以,如果哨兵集群中有個哨兵掛掉了,那么就只剩一個哨兵了,如果這個哨兵想要成為 Leader,這時票數就沒辦法達到 2 票,就無法成功成為 Leader,這時是無法進行主從節點切換的。

因此,通常我們至少會配置 3 個哨兵節點。這時,如果哨兵集群中有個哨兵掛掉了,那么還剩下兩個個哨兵,如果這個哨兵想要成為 Leader,這時還是有機會達到 2 票的,所以還是可以選舉成功的,不會導致無法進行主從節點切換。

當然,你要問,如果 3 個哨兵節點,掛了 2 個怎么辦?這個時候得人為介入了,或者增加多一點哨兵節點。

再說一個問題,Redis 1 主 4 從,5 個哨兵 ,quorum 設置為 3,如果 2 個哨兵故障,當主節點宕機時,哨兵能否判斷主節點“客觀下線”?能否自動切換?

  • 哨兵集群可以判定主節點“客觀下線”。哨兵集群還剩下 3 個哨兵,當一個哨兵判斷主節點“主觀下線”后,詢問另外 2 個哨兵后,有可能能拿到 3 張贊同票,這時就達到了 quorum 的值,因此,哨兵集群可以判定主節點為“客觀下線”。
  • 哨兵集群可以完成主從切換。當有個哨兵標記主節點為「客觀下線」后,就會進行選舉 Leader 的過程,因為此時哨兵集群還剩下 3 個哨兵,那么還是可以拿到半數以上(5/2+1=3)的票,而且也達到了 quorum 值,滿足了選舉 Leader 的兩個條件, 所以就能選舉成功,因此哨兵集群可以完成主從切換。

但是如果 quorum 設置為 2 的話,情況就不一樣了。此時哨兵集群還是可以判定主節點為“客觀下線”,但是哨兵不能完成主從切換了,大家可以自己推演下。

所以, quorum 的值建議設置為哨兵個數的二分之一加1,例如 3 個哨兵就設置 2,5 個哨兵設置為 3,而且哨兵節點的數量應該是奇數。

如何通知客戶端新主節點的信息?

經過前面一系列的操作后,哨兵集群終于完成了主從故障遷移,那么新主節點的信息要如何通知給客戶端呢?

這主要通過 Redis 的發布者/訂閱者機制來實現的。每個哨兵節點提供發布者/訂閱者機制,客戶端可以從哨兵訂閱消息。

比如,客戶端訂閱了主從切換的事件,當哨兵把新主節點選擇出來后,就會發布新主節點的 IP 地址和端口信息,這個時候客戶端就可以收到這條信息,然后用這里面的新主節點的 IP 地址和端口進行通信了。

哨兵集群是如何組成的?

前面提到了 Redis 的發布者/訂閱者機制,那就不得不提一下哨兵集群的組成方式,因為它也用到了這個技術。

在我第一次搭建哨兵集群的時候,當時覺得很詫異。因為在配置哨兵的信息時,竟然只需要填下面這幾個參數,設置主節點名字、主節點的 IP 地址和端口號以及 quorum 值。

sentinel monitor <master-name> <ip> <redis-port> <quorum> 

不需要填其他哨兵節點的信息,我就好奇它們是如何感知對方的,又是如何組成哨兵集群的?

后面才了解到,哨兵節點之間是通過 Redis 的發布者/訂閱者機制來相互發現的。

在主從集群中,主節點上有一個名為__sentinel__:hello的頻道,不同哨兵就是通過它來相互發現,實現互相通信的。

在下圖中,哨兵 A 把自己的 IP 地址和端口的信息發布到__sentinel__:hello 頻道上,哨兵 B 和 C 訂閱了該頻道。那么此時,哨兵 B 和 C 就可以從這個頻道直接獲取哨兵 A 的 IP 地址和端口號。然后,哨兵 B、C 可以和哨兵 A 建立網絡連接。

通過這個方式,哨兵 B 和 C 也可以建立網絡連接,這樣一來,哨兵集群就形成了。

哨兵集群會對「從節點」的運行狀態進行監控,那哨兵集群如何知道「從節點」的信息?

主節點知道所有「從節點」的信息,所以哨兵會向主節點發送 INFO 命令來獲取所有「從節點」的信息。

如下圖所示,哨兵 B 給主節點發送 INFO 命令,主節點接受到這個命令后,就會把從節點列表返回給哨兵。接著,哨兵就可以根據從節點列表中的連接信息,和每個從節點建立連接,并在這個連接上持續地對從節點進行監控。哨兵 A 和 C 可以通過相同的方法和從節點建立連接。

正式通過 Redis 的發布者/訂閱者機制,哨兵之間可以相互感知,然后組成集群,同時,哨兵又通過 INFO 命令,在主節點里獲得了所有從節點連接信息,于是就能和從節點建立連接,并進行監控了。

參考資料:

  • 《Redis 核心技術與實戰》
  • 《Redis 設計與實現》

總結

Redis 在 2.8 版本以后提供的哨兵(Sentinel)機制,它的作用是實現主從故障自動轉移。它會監測主節點是否存活,如果發現主節點掛了,它就會選舉一個從節點切換為主節點,并且把新主節點的相關信息通知給從節點和客戶端。

哨兵一般是以集群的方式部署,至少需要 3 個哨兵節點,哨兵集群主要負責三件事情:監控、選主、通知。

哨兵節點通過 Redis 的發布者/訂閱者機制,哨兵之間可以相互感知,相互連接,然后組成哨兵集群,同時哨兵又通過 INFO 命令,在主節點里獲得了所有從節點連接信息,于是就能和從節點建立連接,并進行監控了。

哨兵集群會通過投票的方式判定主節點是否「客觀下線」,如果判定主節點為客觀下線,那么就會從所有的「從節點」中選擇一個作為新主節點,選擇的規則有以下步驟:

  • 過濾掉已經離線的從節點;
  • 過濾掉歷史網絡連接狀態不好的從節點;
  • 將剩下的從節點,進行三輪考察:優先級、復制進度、ID 號。在每一輪考察過程中,如果找到了一個勝出的從節點,就將其作為新主節點。

選擇好從節點后,就需要從哨兵集群選擇一個 leader 執行主從切換。選舉 leader 的過程,也是一個投票的過程,任何一個想成為 leader 的哨兵節點,要滿足兩個條件:

  • 第一,拿到半數以上的贊成票;
  • 第二,拿到的票數同時還需要大于等于哨兵配置文件中的 quorum 值。

選舉完 leader 哨兵節點后,就執行主從切換。完成主從切換后,通過 Redis 的發布者/訂閱者機制通知客戶端新主節點的 IP 地址和端口。

責任編輯:武曉燕 來源: 小林coding
相關推薦

2022-07-06 13:48:24

RedisSentinel機制

2021-01-20 08:36:15

工具AtomicRefer JDK

2011-01-18 15:27:30

Postfix

2019-07-15 14:12:01

UDPIP協議

2020-07-28 00:48:54

Pythonpass語句開發

2025-02-17 11:07:10

2025-02-19 10:27:48

哨兵Redis故障轉移

2022-02-14 08:33:51

Redis哨兵集群

2018-06-05 09:14:42

Redis分布式場景

2022-05-11 08:22:54

IO負載NFSOS

2025-06-18 08:20:00

Redis數據庫線程

2022-02-21 07:54:28

單元測試編程開發

2022-07-19 08:01:32

HTTP協議RPC

2009-07-31 17:50:27

ASP.NET工作流

2022-10-08 00:00:00

websocket協議HTTP

2023-09-07 08:07:56

goHTTP網絡

2023-01-12 09:01:01

MongoDBMySQL

2022-01-19 22:51:57

設計匿名用戶

2023-12-20 14:35:37

Java虛擬線程

2021-10-21 09:10:34

微服務架構數據
點贊
收藏

51CTO技術棧公眾號

欧美亚洲视频一区| 国产精品免费一区二区三区都可以| 国产精品嫩草69影院| wwww亚洲| 国产精品久久久久天堂| 99国产超薄丝袜足j在线观看| 97免费在线观看视频| 第一社区sis001原创亚洲| 日韩欧美一级片| 国产日韩一区二区在线观看| 麻豆视频在线观看免费网站| 成人精品视频.| 国产日韩av在线| 日韩精品一区二区不卡| 91精品国产91久久久久久密臀 | 亚洲 高清 成人 动漫| 成人在线观看免费| 99久久久久久| 亚洲a级在线播放观看| 黄色在线免费观看| 亚欧美无遮挡hd高清在线视频| 亚洲精品乱码久久久久久按摩观| 亚洲一区精品视频在线观看| 中文在线аv在线| 一区二区三区在线视频观看| 视频三区二区一区| 蜜桃久久一区二区三区| 极品尤物av久久免费看| 国产成+人+综合+亚洲欧洲| 免费在线视频一区二区| 国产精品精品国产一区二区| 亚洲人a成www在线影院| 久久国产免费视频| 亚洲一区二区av| 在线亚洲人成电影网站色www| 你真棒插曲来救救我在线观看| 黄色免费在线网站| 国产精品久久久久影院色老大| 欧美1o一11sex性hdhd| 国精产品乱码一区一区三区四区| 激情久久五月天| 国产精品欧美风情| 国产主播第一页| 日韩精品乱码av一区二区| 97欧美精品一区二区三区| 久久久久久久九九九九| 亚洲精品国产成人影院| 少妇高潮 亚洲精品| 内射毛片内射国产夫妻| 精品国产91乱码一区二区三区四区 | 在线播放一区二区精品视频| 91麻豆精品国产综合久久久久久| 大西瓜av在线| 天天操中文字幕| 亚洲午夜激情在线| 色综合天天狠天天透天天伊人| 91大神福利视频| 日本久久综合| 视频在线观看一区二区| 国产一二三四区在线| 成人一区不卡| 亚洲性夜色噜噜噜7777| 91精品人妻一区二区三区| 蜜臀91精品国产高清在线观看| 国产婷婷成人久久av免费高清 | 成人一区二区三区| 国产成人成网站在线播放青青| www.色婷婷.com| 成人永久免费视频| 国产在线播放一区二区| 四虎成人免费在线| 久久精品一二三| 亚洲欧洲一区二区福利| 高h视频在线观看| 亚洲乱码精品一二三四区日韩在线| 成人免费在线视频播放| 操人在线观看| 色欧美乱欧美15图片| 91国产精品视频在线观看| 国产电影一区二区| 亚洲电影免费观看高清完整版在线观看 | 蜜桃精品视频| 精品欧美久久久| 国产伦精品一区二区三区妓女 | 久久九九有精品国产23| 欧美成人三级视频| 国产日韩欧美高清免费| 国产精品女视频| 午夜精品久久久久久久99热黄桃 | 久久综合久久久| yourporn在线观看中文站| 亚洲欧美韩国综合色| 激情小视频网站| 三级成人在线| 日韩精品一区二区三区四区| 亚洲精品成人无码熟妇在线| 国产精品久久久久久久久久10秀| 欧美激情小视频| 国产主播第一页| 成人午夜在线视频| 亚洲激情一区二区| 97人澡人人添人人爽欧美| 欧美亚洲一区二区在线观看| 少妇熟女视频一区二区三区| 精品视频国产| 欧美精品久久久久久久久久| 欧美成人精品网站| 99视频国产精品| 亚洲一区在线直播| 678在线观看视频| 欧美精品三级在线观看| 国产精品无码一区二区三区免费| 在线中文字幕第一区| 国产97色在线|日韩| 亚洲av无码乱码国产麻豆 | 欧美精品一区二区在线播放| 中文字幕精品亚洲| 国产欧美在线| 2014亚洲精品| 婷婷在线视频观看| 色偷偷一区二区三区| 国产精品亚洲一区二区无码| 99久久九九| 国产成人综合久久| 四虎影视精品成人| 亚洲sss视频在线视频| 波多野结衣在线免费观看| 黑丝美女一区二区| 57pao成人永久免费视频| www.中文字幕| 亚洲人成7777| 欧美一级小视频| 超碰成人久久| 国产精品av电影| 日本aaa在线观看| 精品动漫一区二区| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 开心色怡人综合网站| 国产亚av手机在线观看| 欧美一区二区三区在线观看| 国产在线免费看| 日本成人超碰在线观看| 欧美xxxx黑人又粗又长密月| 蜜桃视频在线网站| 日韩经典中文字幕在线观看| 一区二区三区视频免费看| 国产91色综合久久免费分享| 成人在线免费高清视频| 秋霞午夜一区二区三区视频| 欧美成人免费在线观看| 国产精品女人久久久| 中文字幕佐山爱一区二区免费| 91亚洲免费视频| 1024精品久久久久久久久| 国产在线日韩在线| 黄色的网站在线观看| 7777女厕盗摄久久久| 成人一级黄色大片| 韩国av一区二区三区四区| 免费成人深夜夜行网站视频| 国产一区 二区| 欧美激情亚洲一区| 欧美一级特黄aaaaaa| 精品国产乱码久久久久久虫虫漫画 | 国产欧美日韩精品a在线观看| 国产精品无码一本二本三本色| 青青草91久久久久久久久| 国产精品久在线观看| 一区二区三区视频网站| 91麻豆精品国产综合久久久久久| 丰满少妇高潮久久三区| 风间由美性色一区二区三区| 女人和拘做爰正片视频| 精品理论电影| 亚洲一区二区在线播放| 久久男人av资源站| 国产亚洲日本欧美韩国| 国产男女猛烈无遮挡| 亚洲国产视频直播| 久久久亚洲av波多野结衣| 免费在线观看成人| 精品91一区二区三区| 成人香蕉社区| 国产精品久久久久久五月尺| 国产一二区在线观看| 精品sm在线观看| 国产精品久久久久久久久夜色| 日韩一区在线看| 污片免费在线观看| 老司机午夜精品| 欧美中日韩在线| 精品成人影院| 国产精品一区而去| av免费在线一区| 欧美精品九九久久| 啊v视频在线| 亚洲成人三级在线| 一女二男一黄一片| 五月综合激情网| 国产黄色录像片| 91蜜桃免费观看视频| 天天综合成人网| 久久精品一区二区三区中文字幕| 天天操天天干天天玩| 九热爱视频精品视频| 99国精产品一二二线| 456成人影院在线观看| 欧美日本中文字幕| 国产视频第一页在线观看| 精品国产三级电影在线观看| 在线观看毛片视频| 狠狠干狠狠久久| 玖玖爱免费视频| 成人免费在线视频观看| www.久久国产| 成人av网站大全| 亚洲高清av一区二区三区| 三级一区在线视频先锋| 成人性生活视频免费看| 亚洲国产一成人久久精品| 日韩精品一区二区三区丰满| 加勒比色老久久爱综合网| 成人激情春色网| 成人在线观看免费视频| 茄子视频成人在线| 国产传媒在线观看| 欧美激情视频免费观看| 老司机福利在线视频| 国产一区二区三区18| 欧洲亚洲精品视频| 亚洲精品电影网站| 色噜噜在线播放| 日韩欧美成人一区二区| 国产特级aaaaaa大片| 欧美日韩国产片| 乱子伦一区二区三区| 91精品福利视频| 丰满少妇xoxoxo视频| 欧美性xxxx18| 日本熟女毛茸茸| 一本大道av伊人久久综合| 亚洲久久在线观看| 亚洲成a人v欧美综合天堂下载| 青青草原免费观看| 亚洲一区二区三区不卡国产欧美 | 欧美性猛交视频| 国产污污视频在线观看 | 国产欧美一区二区精品忘忧草| 我和岳m愉情xxxⅹ视频| 91美女在线视频| 波多野吉衣中文字幕| 国产亚洲精品久| 精品无码人妻一区二区免费蜜桃| 久久九九久久九九| 97在线观看免费视频| 国产精品美女一区二区在线观看| 久久免费手机视频| 国产精品成人一区二区三区夜夜夜 | 国产美女主播在线观看| 91精品婷婷国产综合久久性色| 国产女人18毛片水18精| 日韩视频一区二区三区| 二区三区在线视频| 亚洲精品理论电影| 国产黄色片在线观看| 日韩视频永久免费观看| 2024最新电影免费在线观看| 久久久久久久999精品视频| av在线小说| 国产成人精品久久二区二区| 国产精品天堂蜜av在线播放| 91久久精品国产91久久| 澳门精品久久国产| 久久精品国产第一区二区三区最新章节 | 精品国产成人系列| 深夜福利视频一区| 一区二区三区美女xx视频| 免费在线观看黄色| 欧美激情第一页xxx| 一根才成人网| 国产这里只有精品| 精品午夜电影| 日韩国产伦理| 午夜天堂精品久久久久| 国产精品沙发午睡系列| 久久精品国产精品亚洲精品 | 一级黄色免费看| 精品成人免费观看| eeuss影院www在线播放| 欧美贵妇videos办公室| 伊伊综合在线| 亚洲999一在线观看www| 亚洲8888| 欧美日韩中文字幕在线播放| 久久国产毛片| 亚洲综合中文网| 国产日韩精品一区| 欧美成人综合色| 在线看不卡av| 黑人精品一区二区三区| 日韩一区二区精品视频| 男人久久天堂| 91亚洲精品久久久| 久久91麻豆精品一区| 欧美交换配乱吟粗大25p| 视频在线观看一区| av天堂一区二区| 国产精品久久久久桃色tv| 欧美三级午夜理伦| 欧美一级日韩不卡播放免费| 黄色的视频在线免费观看| 欧美激情视频在线观看| 性欧美video另类hd尤物| 久久亚洲免费| 在线观看一区视频| 亚洲一二三av| 国产精品乱子久久久久| 91精品国产综合久久久蜜臀九色| 精品日韩99亚洲| 日韩精品黄色| 国产精品久久激情| 亚洲国产国产| 国产成人无码精品久久久性色| 丁香婷婷深情五月亚洲| 69av视频在线| 欧美日韩不卡一区| 高清性色生活片在线观看| 欧美一区二区大胆人体摄影专业网站| 一区二区三区在线免费看| 永久域名在线精品| 免费观看久久久4p| 在线视频第一页| 在线免费观看日韩欧美| 免费在线黄色影片| 91成人在线视频| 精品国产午夜肉伦伦影院| 成人av在线播放观看| 国内成人免费视频| 免费成人深夜夜行网站| 欧美日韩色一区| 日韩精品黄色| 国产在线播放91| 97精品视频| 红桃视频 国产| 亚洲日本在线天堂| 国产视频在线观看视频| 另类美女黄大片| 日韩成人在线观看视频| 成人黄色大片网站| 波多野结衣在线一区| 日本在线观看中文字幕| 亚洲精品美女在线观看播放| 女人让男人操自己视频在线观看 | 国产精品久久久久久久久久99| 国产精品一区二区av日韩在线 | 日韩在线观看第一页| 亚洲国模精品一区| 中文字幕乱码在线播放| 日本欧美色综合网站免费| 视频一区中文字幕国产| www亚洲色图| 3d动漫精品啪啪一区二区竹菊| 搞黄网站在线观看| 国产伦精品一区二区三区高清版| 亚洲日产国产精品| 中国毛片在线观看| 欧美美女网站色| 调教一区二区| 久久婷婷国产综合尤物精品| 日韩精品免费专区| 国产精品嫩草影院俄罗斯| 欧美电影免费提供在线观看| av老司机免费在线| 日本精品免费| 韩国成人精品a∨在线观看| 久久久久亚洲av无码专区 | 免费网站免费进入在线| 97超碰人人看人人| 国产情侣久久| 萌白酱视频在线| 精品久久久久av影院| 一级毛片久久久| gogogo免费高清日本写真| 成人午夜在线免费| 国产黄色免费视频| 久久99久久99精品中文字幕| 欧美一级一片| 五月激情婷婷在线| 午夜精品一区二区三区电影天堂| 国产中文在线观看| 99久热re在线精品996热视频| 国产精品乱看| 岛国毛片在线观看| 日韩精品高清在线| 久久久精品区| 熟妇人妻无乱码中文字幕真矢织江| 亚洲九九爱视频| 国产福利小视频在线观看| 成人看片视频| 久久99精品久久久久久动态图|