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

Redis哨兵集群原理講解和Docker-compose安裝Redis哨兵集群

數據庫 Redis
當master節點宕機后,我們就不能寫數據到Redis,所以需要搭建一個三節點形成的Sentinel集群,來監管之前的Redis主從集群

今日目標

  • 掌握Docker-compose安裝Redis哨兵集群

單節點Redis的并發能力是有上限的,要進一步提高Redis的并發能力,就需要搭建主從集群,實現讀寫分離

  • 主節點: 可以對Redis實現讀寫操作
  • 從節點: 只可以對Redis實現讀操作

但是,當master節點宕機后,我們就不能寫數據到Redis,所以需要搭建一個三節點形成的Sentinel集群,來監管之前的Redis主從集群

1.Redis哨兵

Redis提供了哨兵(Sentinel)機制來實現主從集群的自動故障恢復。

哨兵的結構如圖:

圖片圖片

共包含6個節點,一個主兩個從和三個哨兵。這里我們會在同一臺虛擬機中開啟6個redis實例,模擬主從集群,信息如下:

IP

PORT

角色

192.168.150.102

6380

master

192.168.150.102

6381

slave

192.168.150.102

6382


slave

192.168.150.102

26379

sentinel

192.168.150.102

26380

sentinel

192.168.150.102

26381

sentinel

哨兵的作用如下:

  • 監控:Sentinel 會不斷檢查您的master和slave是否按預期工作
  • 自動故障恢復:如果master故障Sentinel會將一個slave提升為master。當故障實例恢復后也以新的master為主
  • 通知:Sentinel充當Redis客戶端的服務發現來源,當集群發生故障轉移時會將最新信息推送給Redis的客戶端

2. 準備實例和配置

要在同一臺虛擬機開啟6個實例,必須準備6份不同的配置文件和目錄,配置文件所在目錄也就是工作目錄。 確保下面的配置已經更改(位置也別錯)

# master
mkdir -p /redis-master-slave-sentinel/redis/master/config /redis-master-slave-sentinel/redis/master/data
cd /redis-master-slave-sentinel/redis/master/config
curl -O -L http://download.redis.io/releases/redis-6.0.20.tar.gz
tar -zxvf redis-6.0.20.tar.gz
cp /redis-master-slave-sentinel/redis/master/config/redis-6.0.20/redis.conf  /redis-master-slave-sentinel/redis/master/config/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /redis-master-slave-sentinel/redis/master/config/redis.conf

# slave-1
mkdir -p /redis-master-slave-sentinel/redis/slave-1/config /redis-master-slave-sentinel/redis/slave-1/data
cd /redis-master-slave-sentinel/redis/slave-1/config/
cp /redis-master-slave-sentinel/redis/master/config/redis-6.0.20/redis.conf   /redis-master-slave-sentinel/redis/slave-1/config/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /redis-master-slave-sentinel/redis/slave-1/config/redis.conf 

# slave-2
mkdir -p /redis-master-slave-sentinel/redis/slave-2/config /redis-master-slave-sentinel/redis/slave-2/data
cd /redis-master-slave-sentinel/redis/slave-2/config/
cp /redis-master-slave-sentinel/redis/master/config/redis-6.0.20/redis.conf   /redis-master-slave-sentinel/redis/slave-2/config/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /redis-master-slave-sentinel/redis/slave-2/config/redis.conf


#redis-sentinel-1
mkdir -p /redis-master-slave-sentinel/sentinel/redis-sentinel-1  /redis-master-slave-sentinel/sentinel/redis-sentinel-1/s1
cd  /redis-master-slave-sentinel/sentinel/redis-sentinel-1


cat >> /redis-master-slave-sentinel/sentinel/redis-sentinel-1/sentinel.conf <<EOF
# 配置可參考 http://download.redis.io/redis-stable/sentinel.conf
# 配置說明 https://redis.io/topics/sentinel
port 26379
dir /tmp
sentinel monitor mymaster 192.168.150.102 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
EOF



