成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 詳解三分鐘快速搭建分布式高可用的Redis集群

詳解三分鐘快速搭建分布式高可用的Redis集群

熱門標(biāo)簽:鄭州人工智能電銷機(jī)器人系統(tǒng) 山東外呼銷售系統(tǒng)招商 宿遷便宜外呼系統(tǒng)平臺 魔獸2青云地圖標(biāo)注 超呼電話機(jī)器人 日本中國地圖標(biāo)注 貴州電銷卡外呼系統(tǒng) 十堰營銷電銷機(jī)器人哪家便宜 北京400電話辦理收費(fèi)標(biāo)準(zhǔn)

這里的Redis集群指的是Redis Cluster,它是Redis在3.0版本正式推出的專用集群方案,有效地解決了Redis分布式方面的需求。當(dāng)單機(jī)內(nèi)存、并發(fā)、流量等遇到瓶頸的時(shí)候,可以采用這種Redis Cluster方案進(jìn)行解決。

分區(qū)規(guī)則

Redis Cluster采用虛擬槽(slot)進(jìn)行數(shù)據(jù)分區(qū),即使用分散度良好的哈希函數(shù)把所有鍵映射到一個(gè)固定范圍的整數(shù)集合里,這里的整數(shù)就是槽(slot)。Redis Cluster槽的范圍是0~16383,計(jì)算公式:slot=CRC16(key) 16383。

白嫖小貼士:CRC16是一種高質(zhì)量的哈希算法,可以使每個(gè)槽所映射的鍵通常比較均勻。

當(dāng)集群中有3個(gè)節(jié)點(diǎn)時(shí),每個(gè)節(jié)點(diǎn)平均大概負(fù)責(zé)5461個(gè)槽以及槽所映射的鍵值數(shù)據(jù)。這樣一來,可以解耦數(shù)據(jù)與節(jié)點(diǎn)之間的關(guān)系,簡化節(jié)點(diǎn)擴(kuò)容和縮容的難度。節(jié)點(diǎn)自身維護(hù)槽的映射關(guān)系,不需要客戶端或代理服務(wù)維護(hù)分區(qū)信息。

不過,Redis Cluster相對于單機(jī)還是存在一些限制的,比如:

  • 批量操作鍵支持有限,僅支持具有相同槽的鍵進(jìn)行批量操作。
  • 事務(wù)操作鍵支持有限,僅支持在同一個(gè)節(jié)點(diǎn)上多個(gè)鍵的事務(wù)操作。
  • 不支持多個(gè)數(shù)據(jù)空間。單機(jī)Redis可以支持16個(gè)數(shù)據(jù)庫,而Cluster模式下只能使用一個(gè)數(shù)據(jù)庫空間。

扯了這么多Redis Cluster的分區(qū)規(guī)則,下面我們開始步入正題。

手動搭建

把Redis Cluster搭建起來總共幾步?答:三步!第一步把冰箱門打開。第二步把大象關(guān)進(jìn)去。第三步把冰箱門帶上。不好意思,段子暴露年齡了。集群搭建需要以下三個(gè)步驟:

  • 準(zhǔn)備節(jié)點(diǎn)。
  • 節(jié)點(diǎn)握手。
  • 分配槽。

Redis Cluster由多個(gè)節(jié)點(diǎn)組成,節(jié)點(diǎn)數(shù)量至少有6個(gè)才能組成一個(gè)完整高可用的集群,其中有3個(gè)主節(jié)點(diǎn)和3個(gè)從節(jié)點(diǎn),我們就以此為例搭建一個(gè)Redis Cluster。

準(zhǔn)備節(jié)點(diǎn)

首先,為6個(gè)節(jié)點(diǎn)(同一臺機(jī)器上的6380、6381、6382、6383、6384、6385端口)分別創(chuàng)建配置文件,以6380端口的節(jié)點(diǎn)為例:

# 節(jié)點(diǎn)端口
port 6380
#日志文件
logfile "log/redis-6380.log"
# 開啟集群模式
cluster-enabled yes
# 集群配置文件
cluster-config-file "data/nodes-6380.conf"

