精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

深夜成人影院| 青梅竹马是消防员在线| 合欧美一区二区三区| 亚洲精品在线免费观看视频| 国产精品999视频| 国产永久免费高清在线观看 | 91视频 -- 69xx| 国产在线观看免费网站| 国产成人在线视频播放| 日本亚洲欧洲色| 成年人av电影| japanese国产精品| 亚洲精品在线免费观看视频| 成人亚洲精品777777大片| 免费污视频在线观看| 国产欧美精品区一区二区三区| 亚洲自拍小视频免费观看| 国产亚洲欧美在线精品| 国产精品magnet| 亚洲视频在线观看免费| 欧美做受高潮中文字幕| 日韩美女在线| 91久久一区二区| 亚洲人成无码网站久久99热国产| 麻豆影院在线| 国产午夜精品一区二区三区嫩草| 99精品99久久久久久宅男| 国产精品成人久久久| 亚洲大胆av| 欧美老肥婆性猛交视频| 一本色道久久88| 国产一区二区电影在线观看| 亚洲国产精品网站| 国产女主播在线播放| 亚洲伦理一区二区| 欧美色大人视频| 激情网站五月天| 欧美aa在线观看| 亚洲成av人片在线| www.18av.com| 日韩123区| 亚洲综合av网| 欧美精品一区二区性色a+v| 在线观看免费黄视频| 国产欧美中文在线| 欧美日本国产精品| 欧美xxx.com| 久久久噜噜噜久久人人看| 精品综合在线| 婷婷色在线观看| 不卡一区二区在线| 黄色小网站91| 亚州视频一区二区三区| 99国产精品国产精品毛片| 精品一区二区不卡| 免费成人av电影| 久久精品水蜜桃av综合天堂| 欧美日韩国产综合在线| 国产高清免费在线播放| 欧美激情一区在线| 一区二区三区精品国产| 成人短视频在线| 亚洲综合色区另类av| 国产美女主播在线| 草草视频在线| 色狠狠一区二区| 日本人视频jizz页码69| 日韩黄色三级| 日韩精品一区二区三区四区| 亚洲v在线观看| 无码少妇一区二区三区| 亚洲天堂久久av| 青青操在线播放| 国产精品jizz在线观看美国| 97精品免费视频| 久久国产乱子伦精品| 青青草成人在线观看| 成人在线视频福利| 蜜臀av免费在线观看| 91在线精品一区二区三区| 日本一区网站| 羞羞污视频在线观看| 欧美日韩一区二区三区在线免费观看| 久久综合久久色| 国产精品xnxxcom| 亚洲国产精品va在线观看黑人| 加勒比一区二区| 91成人影院| 欧美一级成年大片在线观看| 一区二区小视频| av在线综合网| 亚洲一区在线免费| sm久久捆绑调教精品一区| 欧美性一级生活| 稀缺小u女呦精品呦| 精品美女久久久| 欧美国产日韩在线| 中文字幕视频在线播放| 不卡大黄网站免费看| 午夜午夜精品一区二区三区文| 国产一区久久精品| 一本色道久久综合亚洲91| 亚洲欧美日韩一二三区| 最新亚洲精品| 久久久亚洲天堂| 国产又爽又黄又嫩又猛又粗| 91在线精品一区二区三区| 91手机视频在线| 在线成人视屏| 亚洲国产成人精品久久| 在线免费看av网站| 久久一本综合频道| 国产亚洲欧美一区二区| 精品国产99久久久久久| 在线一区二区视频| 亚洲调教欧美在线| 国产精品扒开腿做爽爽爽软件| 国产成人在线视频| 爽爽视频在线观看| 午夜电影一区二区三区| 伊人免费视频二| 色喇叭免费久久综合| 人人爽久久涩噜噜噜网站| 好吊色在线观看| 一区二区三区日本| 中文字幕在线观看日| 精品99在线| 欧美一区二区视频97| 后进极品白嫩翘臀在线视频| 亚洲同性gay激情无套| 一区二区三区免费播放| 久操成人av| 欧美中文字幕视频| 清纯唯美亚洲色图| 精品动漫一区二区| www.男人天堂| 日韩午夜一区| 精品国产一区二区三| 国产啊啊啊视频在线观看| 日韩西西人体444www| 东方av正在进入| 国产乱一区二区| 日本xxx免费| 免费一级欧美片在线观看网站| 日韩在线视频观看| 国产精品自产拍| 亚洲精品日日夜夜| youjizz.com日本| 亚洲小说欧美另类婷婷| 国产区一区二区| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 日韩综合一区二区三区| 欧美成人四级hd版| 亚洲爱爱综合网| 亚洲成人在线观看视频| 国产精品无码在线| 米奇777在线欧美播放| 免费99视频| 成人精品国产| 久久国产精品久久久久久| 超碰在线播放97| 午夜欧美视频在线观看| 巨胸大乳www视频免费观看| 天堂成人国产精品一区| 先锋影音亚洲资源| 91麻豆精品一二三区在线| 九九精品在线视频| 性xxxx视频| 欧美在线不卡视频| 日韩黄色免费观看| 91丨九色丨蝌蚪富婆spa| 凹凸日日摸日日碰夜夜爽1| 日韩在线第七页| 91久久久一线二线三线品牌| 欧美一级鲁丝片| 亚洲天堂第一页| 国产精品热久久| 午夜在线电影亚洲一区| 亚洲成人黄色av| 国产精一品亚洲二区在线视频| 国产乱子伦精品无码专区| 猛男gaygay欧美视频| 成人黄色免费片| 日韩激情电影| 久久精品国产久精国产一老狼| 性一交一乱一精一晶| 一本色道a无线码一区v| 永久免费看mv网站入口| 波波电影院一区二区三区| 日本美女高潮视频| 欧美三区视频| 欧美日韩亚洲一区二区三区在线观看 | 国产一区2区| 91青青草免费观看| 欧美自拍电影| 久久6精品影院| 国产小视频福利在线| 欧美一级xxx| 波多野结衣网站| 亚洲国产婷婷综合在线精品| 欧美人妻一区二区三区| 成人精品一区二区三区四区 | 日韩三级免费看| 中文字幕一区二区三区四区| 超碰97在线资源站| 国产美女精品一区二区三区| 男人的天堂99| 激情一区二区| 裸体裸乳免费看| 日韩中文首页| 欧美三日本三级少妇三99| 日韩精品亚洲专区在线观看| 国产精品久久久久久久久久久久久久| 黄页在线观看免费| 久久国产精彩视频| 成a人v在线播放| 亚洲欧美在线x视频| 亚洲av无码乱码在线观看性色 | 亚洲精品中文字幕成人片| 欧美日本韩国一区二区三区视频| 国产黄色免费观看| 亚洲一卡二卡三卡四卡五卡| 91麻豆精品成人一区二区| 国产日产精品一区| 瑟瑟视频在线观看| av不卡在线播放| 国产精品91av| 国模少妇一区二区三区| 国产一级片自拍| 免费的国产精品| 亚洲精品视频导航| 久久只有精品| 国产午夜福利视频在线观看| 亚洲福利一区| 日韩欧美不卡在线| 国精品一区二区三区| 日本免费a视频| 欧美片第1页综合| 日韩一区二区高清视频| 9191国语精品高清在线| 超碰在线免费观看97| 欧美电影《轻佻寡妇》| 一区二区三区av| 97精品中文字幕| 一区二区三区欧美成人| 亚洲国产日韩欧美在线| 超碰在线免费观看97| 亚洲精品99| 激情视频小说图片| 欧美成人午夜| 国产一区二区四区| 一道本一区二区| 国产精品无码专区av在线播放| 国产精品一卡| 久久国产色av免费观看| 日韩高清一区在线| 污污动漫在线观看| 国产一区二区不卡在线| 黄色片子免费看| 成人妖精视频yjsp地址| 国产一级二级视频| 久久久精品黄色| 少妇高潮在线观看| 一片黄亚洲嫩模| 国产精品黄色大片| 在线观看亚洲精品视频| 一级特黄录像免费看| 日韩欧美一区在线| 日本在线丨区| 综合久久五月天| 在线中文字幕-区二区三区四区| 欧美精品激情视频| 视频二区不卡| 91色视频在线导航| 国产精品tv| 先锋影音网一区| 欧美三级第一页| 中文字幕无码不卡免费视频| 久久99精品一区二区三区 | 国产一区二区在线视频你懂的| 蜜桃传媒视频第一区入口在线看| 日韩av在线播放网址| 欧美日韩中文字幕在线播放| 国产美女诱惑一区二区| 91插插插插插插插插| 国产不卡一区视频| 影音先锋制服丝袜| 亚洲午夜久久久久久久久电影院 | 日韩激情电影| 成人午夜在线观看| 亚洲春色h网| 穿情趣内衣被c到高潮视频| 男人的天堂亚洲在线| 国内精品国产三级国产aⅴ久| 91一区二区三区在线观看| 乱老熟女一区二区三区| 精品国产乱码久久久久久天美| 亚洲在线精品视频| 亚洲精品suv精品一区二区| 国产精品视频二区三区| 久久久久久久国产精品| 日本h片久久| 噜噜噜噜噜久久久久久91| 亚洲成av人电影| 天天操天天爱天天爽| 成人国产电影网| 黑人狂躁日本娇小| 一本高清dvd不卡在线观看| 亚洲经典一区二区三区| 日韩在线免费av| 欧美xxx性| 九九九九精品| 狠狠爱成人网| www.日本久久| 国产精品久久久久国产精品日日| 男人的天堂一区| 精品国产乱码久久久久久浪潮| 色网站在线看| 国产精品精品视频一区二区三区| 久久亚洲道色| 国产曰肥老太婆无遮挡| 国产精品性做久久久久久| 老司机福利在线观看| 欧美影院精品一区| 户外极限露出调教在线视频| 91av在线播放视频| 黑色丝袜福利片av久久| 50度灰在线观看| 国产精品一区二区果冻传媒| 熟女少妇a性色生活片毛片| 在线观看精品一区| 黄色片在线播放| 琪琪亚洲精品午夜在线| 天海翼亚洲一区二区三区| 精品久久久久久无码中文野结衣| 国产精品99久久久| 玖玖爱这里只有精品| 欧美一区二区三区喷汁尤物| 国产视频在线播放| 91视频国产高清| 伊人久久大香线| 美女被艹视频网站| 亚洲一区中文在线| 亚洲男女视频在线观看| 韩国视频理论视频久久| 日本欧美韩国国产| 国内外成人免费激情视频| 国产亚洲综合性久久久影院| 久久久精品毛片| 这里只有精品视频| 亚洲午夜国产成人| 老司机午夜免费福利视频| 成人的网站免费观看| 懂色av.com| 亚洲欧美第一页| 国产91在线播放精品| 免费成人进口网站| 东方aⅴ免费观看久久av| 亚洲精品77777| 亚洲天堂网站在线观看视频| 成人精品一区二区三区电影| 国产精品久久成人免费观看| 丁香另类激情小说| 69成人免费视频| 最近2019中文字幕大全第二页| 日韩亚洲国产免费| 妺妺窝人体色www看人体| av电影在线观看完整版一区二区| 国产视频1区2区| 色偷偷888欧美精品久久久| 日韩精品中文字幕一区二区| 国产日韩欧美精品在线观看| 久久久精品国产免费观看同学| 91精东传媒理伦片在线观看| 久久99精品久久久久久琪琪| 亚洲aaa级| 毛片毛片毛片毛| 亚洲观看高清完整版在线观看 | 中文一区二区在线观看| 99久久久国产精品无码免费| 77777少妇光屁股久久一区| 日韩欧美一区二区三区在线视频 | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 美女视频黄 久久| 久久久综合久久| 国产亚洲一区精品| 视频二区欧美| www.天天射.com| 亚洲无人区一区| 色欧美激情视频在线| 国产精品日韩一区二区免费视频 | 91精品国产自产在线| 99亚洲视频| 欧美xxxooo| 亚洲色图激情小说| gogo人体一区| 伊人网在线综合| 色哟哟日韩精品| ririsao久久精品一区| 中文字幕第一页亚洲|