#redis-sentinel-2
mkdir -p /redis-master-slave-sentinel/sentinel/redis-sentinel-2  /redis-master-slave-sentinel/sentinel/redis-sentinel-2/s2
cd  /redis-master-slave-sentinel/sentinel/redis-sentinel-2


cat >> /redis-master-slave-sentinel/sentinel/redis-sentinel-2/sentinel.conf <<EOF
# 配置可參考 http://download.redis.io/redis-stable/sentinel.conf
# 配置說明 https://redis.io/topics/sentinel
port 26379
dir /tmp
sentinel monitor mymaster 192.168.150.102 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
EOF


#redis-sentinel-3
mkdir -p /redis-master-slave-sentinel/sentinel/redis-sentinel-3  /redis-master-slave-sentinel/sentinel/redis-sentinel-3/s3
cd  /redis-master-slave-sentinel/sentinel/redis-sentinel-3


cat >> /redis-master-slave-sentinel/sentinel/redis-sentinel-3/sentinel.conf <<EOF
# 配置可參考 http://download.redis.io/redis-stable/sentinel.conf
# 配置說明 https://redis.io/topics/sentinel
port 26379
dir /tmp
sentinel monitor mymaster 192.168.150.102 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
EOF

sentinel.conf說明

port 26379
dir /tmp
sentinel monitor mymaster 192.168.150.102 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

sentinel.conf解讀

  • port 26379:是當前sentinel實例的端口
  • sentinel monitor mymaster 192.168.150.102 6380 2:指定主節點信息 ○ mymaster:主節點名稱,自定義,任意寫 ○ 192.168.150.102 6380:主節點的ip和端口 ○ 2:選舉master時的quorum值
  • sentinel auth-pass mymaster 123456 :訪問主節點時的密碼

如果您覺得本文不錯,歡迎關注,點贊,收藏支持,您的關注是我堅持的動力!

3. docker-compose-redis-master-slave-sentinel.yml文件的編寫

創建名稱為docker-compose-redis-master-slave-sentinel.yml用于安裝Redis哨兵集群docker-compose文件

version: '3'

# 網橋redis -> 方便相互通訊
networks:
  redis:

services:
  # ============================ ↓↓↓↓↓↓ redis ↓↓↓↓↓↓ ============================

  # 主
  redis-master:
    image: redis:6.0.20                    # 鏡像'redis:6.0.20'
    container_name: redis-master                                                      # 容器名為'redis-master'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-server /etc/redis/redis.conf --port 6380 --requirepass 123456 --masterauth 123456 --appendonly no # 啟動redis服務并添加密碼為:123456, 當主redis下線重啟后變成從redis時認證主redis密碼:123456, 默認不開啟redis-aof方式持久化配置
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 數據卷掛載路徑設置,將本機目錄映射到容器目錄
      - "/redis-master-slave-sentinel/redis/master/data:/data"
      - "/redis-master-slave-sentinel/redis/master/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件內容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6380:6380"
  # 從1
  redis-slave-1:
    image: redis:6.0.20                   # 鏡像'redis:6.0.20'
    container_name: redis-slave-1                                                    # 容器名為'redis-slave-1'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-server /etc/redis/redis.conf --port 6381 --requirepass 123456 --appendonly no --slaveof 192.168.150.102 6380 --masterauth 123456 # 啟動redis服務并添加密碼為:123456,默認不開啟redis-aof方式持久化配置,連接并認證master節點
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 數據卷掛載路徑設置,將本機目錄映射到容器目錄
      - "/redis-master-slave-sentinel/redis/slave-1/data:/data"
      - "/redis-master-slave-sentinel/redis/slave-1/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件內容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6381:6381"
    depends_on:
      - redis-master
    links:
      - redis-master
  # 從2
  redis-slave-2:
    image: redis:6.0.20                   # 鏡像'redis:6.0.20'
    container_name: redis-slave-2                                                    # 容器名為'redis-slave-2'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-server /etc/redis/redis.conf --port 6382 --requirepass 123456 --appendonly no --slaveof 192.168.150.102 6380 --masterauth 123456 # 啟動redis服務并添加密碼為:123456,默認不開啟redis-aof方式持久化配置,連接并認證master節點
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 數據卷掛載路徑設置,將本機目錄映射到容器目錄
      - "/redis-master-slave-sentinel/redis/slave-2/data:/data"
      - "/redis-master-slave-sentinel/redis/slave-2/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件內容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6382:6382"
    depends_on:
      - redis-master
    links:
      - redis-master

  # ============================ ↓↓↓↓↓↓ sentinel ↓↓↓↓↓↓ ============================

  redis-sentinel-1:
    image: redis:6.0.20                    # 鏡像'redis:6.0.20'
    container_name: redis-sentinel-1                                                  # 容器名為'redis-sentinel-1'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-sentinel /etc/redis/sentinel.conf
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:
      - "26379:26379"
    volumes:
      - "/redis-master-slave-sentinel/sentinel/redis-sentinel-1/sentinel.conf:/etc/redis/sentinel.conf" # `sentinel.conf`文件內容`http://download.redis.io/redis-stable/sentinel.conf`
    depends_on:
      - redis-master
      - redis-slave-1
      - redis-slave-2
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2
  redis-sentinel-2:
    image: redis:6.0.20                    # 鏡像'redis:6.0.20'
    container_name: redis-sentinel-2                                                  # 容器名為'redis-sentinel-2'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-sentinel /etc/redis/sentinel.conf
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:
      - "26380:26379"
    volumes:
      - "/redis-master-slave-sentinel/sentinel/redis-sentinel-2/sentinel.conf:/etc/redis/sentinel.conf" # `sentinel.conf`文件內容`http://download.redis.io/redis-stable/sentinel.conf`
    depends_on:
      - redis-master
      - redis-slave-1
      - redis-slave-2
      - redis-sentinel-1
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2
  redis-sentinel-3:
    image: redis:6.0.20                    # 鏡像'redis:6.0.20'
    container_name: redis-sentinel-3                                                  # 容器名為'redis-sentinel-3'
    restart: unless-stopped                                                                   # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經停止了的容器
    command: redis-sentinel /etc/redis/sentinel.conf
    environment:                        # 設置環境變量,相當于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:
      - "26381:26379"
    volumes:
      - "/redis-master-slave-sentinel/sentinel/redis-sentinel-3/sentinel.conf:/etc/redis/sentinel.conf" # `sentinel.conf`文件內容`http://download.redis.io/redis-stable/sentinel.conf`
    depends_on:
      - redis-master
      - redis-slave-1
      - redis-slave-2
      - redis-sentinel-1
      - redis-sentinel-2
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2