保持文件名為redis-6380.conf,其他節(jié)點(diǎn)的配置文件替換成各自的端口。準(zhǔn)備好配置文件后啟動所有節(jié)點(diǎn),命令如下:

src/redis-server conf/redis-6380.conf 
src/redis-server conf/redis-6381.conf 
src/redis-server conf/redis-6382.conf 
src/redis-server conf/redis-6383.conf 
src/redis-server conf/redis-6384.conf 
src/redis-server conf/redis-6385.conf 

檢測日志是否正確,以下是6380端口的節(jié)點(diǎn)的日志:

 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=3031, just started
 # Configuration loaded
 * No cluster configuration found, I'm df1ac987f47dea35f1d0a83c3b405f0ef86892ab
 * Running mode=cluster, port=6380.

6380端口的節(jié)點(diǎn)啟動成功,第一次啟動時(shí)如果沒有集群配置文件,Redis會自動創(chuàng)建一個(gè)。6380端口的節(jié)點(diǎn)創(chuàng)建的集群配置文件如下:

df1ac987f47dea35f1d0a83c3b405f0ef86892ab :0@0 myself,master - 0 0 0 connected
vars currentEpoch 0 lastVoteEpoch 0

集群文件中記錄的集群的狀態(tài),這里最重要的是節(jié)點(diǎn)ID,它是一個(gè)40位的16進(jìn)制字符串,用于唯一標(biāo)識集群中的這個(gè)節(jié)點(diǎn)。同樣,也可以通過cluster nodes命令查看集群節(jié)點(diǎn)狀態(tài)。比如在6380端口的節(jié)點(diǎn)上執(zhí)行命令:

127.0.0.1:6380> cluster nodes
df1ac987f47dea35f1d0a83c3b405f0ef86892ab :6380@16380 myself,master - 0 0 0 connected

目前,我們已經(jīng)成功啟動了6個(gè)節(jié)點(diǎn),但是它們只能識別自己的節(jié)點(diǎn)信息,互相之間并不認(rèn)識。下面我們通過節(jié)點(diǎn)握手讓這6個(gè)節(jié)點(diǎn)互相之間建立聯(lián)系從而組成一個(gè)集群。

節(jié)點(diǎn)握手

節(jié)點(diǎn)握手是一些運(yùn)行在集群模式下的節(jié)點(diǎn)通過Gossip協(xié)議互相通信,達(dá)到感知彼此的過程。

白嫖小貼士:Gossip協(xié)議是基于流行病傳播方式的節(jié)點(diǎn)或者進(jìn)程之間信息交換的協(xié)議,在分布式系統(tǒng)中被廣泛使用。

節(jié)點(diǎn)握手通過客戶端執(zhí)行cluster meet命令實(shí)現(xiàn),它是一個(gè)異步命令,執(zhí)行之后立刻返回,在Redis內(nèi)部異步發(fā)起與目標(biāo)節(jié)點(diǎn)的握手通信,該命令的語法如下:

cluster meet 目標(biāo)節(jié)點(diǎn)IP 目標(biāo)節(jié)點(diǎn)端口

把6個(gè)節(jié)點(diǎn)加到一個(gè)集群中:

127.0.0.1:6380> cluster meet 127.0.0.1 6381
OK
127.0.0.1:6380> cluster meet 127.0.0.1 6382
OK
127.0.0.1:6380> cluster meet 127.0.0.1 6383
OK
127.0.0.1:6380> cluster meet 127.0.0.1 6384
OK
127.0.0.1:6380> cluster meet 127.0.0.1 6385
OK

只需要在集群中任意節(jié)點(diǎn)上執(zhí)行cluster meet命令加入新的節(jié)點(diǎn),握手狀態(tài)會通過消息在集群中傳播,其他節(jié)點(diǎn)也會自動發(fā)現(xiàn)新節(jié)點(diǎn)并與之發(fā)起握手流程。

我們再執(zhí)行一下cluster nodes命令,檢查一下6個(gè)節(jié)點(diǎn)是否已經(jīng)組成集群:

127.0.0.1:6380> cluster nodes
1e1f45677d7b9b0130d03193f0bcec34578ac47d 127.0.0.1:6385@16385 master - 0 1586617919021 5 connected
df1ac987f47dea35f1d0a83c3b405f0ef86892ab 127.0.0.1:6380@16380 myself,master - 0 1586617916000 2 connected
5846b66ebe4fb4a5dcfd035652cc471f7e412752 127.0.0.1:6381@16381 master - 0 1586617917005 1 connected
a435cf98c3444b0b110a224401e397a107c453ef 127.0.0.1:6384@16384 master - 0 1586617914988 4 connected
71e0e9e9a6f0c7c85dbe0d396846a9072625c5e8 127.0.0.1:6383@16383 master - 0 1586617918013 3 connected
e25590603c7a254cce43aa8437861c5c425d753d 127.0.0.1:6382@16382 master - 0 1586617916000 0 connected

可以看到,6個(gè)節(jié)點(diǎn)都在集群中了。不過,此時(shí)因?yàn)檫€沒有為集群中的節(jié)點(diǎn)分配槽,集群還處于下線狀態(tài),所有的數(shù)據(jù)讀寫都是被禁止的。比如:

127.0.0.1:6380> set onemore study
(error) CLUSTERDOWN Hash slot not served

接下來,我們?yōu)榧褐械墓?jié)點(diǎn)分配槽。

分配槽

我們把6380、6382、6384端口的節(jié)點(diǎn)作為主節(jié)點(diǎn),負(fù)責(zé)處理槽和相關(guān)數(shù)據(jù);6381、6383、6385端口的節(jié)點(diǎn)分別作為從節(jié)點(diǎn),負(fù)責(zé)故障轉(zhuǎn)移。先把16384個(gè)槽平均分配給6380、6382、6384端口的節(jié)點(diǎn),為節(jié)點(diǎn)分配槽是通過cluster addslots命令實(shí)現(xiàn):

# ./redis-cli -h 127.0.0.1 -p 6380 cluster addslots {0..5461}
OK
# ./redis-cli -h 127.0.0.1 -p 6382 cluster addslots {5462..10922}
OK
# ./redis-cli -h 127.0.0.1 -p 6384 cluster addslots {10923..16383}
OK

我們再執(zhí)行一下cluster nodes命令,檢查一下槽是否已經(jīng)分配:

127.0.0.1:6380> cluster nodes
1e1f45677d7b9b0130d03193f0bcec34578ac47d 127.0.0.1:6385@16385 master - 0 1586619468000 5 connected
df1ac987f47dea35f1d0a83c3b405f0ef86892ab 127.0.0.1:6380@16380 myself,master - 0 1586619464000 2 connected 0-5461
5846b66ebe4fb4a5dcfd035652cc471f7e412752 127.0.0.1:6381@16381 master - 0 1586619467000 1 connected
a435cf98c3444b0b110a224401e397a107c453ef 127.0.0.1:6384@16384 master - 0 1586619467000 4 connected 10923-16383
71e0e9e9a6f0c7c85dbe0d396846a9072625c5e8 127.0.0.1:6383@16383 master - 0 1586619467348 3 connected
e25590603c7a254cce43aa8437861c5c425d753d 127.0.0.1:6382@16382 master - 0 1586619468355 0 connected 5462-10922

再使用cluster replicate命令把一個(gè)節(jié)點(diǎn)變成從節(jié)點(diǎn).,這個(gè)命令必須在從節(jié)點(diǎn)上運(yùn)行,它的語法是:

cluster replicate 主節(jié)點(diǎn)ID

把6381、6383、6385端口的節(jié)點(diǎn)變成對應(yīng)6380、6382、6384端口的節(jié)點(diǎn)的從節(jié)點(diǎn):

# ./redis-cli -h 127.0.0.1 -p 6381
127.0.0.1:6381> cluster replicate df1ac987f47dea35f1d0a83c3b405f0ef86892ab
OK
127.0.0.1:6381> exit
# ./redis-cli -h 127.0.0.1 -p 6383
127.0.0.1:6383> cluster replicate e25590603c7a254cce43aa8437861c5c425d753d
OK
127.0.0.1:6383> exit
# ./redis-cli -h 127.0.0.1 -p 6385
127.0.0.1:6385> cluster replicate a435cf98c3444b0b110a224401e397a107c453ef
OK
127.0.0.1:6385> exit

我們再執(zhí)行一下cluster nodes命令,檢查一下集群狀態(tài)和主從關(guān)系:

127.0.0.1:6380> cluster nodes
df1ac987f47dea35f1d0a83c3b405f0ef86892ab 127.0.0.1:6380@16380 myself,master - 0 1586620148000 2 connected 0-5461
5846b66ebe4fb4a5dcfd035652cc471f7e412752 127.0.0.1:6381@16381 slave df1ac987f47dea35f1d0a83c3b405f0ef86892ab 0 1586620150000 2 connected
e25590603c7a254cce43aa8437861c5c425d753d 127.0.0.1:6382@16382 master - 0 1586620151000 0 connected 5462-10922
71e0e9e9a6f0c7c85dbe0d396846a9072625c5e8 127.0.0.1:6383@16383 slave e25590603c7a254cce43aa8437861c5c425d753d 0 1586620152220 3 connected
a435cf98c3444b0b110a224401e397a107c453ef 127.0.0.1:6384@16384 master - 0 1586620150000 4 connected 10923-16383
1e1f45677d7b9b0130d03193f0bcec34578ac47d 127.0.0.1:6385@16385 slave a435cf98c3444b0b110a224401e397a107c453ef 0 1586620149000 5 connected

自此,RedisCluster已經(jīng)手動搭建完成。手動搭建可以理解集群建立的流程和細(xì)節(jié),不過大家也會發(fā)現(xiàn)手動搭建有很多步驟,當(dāng)集群的節(jié)點(diǎn)比較多的時(shí)候,肯定會讓人頭大。所以Redis官方提供了redis-trib.rb工具,可以讓我們快速地搭建集群。

自動搭建

redis-trib.rb是使用Ruby開發(fā)的Redis Cluster的管理工具,不需要額外下載,默認(rèn)位于源碼包的src目錄下,但因?yàn)樵摴ぞ呤怯肦uby開發(fā)的,所以需要準(zhǔn)備相關(guān)的依賴環(huán)境。

環(huán)境準(zhǔn)備

安裝Ruby:

yum -y install zlib-devel
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz
tar xvf ruby-2.5.1.tar.gz
cd ruby-2.5.1/
./configure -prefix=/usr/local/ruby
make
make install
cd /usr/local/ruby/
cp bin/ruby /usr/local/bin
cp bin/gem /usr/local/bin

安裝rubygem redis依賴:

wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem

安裝redis-trib.rb:

cp src/redis-trib.rb /usr/local/bin

執(zhí)行redis-trib.rb命令確認(rèn)一下環(huán)境是否準(zhǔn)備正確:

# redis-trib.rb help
Usage: redis-trib command> options> arguments ...>

 create     host1:port1 ... hostN:portN
         --replicas arg>
 check      host:port
 info      host:port
 fix       host:port
         --timeout arg>
 reshard     host:port
         --from arg>
...此處省略一萬個(gè)字...

搭建集群

像前面的內(nèi)容講的,準(zhǔn)備好節(jié)點(diǎn)配置并啟動:

src/redis-server conf/redis-7380.conf 
src/redis-server conf/redis-7381.conf 
src/redis-server conf/redis-7382.conf 
src/redis-server conf/redis-7383.conf 
src/redis-server conf/redis-7384.conf 
src/redis-server conf/redis-7385.conf 

使用redis-trib.rb create命令完成節(jié)點(diǎn)握手和槽分配的工作,命令如下:

redis-trib.rb create --replicas 1 127.0.0.1:7380 127.0.0.1:7382 127.0.0.1:7384 127.0.0.1:7381 127.0.0.1:7383 127.0.0.1:7385