3.1. 運行 -- 哨兵模式(sentinel監視redis主從服務

運行 -- 哨兵模式(sentinel監視redis主從服務,當某個master服務下線時,自動將該master下的某個從服務升級為master服務替代已下線的master服務繼續處理請求 -- 即主節點切換)

docker-compose -f docker-compose-redis-master-slave-sentinel.yml -p redis up -d

圖片圖片

3.2 測試

  • 1.哨兵模式查看
# 連接redis-sentinel-1
docker exec -it redis-sentinel-1 redis-cli -p 26379
  • 2.查看redis主信息
sentinel master mymaster

圖片圖片

  1. 查看redis從信息
sentinel slaves mymaster

圖片圖片

  • 4.查看 哨兵redis-sentinel-1日志
docker logs -f redis-sentinel-1

圖片圖片

  1. 進入redis-slave-1容器
docker exec -it redis-master redis-cli -h 192.168.150.102 -p 6381 -a 123456

圖片圖片

  1. 關閉redis-master主節點
docker stop redis-master

發現主節點從master節點,轉換為slave-2節點

圖片圖片

  1. 進入redis-slave-2容器
docker exec -it redis-master redis-cli -h 192.168.150.102 -p 6382 -a 123456
  • 7.查看集群狀態
info replication

發現現在從節點只剩一個

圖片圖片

  • 8.重啟master節點
docker start redis-master

圖片圖片

  • 9.再次查看集群狀態
info replication

發現master節點添加回來了,但是變成了從節點

圖片圖片

3.3. 卸載哨兵集群

docker-compose -f docker-compose-redis-master-slave-sentinel.yml -p redis down

3.4. 集群故障恢復原理

哨兵master自己從當前集群中的slave節點中選出一個新的master,原則是

  • 1-首先會判斷slave節點與master節點斷開時間長短,如果超過指定值(down-after-milliseconds * 10)則會排除該slave節點
  • 2-然后判斷slave節點的slave-priority值,越小優先級越高,如果是0則永不參與選舉
  • 3-如果slave-prority一樣,則判斷slave節點的offset值,越大說明數據越新,優先級越高
  • 4-最后是判斷slave節點的運行id大小,越小優先級越高。

3.5. 哨兵集群監控原理

Sentinel基于心跳機制監測服務狀態,每隔1秒向集群的每個實例發送ping命令:

  • 主觀下線:如果某sentinel節點發現某實例未在規定時間響應,則認為該實例主觀下線。
  • 客觀下線:若超過指定數量(quorum)的sentinel都認為該實例主觀下線,則該實例客觀下線。quorum值最好超過Sentinel實例數量的一半。

圖片圖片

總結

Sentinel的三個作用是什么

  • 監控
  • 故障轉移
  • 通知

Sentinel如何判斷一個redis實例是否健康

  • 每隔1秒發送一次ping命令,如果超過一定時間沒有相向則認為是主觀下線
  • 如果大多數sentinel都認為實例主觀下線,則判定服務下線
責任編輯:武曉燕 來源: springboot葵花寶典
相關推薦

2023-09-26 01:07:34

2023-10-26 07:47:53

Redis哨兵集群

2020-02-07 09:44:30

Redis哨兵數據庫

2020-04-14 21:12:42

Redis集群Linux

2022-02-11 08:41:19

WindowsRedis集群

2021-03-31 05:57:40

集群搭建哨兵集群Redis

2021-04-01 08:50:54

SentinelRedis 集群原理

2025-06-27 02:44:00

2019-09-03 15:45:31

Redis分片集群

2023-04-11 08:30:52

2022-06-28 07:31:11

哨兵模式redis

2024-04-29 08:06:19

Redis分布式系統

2022-02-14 08:33:51

Redis哨兵集群

2025-10-09 09:28:50

2023-11-13 09:03:10

2024-07-16 08:38:06

2020-06-08 08:20:11

Redis高可用集群

2022-05-31 08:04:03

Redis高可用集群

2020-06-17 08:53:19

Redis集群SSH

2025-02-20 08:24:41

點贊
收藏

51CTO技術棧公眾號

免费日韩一级片| 特种兵之深入敌后| 草草影院在线观看| 狠狠色综合播放一区二区| 久久精品最新地址| 青青草视频网站| 日本.亚洲电影| 亚洲精品自拍动漫在线| 久久久久久久久久久一区| www.五月婷婷.com| 亚洲视频一二| 中文字幕久久精品| 精品人妻在线视频| jvid一区二区三区| 亚洲成人一区在线| 伊人久久大香线蕉午夜av| 日本韩国免费观看| 蜜桃91丨九色丨蝌蚪91桃色| 久久久久久久久久久av| 天堂av网手机版| 精品久久97| 欧美一区二区视频网站| 成人在线免费播放视频| 国产盗摄精品一区二区酒店| 国产精品久久久久久久蜜臀| 久久99九九| www.香蕉视频| 久久国内精品视频| 日本中文字幕久久看| 久久精品www| 99精品在线| 国产一区二区三区日韩欧美| 五月开心播播网| 免费欧美网站| 欧美日韩国产一区二区三区地区| 动漫av网站免费观看| 国产第一页在线视频| 亚洲美女精品一区| 中文字幕一区二区三区四区五区六区| 久久精品a一级国产免视看成人 | 无码国产精品一区二区色情男同| 精品在线免费视频| 国产精品一区久久久| 亚洲婷婷综合网| 一本一本久久| 98视频在线噜噜噜国产| 欧美xxxx黑人xyx性爽| 日韩在线中文| 日韩在线中文视频| 精品一区二区6| 成人在线电影在线观看视频| 国产亚洲精品美女| 一区二区伦理片| 国产欧美日韩在线观看视频| 亚洲免费一级电影| 在线免费观看日韩av| 五月激激激综合网色播| 亚洲国产精品国自产拍av秋霞| 久久久无码人妻精品无码| 久久精品九色| 欧美xxxxxxxx| 人妻互换一二三区激情视频| 给我免费播放日韩视频| 欧美精品一区二区三区在线| 黄色免费看视频| 女仆av观看一区| 日韩精品免费在线观看| 亚洲精品成人无码熟妇在线| 蜜桃一区二区三区| 国产亚洲欧洲高清一区| 国产成人在线网址| 久久久五月天| 久久久久久久国产精品| 国产99久久久| 免费人成网站在线观看欧美高清| 国产欧美日韩免费| 国产免费一区二区三区免费视频| 国产乱码一区二区三区| 国产视频不卡| 精品影院一区| 成人欧美一区二区三区1314| 超碰人人爱人人| 91高清视频在线观看| 日韩欧美一区二区三区久久| 手机看片福利日韩| 麻豆国产一区| 亚洲福利在线视频| 亚洲AV无码国产成人久久| 日韩精品影视| 欧美高清第一页| 中文字幕一区在线播放| 久久国产成人午夜av影院| 成人字幕网zmw| 天天干免费视频| 国产精品麻豆久久久| 欧美国产综合在线| 日韩色淫视频| 日韩美一区二区三区| 色无极影院亚洲| 亚洲天堂一区二区三区四区| 91精品91久久久久久| 中文字幕制服诱惑| www.性欧美| 亚洲黄色成人久久久| 成年人视频免费在线播放| 欧美性感一区二区三区| 久久久久亚洲av无码网站| 国产免费久久| 欧美极品少妇xxxxⅹ免费视频| 亚洲欧美偷拍一区| 国产成人aaa| 亚洲成人av动漫| 国产亚洲成av人片在线观看| 欧美日韩成人综合| 五级黄高潮片90分钟视频| 亚洲九九视频| 国产精品va在线播放| 亚洲欧美黄色片| 国产精品成人免费精品自在线观看| 精品视频在线观看一区| 精品国产18久久久久久二百| 亚洲人成电影网站色| 久久久久成人网站| 捆绑调教一区二区三区| 日本不卡在线观看| 99re6在线精品视频免费播放| 在线播放欧美女士性生活| 成人免费看aa片| 亚洲小说欧美另类社区| 亚洲一区中文字幕| 亚洲成a人v欧美综合天堂麻豆| 欧美日韩免费在线观看| 国产51自产区| 激情久久久久久久| 999热视频| 久久综合网导航| 欧美日韩一级片网站| 国产伦理片在线观看| 亚洲一区二区网站| 韩日午夜在线资源一区二区| 免费毛片在线看片免费丝瓜视频| 制服丝袜av成人在线看| 国产又黄又粗又猛又爽的| 视频一区二区三区在线| 欧美日韩免费精品| 超碰aⅴ人人做人人爽欧美| 亚洲福利视频久久| 日韩欧美激情视频| 99久久精品国产导航| 国产一区二区视频播放| 国产伦理久久久久久妇女| 欧美极品在线播放| 人成网站在线观看| 亚洲成人tv网| 国产偷人妻精品一区| 国产精品久久久久9999高清| 久久免费一区| 偷拍视频一区二区三区| 国产一区二区三区精品久久久 | 国产在线观看91| 91精品欧美福利在线观看| 女同久久另类69精品国产| 美女脱光内衣内裤视频久久影院| 亚洲欧洲一区二区在线观看| 香蕉久久久久久| 毛片精品免费在线观看| 丰满岳乱妇国产精品一区| 亚洲v日本v欧美v久久精品| 中文字幕乱视频| 久久久人人人| 亚洲精品高清国产一线久久| 在线视频成人| 欧美精品久久一区二区| 天堂视频中文在线| 在线亚洲免费视频| 伊人久久久久久久久久久久久久| 国产乱码精品一区二区三区五月婷| 精品成在人线av无码免费看| 欧美绝顶高潮抽搐喷水合集| 国产成人久久精品| 欧美激情黑人| 亚洲国产精久久久久久 | 97免费资源站| 9999在线视频| 亚洲欧美一区二区三区情侣bbw| 中文天堂在线视频| 亚洲午夜精品在线| 日本理论中文字幕| 国产精品一卡二卡在线观看| 我的公把我弄高潮了视频| 国产精品午夜一区二区三区| 91久久精品国产91久久性色| h片精品在线观看| 国产亚洲精品久久久久久| av一区二区三| 色婷婷久久久综合中文字幕 | 日本a级不卡| www日韩av| 免费电影日韩网站| 久久伊人精品天天| 毛片免费在线播放| 91精品国产欧美一区二区成人| 国内免费精品视频| 国产精品免费久久久久| 丰满岳乱妇一区二区| 美国av一区二区| 免费观看国产精品视频| 国产精品videosex性欧美| 久久综合色一本| 国产日韩在线观看视频| 欧洲亚洲女同hd| 日韩影视在线| 日韩一区二区三区国产| 天堂av网在线| 精品久久久久久无| 国产精品久久无码一三区| 日韩欧美在线免费观看| 久久网一区二区| 亚洲欧洲在线观看av| 国产成人福利在线| 成人国产精品视频| 国产黑丝在线视频| 男人的天堂久久精品| 日韩精品视频久久| 亚洲第一黄网| 国产亚洲精品久久久久久久| 99热精品久久| 亚洲免费不卡| 波多野结衣一区| 日本一区视频在线观看免费| 日韩美女毛片| 狠狠色综合色区| 超碰97久久国产精品牛牛| 亚洲aaa激情| 99久久99九九99九九九| 欧美日韩国产在线播放网站| 狠狠热免费视频| 性xx色xx综合久久久xx| 欧美人成在线观看| 欧美另类综合| 亚洲欧美二区三区| 亚洲精品美女在线观看| 99re8这里只有精品| 欧美日本三级| 91精品免费看| 91大神在线观看线路一区| 欧亚精品在线观看| 国产99在线观看| 国产最新精品视频| 9999热视频在线观看| 久久久人成影片一区二区三区观看| 蜜桃视频在线观看www社区| 日韩福利在线播放| 日av在线播放| 欧美精品一区二区精品网| 亚洲国产精品无码久久| 欧美videofree性高清杂交| 国产精品人人妻人人爽| 欧美精选在线播放| 国产精品久久久久久免费| 91精品蜜臀在线一区尤物| 国产黄色片免费观看| 日韩精品一区在线观看| 五十路在线观看| 亚洲人成电影在线| 色开心亚洲综合| 精品综合久久久久久97| 国内小视频在线看| 欧美在线免费观看| 精品日韩视频| 成人网在线观看| 久久中文字幕导航| 日本一区高清在线视频| 99久久www免费| 成人免费在线视频播放| 亚洲免费黄色| 深夜黄色小视频| 国产成人亚洲精品青草天美| 在线免费观看污视频| 日本一区二区免费在线观看视频| аⅴ天堂中文在线网| 亚洲免费大片在线观看| 好吊操这里只有精品| 日本道色综合久久| 国产三级按摩推拿按摩| 日韩大陆欧美高清视频区| av播放在线| 欧美精品久久一区二区| 91国内外精品自在线播放| 成人黄视频免费| 久9久9色综合| 狠狠干视频网站| 日韩中文字幕麻豆| 免费黄色av网址| 久久精品夜夜夜夜久久| 免费看一级一片| 色婷婷久久久亚洲一区二区三区| 国产免费久久久| 亚洲男人第一网站| 日本中文字幕中出在线| 国产精品黄页免费高清在线观看| 亚洲精品福利| 亚洲欧洲精品一区二区三区波多野1战4| 狠狠综合久久| 色婷婷.com| 久久久久久免费网| 免费视频网站www| 欧美日韩视频在线观看一区二区三区| 欧美一级特黄aaaaaa大片在线观看 | 伊人av综合网| 91在线三级| 亚洲自拍中文字幕| 欧洲视频一区| 国产精品50p| 成人精品免费视频| 97在线观看免费高| 欧美自拍偷拍午夜视频| 午夜视频福利在线观看| 欧美日韩不卡合集视频| 欧美爱爱视频| 日韩伦理一区二区三区av在线| 日韩午夜一区| 国产在线a视频| 中文字幕一区二区三区四区 | 日韩中文字幕91| 超碰男人的天堂| 亚洲成人精品一区| 丰满人妻妇伦又伦精品国产| 久久精品国产亚洲精品| 懂色aⅴ精品一区二区三区| 久久久久久久久久久久久久久久av| 亚洲先锋成人| 亚洲av无码久久精品色欲| 中文字幕一区二区三区精华液| www.亚洲激情| 亚洲偷欧美偷国内偷| 韩国主播福利视频一区二区三区| 黑人另类av| 国产精品日韩久久久| 美女又爽又黄免费| 午夜电影久久久| 日本精品一二区| 午夜精品久久久99热福利| 99久热这里只有精品视频免费观看| 日本黄xxxxxxxxx100| 国产在线播放一区| 国产精品久久久精品四季影院| 91精品国产欧美一区二区| av黄在线观看| av日韩中文字幕| 亚洲天堂黄色| 欧类av怡春院| 欧美日韩在线视频首页| 欧美zozo| 国产精品久久久久秋霞鲁丝| 欧美熟乱15p| 永久免费的av网站| 国产精品久久久久三级| 99久久精品免费看国产交换| 欧美二区在线播放| 凹凸av导航大全精品| 免费一级特黄特色毛片久久看| av成人老司机| 日本久久综合网| 少妇久久久久久| 欧美久久亚洲| 国产素人在线观看| 国产午夜久久久久| 在线观看一二三区| 欧美成年人视频| 欧美性生活一级片| 免费观看成人网| ...xxx性欧美| 高清一区二区三区四区| 日本精品久久久| 色777狠狠狠综合伊人| 欧美性猛交乱大交| 欧美日韩国产激情| 大片免费播放在线视频| 91免费视频国产| 亚洲三级网站| 日韩不卡av在线| 日韩免费观看高清完整版| 在线免费看h| 正在播放国产精品| av在线这里只有精品| 中文字幕一区二区久久人妻| 欧美福利视频网站| 国产欧美日韩在线一区二区| 奇米777在线视频| 欧美视频中文在线看| 黄色精品在线观看| 久久久精品动漫| 国产一区二区三区在线观看免费视频| 亚欧视频在线观看| 久久综合电影一区| 久久爱www成人| 久久人妻少妇嫩草av蜜桃| 91高清在线观看| 操人在线观看|