其中--replicas參數(shù)用來指定集群中每個(gè)主節(jié)點(diǎn)有幾個(gè)從節(jié)點(diǎn),這里設(shè)置的是1。命令執(zhí)行后,會首先給出主從節(jié)點(diǎn)的分配計(jì)劃:

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7380
127.0.0.1:7382
127.0.0.1:7384
Adding replica 127.0.0.1:7383 to 127.0.0.1:7380
Adding replica 127.0.0.1:7385 to 127.0.0.1:7382
Adding replica 127.0.0.1:7381 to 127.0.0.1:7384
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: c25675d021c377c91f860986025e3779d89ede79 127.0.0.1:7380
  slots:0-5460 (5461 slots) master
M: 58980a81b49de31383802d7d21d6782881678922 127.0.0.1:7382
  slots:5461-10922 (5462 slots) master
M: 3f00a37d2c7a5ea40671c8f2934f66d059157a4a 127.0.0.1:7384
  slots:10923-16383 (5461 slots) master
S: 6f7dd93973a8332305831e6b7b5e2c54c15b3b51 127.0.0.1:7381
  replicates 3f00a37d2c7a5ea40671c8f2934f66d059157a4a
S: 03e01f82a935ed7f977af092e6a9cb71057df68a 127.0.0.1:7383
  replicates c25675d021c377c91f860986025e3779d89ede79
S: 2cf3883e974a709b7070d6c4d7c528d9fa813358 127.0.0.1:7385
  replicates 58980a81b49de31383802d7d21d6782881678922
Can I set the above configuration? (type 'yes' to accept):

如果我們同意這份計(jì)劃就輸入yes,之后就會開始執(zhí)行節(jié)點(diǎn)握手和槽分配,輸入如下:

>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join....
>>> Performing Cluster Check (using node 127.0.0.1:7380)
M: c25675d021c377c91f860986025e3779d89ede79 127.0.0.1:7380
  slots:0-5460 (5461 slots) master
  1 additional replica(s)
M: 58980a81b49de31383802d7d21d6782881678922 127.0.0.1:7382
  slots:5461-10922 (5462 slots) master
  1 additional replica(s)
S: 2cf3883e974a709b7070d6c4d7c528d9fa813358 127.0.0.1:7385
  slots: (0 slots) slave
  replicates 58980a81b49de31383802d7d21d6782881678922
S: 03e01f82a935ed7f977af092e6a9cb71057df68a 127.0.0.1:7383
  slots: (0 slots) slave
  replicates c25675d021c377c91f860986025e3779d89ede79
S: 6f7dd93973a8332305831e6b7b5e2c54c15b3b51 127.0.0.1:7381
  slots: (0 slots) slave
  replicates 3f00a37d2c7a5ea40671c8f2934f66d059157a4a
M: 3f00a37d2c7a5ea40671c8f2934f66d059157a4a 127.0.0.1:7384
  slots:10923-16383 (5461 slots) master
  1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

集群創(chuàng)建完成后,還可以使用redis-trib.rb check命令檢查集群是否創(chuàng)建成功,具體命令如下:

# redis-trib.rb check 127.0.0.1:7380
>>> Performing Cluster Check (using node 127.0.0.1:7380)
M: c25675d021c377c91f860986025e3779d89ede79 127.0.0.1:7380
  slots:0-5460 (5461 slots) master
  1 additional replica(s)
M: 58980a81b49de31383802d7d21d6782881678922 127.0.0.1:7382
  slots:5461-10922 (5462 slots) master
  1 additional replica(s)
S: 2cf3883e974a709b7070d6c4d7c528d9fa813358 127.0.0.1:7385
  slots: (0 slots) slave
  replicates 58980a81b49de31383802d7d21d6782881678922
S: 03e01f82a935ed7f977af092e6a9cb71057df68a 127.0.0.1:7383
  slots: (0 slots) slave
  replicates c25675d021c377c91f860986025e3779d89ede79
S: 6f7dd93973a8332305831e6b7b5e2c54c15b3b51 127.0.0.1:7381
  slots: (0 slots) slave
  replicates 3f00a37d2c7a5ea40671c8f2934f66d059157a4a
M: 3f00a37d2c7a5ea40671c8f2934f66d059157a4a 127.0.0.1:7384
  slots:10923-16383 (5461 slots) master
  1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

可以看到,所有的槽都已分配到節(jié)點(diǎn)上,大功告成!

到此這篇關(guān)于詳解三分鐘快速搭建分布式高可用的Redis集群的文章就介紹到這了,更多相關(guān)Redis搭建分布式高可用集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 淺談Redis在微服務(wù)架構(gòu)中的幾種應(yīng)用場景
  • redis三種高可用方式部署的實(shí)現(xiàn)
  • Redis5之后版本的高可用集群搭建的實(shí)現(xiàn)
  • Redis為什么快如何實(shí)現(xiàn)高可用及持久化
  • Redis服務(wù)之高可用組件sentinel詳解
  • Redis Sentinel實(shí)現(xiàn)高可用配置的詳細(xì)步驟
  • 解析高可用Redis服務(wù)架構(gòu)分析與搭建方案

標(biāo)簽:江蘇 朝陽 吉安 大慶 臺州 果洛 楊凌 北京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解三分鐘快速搭建分布式高可用的Redis集群》,本文關(guān)鍵詞  詳解,三分鐘,快速,搭建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解三分鐘快速搭建分布式高可用的Redis集群》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解三分鐘快速搭建分布式高可用的Redis集群的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美国产日韩一区| 精品国产欧美| 欧美三级午夜理伦三级小说| 2021最新国产精品一区| 中文字幕一区二区三区四区视频| 一本久久知道综合久久| 亚洲乱码国产乱码精品精的特点| 又黄又爽无遮挡| 国产在线视频第一页| 久久青青草综合| 天堂√在线中文官网在线| aa国产精品| 国产欧美一区二区三区小说| 欧美一区视频| 自拍偷拍亚洲视频| 成人免费网站观看| 色就是色欧美色图| jizz性欧美| 高清成人免费视频| 五月激情综合色| 中文字幕不卡在线观看| 精品无人乱码一区二区三区的优势| 国产激情一区二区三区桃花岛亚洲| 精品97人妻无码中文永久在线| 亚洲字幕av一区二区三区四区| 日本欧美在线视频免费观看| 欧美高清一级大片| 97视频在线看| 欧美成人黄色| 久久久久久久久久综合| caoporn国产精品免费公开| 中文字幕av一区二区三区人| 国产美女久久久久| 欧美视频久久| 日韩美女免费线视频| av片免费观看| 欧美做受喷浆在线观看| 免费在线一级片| 欧美国产日韩一区二区三区| 亚洲一区二区精品久久av| 欧美特黄aaaaaaaa大片| www.噜噜色.com| 超碰97在线资源站| h视频在线免费| 欧美一区二区三区性视频| 免费a级人成a大片在线观看| 国产偷人妻精品一区| 国产精品久久久久久久久久辛辛| 欧美xxxx网站| 永久免费毛片在线播放不卡| 奇米四色中文综合久久| 免费av小说| 久久麻豆视频| 中文字幕一区二区三区有限公司| 日本福利视频一区| 福利二区91精品bt7086| 日韩美女在线播放| 欧美超强性xxxxx| 亚洲aaaaaaa| 日韩精品中文字幕一区| 在线观看成人免费视频| 国产美女在线观看一区| 美女激情视频网站| 日本 欧美 国产| 国精品无码人妻一区二区三区| 国产真实乱偷精品视频免| 中国黄色a级片| 不卡一卡二卡三乱码免费网站| 婷婷四房综合激情五月| 中文字幕一区二区三区四区视频| 成人在线视频观看| 国产成人免费在线观看不卡| 欧美在线看片a免费观看| 国产不卡一区二区在线播放| 91亚洲午夜在线| 在线免费福利| 国产丝袜护土调教在线视频| 欧美一级大片免费看| 久久久久亚洲av无码网站| avhd101老司机| 日本一区二区视频在线| 91亚洲一区精品| 中文字幕一区二区三区波野结| 高清不卡一区二区在线| 老太脱裤子让老头玩xxxxx| 女人又爽又黄免费女仆| 男人的天堂官网| 51久久精品夜色国产麻豆| 中文字幕日韩第一页| 日本午夜免费福利视频| 欧美日本精品| 美女100%露胸无遮挡| 日韩欧美亚洲一区二区三区| av成人动漫在线观看| 国产精品一区久久| 制服.丝袜.亚洲.另类.中文| 亚洲电影中文字幕在线观看| 在线观看免费小视频| 午夜小视频免费| 国产日产精品一区二区三区的介绍| 成人精品免费视频| 国产精品视频a| 日本综合一区二区三区| 午夜激情综合网| 久久国产麻豆精品| 日本视频在线观看一区二区三区| 不卡视频在线播放| 久久精品最新免费国产成人| 手机看片一级片| 99久久精品久久亚洲精品| 五月激情六月丁香| 福利视频一区二区三区四区| 欧美日韩免费在线视频| 国产一级生活片| 国产一区二区在线电影| 午夜剧场成人观在线视频免费观看| 欧美第一黄网免费网站| 九九热在线视频| 亚洲一区999| 日韩一级片免费视频| 三年中国中文在线观看免费播放| 色婷婷精品大在线视频| 国产精品永久在线| 色先锋久久影院av| 九色在线视频蝌蚪| 国产视频精品在线| 国产亚洲精品女人久久久久久| 欧美色综合一区二区三区| 高清不卡一区二区在线| 国产精品男女猛烈高潮激情| 成人在线免费播放视频| 日本一区二区三区久久久久久久久不| 米奇777超碰欧美日韩亚洲| 天堂av8在线| 欧美一级夜夜爽| 欧美视频在线播放一区| 日本不卡视频在线观看| 濑亚美莉一二区在线视频| 欧美视频三区在线播放| 伊人365影院| 欧美精品久久久久久久久久丰满| 嗯啊主人调教在线播放视频| 久99久视频| 久久九九精品| 国产精品青青草| 欧美一区二区三区精品| 亚洲国产黄色片| 91丨porny丨最新| 欧美中文字幕在线| 欧美日韩欧美一区二区| 亚洲精品.com| 国产人成亚洲第一网站在线播放| 在线观看av资源网| 国产一区二区三区视频在线播放| 91原创在线视频| 成年在线电影| 青青青青久久精品国产一百度| 欧美成人一区二区三区在线观看| 国产酒店精品激情| 亚洲欧美国产三级| av先锋影音资源站| 日韩三级一区二区三区| 日韩一区二区三区免费| 日本三级韩国三级欧美三级| 国产成人午夜电影网| www.涩涩涩| 欧美一级片在线观看| 91影院在线播放| 乱人伦中文字幕在线zone| 永久免费的av网站| 国产精品久久婷婷六月丁香| 日韩免费一级视频| 97色伦图片97综合影院| www久久久com| 日韩精品专区在线| 国产成人久久精品| 欧美精品一区二区三区一线天视频| 亚欧洲乱码视频| 亚洲熟妇无码av| 艳妇乳肉豪妇荡乳xxx| 永久免费未视频| 国产av熟女一区二区三区| 午夜不卡影院| 久久动漫亚洲| 91p在线观看| 91超碰免费在线| 青青久精品观看视频最新| 日韩av片子| 亚洲日本久久久| 精品成人乱色一区二区| 视频一区在线播放| 欧美一区二区免费观在线| 精品福利视频导航大全| 77777少妇光屁股久久一区| 国产成人天天5g影院在线观看| 一区二区三区日韩| 日韩精品电影网站| 一级做a爰片久久毛片16| 精品国产伦一区二区三区观看体验| 亚洲AV无码精品色毛片浪潮| 日韩欧美国产精品综合嫩v| 国产精品乱码一区二区视频| 狠狠88综合久久久久综合网| 国产精品99久久久久久大便| www.av在线.com| 天堂视频免费在线观看| 麻豆精品一区二区av白丝在线| 亚洲一区二区三区精品动漫| 豆花视频一区| 亚洲成人影院麻豆| 精品国产乱码一区二区| 成人444kkkk在线观看| 久久精品99国产精品| 亚洲狠狠婷婷综合久久久久图片| 久久精品国产大片免费观看| 红桃一区二区三区| 自拍在线观看| 日韩精彩视频在线观看| 欧美一级一级性生活免费录像| 亚洲free性xxxx护士白浆| 中文字幕免费视频观看| 一区二区三区精品在线观看| 亚洲成人动漫在线| 欧美黄污视频| 99久久婷婷国产综合精品首页| 国产乱淫片视频| 蜜臀99久久精品久久久久小说| 日韩精品免费看| 高清在线观看免费韩剧| 天堂社区日本电影超碰| 天天干天天玩天天操| 亚洲激情在线观看| 久久久久久久久久久久久av| 久久精品视频免费在线观看| www.亚洲视频| 精品日韩av| 成人短片线上看| 亚洲最新无码中文字幕久久| 亚洲第一免费播放区| 国产精久久久久| 九九视频这里只有精品| 伊人久久久久久久久| 性网爆门事件集合av| 亚洲欧洲在线观看av| 日本xxxx高清色视频| 欧美极品视频一区二区三区| 日韩高清不卡在线| 午夜视频久久久| 国产精品毛片一区二区三区| 一级一片免费看| 777电影在线观看| 粉嫩高潮美女一区二区三区| 精品毛片久久久久久| av在线免费观看网址| 国产中文伊人| 992tv成人免费影院| 成人a'v在线播放| 国产精品一区二区三区四| 亚洲精品天堂| 精品综合久久久| 中文字幕不卡在线观看| 国产一区三区在线播放| 免费成人进口网站| 91精品国产毛片武则天| 欧美一区二区激情| 中文字幕亚洲综合久久| 狠狠狠综合7777久夜色撩人| 国产日韩综合一区二区性色av| 好看的日韩av电影| 亚洲女同志亚洲女同女播放| 欧美高清在线观看| 人妻无码中文字幕免费视频蜜桃| 丝袜美腿小色网| 国产又粗又猛又爽又黄的| 国产精品久久久久久超碰| 亚洲成人手机在线观看| 欧美色就是色| 中文字幕免费不卡| 天堂va欧美va亚洲va老司机| 2021久久精品国产99国产精品| 美女视频在线免费| 国产野外战在线播放| 欧美高清视频一区| 免费欧美激情| 五月天婷婷基地| 黑人与娇小精品av专区| 日韩亚洲第一页| chinese叫床对白videos| 91综合久久一区二区| 福利视频一区二区| 久草视频在线免费| 日韩一区精品字幕| 国产99久久精品一区二区 夜夜躁日日躁| 色伊人久久综合中文字幕| 翁止熄痒禁伦短文合集免费视频| 国产精品欧美大片| 福利一区和二区| 成人高清伦理免费影院在线观看| 色狮一区二区三区四区视频| 亚洲精品国产一区| 亚洲精品在线国产| 国产精品免费视频久久久| 精品一区二区三区在线观看国产| 日韩欧美国产一区二区在线播放| 亚洲国产精品精华液网站| 91精品久久久久久久久中文字幕| 欧美人妇做爰xxxⅹ性高电影| 黑人极品videos精品欧美裸| 在线精品在线| 韩国福利视频一区| 欧美美女啪啪| 波多野结衣电影在线播放| 欧美国产一区在线| 精品国产乱码久久久久久蜜臀网站| 影音先锋中文字幕在线播放| 成年在线观看免费人视频| 日韩一级裸体免费视频| av午夜电影| 成人性生交大片免费看视频r| 国产免费一区二区三区网站免费| 伊人影院在线观看| 日本美女视频一区| 精品欧美aⅴ在线网站| 精品国产乱码久久久久久图片| 国产高清一区二区| 中国xxxx视频播放50| 亚洲免费在线视频| 五月婷婷丁香网|