日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

设计撑百万并发的数据库架构

發布時間:2023/12/2 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计撑百万并发的数据库架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計撐百萬并發的數據庫架構

https://www.toutiao.com/a6742034135486824973/

前言

作為一個全球人數最多的國家,一個再怎么凄慘的行業,都能找出很多的人為之付出。而在這個互聯網的時代,IT公司絕對比牛毛還多很多。但是大多數都是創業公司,長期存活的真的不多。大多數的IT項目在注冊量從0-100萬,日活躍1-5萬,說實話就這種系統隨便找一個有幾年工作經驗的高級工程師,然后帶幾個年輕工程師,隨便干干都可以做出來。

因為這樣的系統,實際上主要就是在前期快速的進行業務功能的開發,搞一個單塊系統部署在一臺服務器上,然后連接一個數據庫就可以了。接著大家就是不停的在一個工程里填充進去各種業務代碼,盡快把公司的業務支撐起來。

但是如果真的發展的還可以,可能就會遇到如下問題:

在運行的過程中系統訪問數據庫的性能越來越差,單表數據量越來越大,一些復雜查詢 SQL直接拖垮!

這種時候就不得不考慮的解決方案:緩存,負載均衡,項目分塊(微服務);數據庫:讀寫分離,分庫分表等技術

如果說此時你還是一臺數據庫服務器在支撐每秒上萬的請求,負責任的告訴你,每次高峰期會出現下述問題:

  • 數據庫服務器的磁盤 IO、網絡帶寬、CPU 負載、內存消耗,都會達到非常高的情況,數據庫所在服務器的整體負載會非常重,甚至都快不堪重負了。
  • 高峰期時,本來你單表數據量就很大,SQL 性能就不太好,這時加上你的數據庫服務器負載太高導致性能下降,就會發現你的 SQL 性能更差了。
  • 最明顯的一個感覺,就是你的系統在高峰期各個功能都運行的很慢,用戶體驗很差,點一個按鈕可能要幾十秒才出來結果。
  • 如果你運氣不太好,數據庫服務器的配置不是特別的高的話,弄不好你還會經歷數據庫宕機的情況,因為負載太高對數據庫壓力太大了。

那么百萬并發的數據庫架構如何設計呢?多數都是分庫分表加主從吧?

分庫分表:說白了就是大量分表來保證海量數據下的查詢性能。

其實大多數公司的瓶頸都在數據庫,其實如果把上面的解決方案,都實現了,基本上就沒的什么問題了,舉例:

如果訂單一年有 1 億條數據,可以把訂單表一共拆分為 1024 張表,分散在5個庫中,這樣 1 億數據量的話,分散到每個表里也就才 10 萬量級的數據量,然后這上千張表分散在 5 臺數據庫里就可以了。

在寫入數據的時候,需要做兩次路由,先對訂單 id hash 后對數據庫的數量取模,可以路由到一臺數據庫上,然后再對那臺數據庫上的表數量取模,就可以路由到數據庫上的一個表里了。

通過這個步驟,就可以讓每個表里的數據量非常小,每年 1 億數據增長,但是到每個表里才 10 萬條數據增長,這個系統運行 10 年,每個表里可能才百萬級的數據量。

主從:讀寫分離

這個時候整體效果已經挺不錯了,大量分表的策略保證可能未來 10 年,每個表的數據量都不會太大,這可以保證單表內的 SQL 執行效率和性能。

然后多臺數據庫的拆分方式,可以保證每臺數據庫服務器承載一部分的讀寫請求,降低每臺服務器的負載。

但是此時還有一個問題,假如說每臺數據庫服務器承載每秒 2000 的請求,然后其中 400 請求是寫入,1600 請求是查詢。

也就是說,增刪改的 SQL 才占到了 20% 的比例,80% 的請求是查詢。此時假如說隨著用戶量越來越大,又變成每臺服務器承載 4000 請求了。

那么其中 800 請求是寫入,3200 請求是查詢,如果說你按照目前的情況來擴容,就需要增加一臺數據庫服務器。

但是此時可能就會涉及到表的遷移,因為需要遷移一部分表到新的數據庫服務器上去,是不是很麻煩?

其實完全沒必要,數據庫一般都支持讀寫分離,也就是做主從架構。

寫入的時候寫入主數據庫服務器,查詢的時候讀取從數據庫服務器,就可以讓一個表的讀寫請求分開落地到不同的數據庫上去執行。

這樣的話,假如寫入主庫的請求是每秒 400,查詢從庫的請求是每秒 1600。

架構大致如下:

?

寫入主庫的時候,會自動同步數據到從庫上去,保證主庫和從庫數據一致。

然后查詢的時候都是走從庫去查詢的,這就通過數據庫的主從架構實現了讀寫分離的效果了。

現在的好處就是,假如說現在主庫寫請求增加到 800,這個無所謂,不需要擴容。然后從庫的讀請求增加到了 3200,需要擴容了。

這時,你直接給主庫再掛載一個新的從庫就可以了,兩個從庫,每個從庫支撐 1600 的讀請求,不需要因為讀請求增長來擴容主庫。

實際上線上生產你會發現,讀請求的增長速度遠遠高于寫請求,所以讀寫分離之后,大部分時候就是擴容從庫支撐更高的讀請求就可以了。

而且另外一點,對同一個表,如果你既寫入數據(涉及加鎖),還從該表查詢數據,可能會牽扯到鎖沖突等問題,無論是寫性能還是讀性能,都會有影響。

所以一旦讀寫分離之后,對主庫的表就僅僅是寫入,沒任何查詢會影響他,對從庫的表就僅僅是查詢。

全局唯一ID

在分庫分表之后你必然要面對的一個問題,就是 id 咋生成?因為要是一個表分成多個表之后,每個表的 id 都是從 1 開始累加自增長,那肯定不對啊。

舉個例子,你的訂單表拆分為了 1024 張訂單表,每個表的 id 都從 1 開始累加,這個肯定有問題了!

你的系統就沒辦法根據表主鍵來查詢訂單了,比如 id = 50 這個訂單,在每個表里都有!

所以此時就需要分布式架構下的全局唯一 id 生成的方案了,在分庫分表之后,對于插入數據庫中的核心 id,不能直接簡單使用表自增 id,要全局生成唯一 id,然后插入各個表中,保證每個表內的某個 id,全局唯一。

比如說訂單表雖然拆分為了 1024 張表,但是 id = 50 這個訂單,只會存在于一個表里。

那么如何實現全局唯一 id 呢?有以下幾種方案:

方案一:獨立數據庫自增 id

這個方案就是說你的系統每次要生成一個 id,都是往一個獨立庫的一個獨立表里插入一條沒什么業務含義的數據,然后獲取一個數據庫自增的一個 id。拿到這個 id 之后再往對應的分庫分表里去寫入。

比如說你有一個 auto_id 庫,里面就一個表,叫做 auto_id 表,有一個 id 是自增長的。

那么你每次要獲取一個全局唯一 id,直接往這個表里插入一條記錄,獲取一個全局唯一 id 即可,然后這個全局唯一 id 就可以插入訂單的分庫分表中。

這個方案的好處就是方便簡單,誰都會用。缺點就是單庫生成自增 id,要是高并發的話,就會有瓶頸的,因為 auto_id 庫要是承載個每秒幾萬并發,肯定是不現實的了。

方案二:UUID

這個每個人都應該知道吧,就是用 UUID 生成一個全局唯一的 id。

好處就是每個系統本地生成,不要基于數據庫來了。不好之處就是,UUID 太長了,作為主鍵性能太差了,不適合用于主鍵。

如果你是要隨機生成個什么文件名了,編號之類的,你可以用 UUID,但是作為主鍵是不能用 UUID 的。

方案三:獲取系統當前時間

這個方案的意思就是獲取當前時間作為全局唯一的 id。但是問題是,并發很高的時候,比如一秒并發幾千,會有重復的情況,這個肯定是不合適的。

一般如果用這個方案,是將當前時間跟很多其他的業務字段拼接起來,作為一個 id,如果業務上你覺得可以接受,那么也是可以的。

你可以將別的業務字段值跟當前時間拼接起來,組成一個全局唯一的編號,比如說訂單編號:時間戳 + 用戶 id + 業務含義編碼。

方案四:SnowFlake 算法的思想分析

SnowFlake 算法,是 Twitter 開源的分布式 id 生成算法。其核心思想就是:使用一個 64 bit 的 long 型的數字作為全局唯一 id。這 64 個 bit 中,其中 1 個 bit 是不用的,然后用其中的 41 bit 作為毫秒數,用 10 bit 作為工作機器 id,12 bit 作為序列號。

?

給大家舉個例子吧,比如下面那個 64 bit 的 long 型數字:

  • 第一個部分,是 1 個 bit:0,這個是無意義的。
  • 第二個部分是 41 個 bit:表示的是時間戳。
  • 第三個部分是 5 個 bit:表示的是機房 id,10001。
  • 第四個部分是 5 個 bit:表示的是機器 id,1 1001。
  • 第五個部分是 12 個 bit:表示的序號,就是某個機房某臺機器上這一毫秒內同時生成的 id 的序號,0000 00000000。

①1 bit:是不用的,為啥呢?

因為二進制里第一個 bit 為如果是 1,那么都是負數,但是我們生成的 id 都是正數,所以第一個 bit 統一都是 0。

②41 bit:表示的是時間戳,單位是毫秒。

41 bit 可以表示的數字多達 2^41 - 1,也就是可以標識 2 ^ 41 - 1 個毫秒值,換算成年就是表示 69 年的時間。

③10 bit:記錄工作機器 id,代表的是這個服務最多可以部署在 2^10 臺機器上,也就是 1024 臺機器。

但是 10 bit 里 5 個 bit 代表機房 id,5 個 bit 代表機器 id。意思就是最多代表 2 ^ 5 個機房(32 個機房),每個機房里可以代表 2 ^ 5 個機器(32 臺機器)。

④12 bit:這個是用來記錄同一個毫秒內產生的不同 id。

12 bit 可以代表的最大正整數是 2 ^ 12 - 1 = 4096,也就是說可以用這個 12 bit 代表的數字來區分同一個毫秒內的 4096 個不同的 id。簡單來說,你的某個服務假設要生成一個全局唯一 id,那么就可以發送一個請求給部署了 SnowFlake 算法的系統,由這個 SnowFlake 算法系統來生成唯一 id。

這個 SnowFlake 算法系統首先肯定是知道自己所在的機房和機器的,比如機房 id = 17,機器 id = 12。

接著 SnowFlake 算法系統接收到這個請求之后,首先就會用二進制位運算的方式生成一個 64 bit 的 long 型 id,64 個 bit 中的第一個 bit 是無意義的。

接著 41 個 bit,就可以用當前時間戳(單位到毫秒),然后接著 5 個 bit 設置上這個機房 id,還有 5 個 bit 設置上機器 id。

最后再判斷一下,當前這臺機房的這臺機器上這一毫秒內,這是第幾個請求,給這次生成 id 的請求累加一個序號,作為最后的 12 個 bit。

最終一個 64 個 bit 的 id 就出來了,類似于:

?

這個算法可以保證說,一個機房的一臺機器上,在同一毫秒內,生成了一個唯一的 id。可能一個毫秒內會生成多個 id,但是有最后 12 個 bit 的序號來區分開來。

下面我們簡單看看這個 SnowFlake 算法的一個代碼實現,這就是個示例,大家如果理解了這個意思之后,以后可以自己嘗試改造這個算法。

總之就是用一個 64 bit 的數字中各個 bit 位來設置不同的標志位,區分每一個 id。

SnowFlake 算法JAVA版(含測試方法):

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.ToString;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: IdWorker.java
* @Description: <p>SnowFlake 算法,是 Twitter 開源的分布式 id 生成算法。
* 其核心思想就是:使用一個 64 bit 的 long 型的數字作為全局唯一 id。
* 這 64 個 bit 中,其中 1 個 bit 是不用的,然后用其中的 41 bit 作為毫秒數,
* 用 10 bit 作為工作機器 id,12 bit 作為序列號
* </p>
* @version: v1.0.0
* @author: BianPeng
* @date: 2019年4月11日 下午3:13:41
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月11日 BianPeng v1.0.0 initialize
*/
@ToString
public class SnowflakeIdFactory {

static Logger log = LoggerFactory.getLogger(SnowflakeIdFactory.class);

private final long twepoch = 1288834974657L;
private final long workerIdBits = 5L;
private final long datacenterIdBits = 5L;
private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
private final long sequenceBits = 12L;
private final long workerIdShift = sequenceBits;
private final long datacenterIdShift = sequenceBits + workerIdBits;
private final long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
private final long sequenceMask = -1L ^ (-1L << sequenceBits);

private long workerId;
private long datacenterId;
private long sequence = 0L;
private long lastTimestamp = -1L;



public SnowflakeIdFactory(long workerId, long datacenterId) {
if (workerId > maxWorkerId || workerId < 0) {
throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
}
if (datacenterId > maxDatacenterId || datacenterId < 0) {
throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
}
this.workerId = workerId;
this.datacenterId = datacenterId;
}

public synchronized long nextId() {
long timestamp = timeGen();
if (timestamp < lastTimestamp) {
//服務器時鐘被調整了,ID生成器停止服務.
throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
}
if (lastTimestamp == timestamp) {
sequence = (sequence + 1) & sequenceMask;
if (sequence == 0) {
timestamp = tilNextMillis(lastTimestamp);
}
} else {
sequence = 0L;
}

lastTimestamp = timestamp;
return ((timestamp - twepoch) << timestampLeftShift) | (datacenterId << datacenterIdShift) | (workerId << workerIdShift) | sequence;
}

protected long tilNextMillis(long lastTimestamp) {
long timestamp = timeGen();
while (timestamp <= lastTimestamp) {
timestamp = timeGen();
}
return timestamp;
}

protected long timeGen() {
return System.currentTimeMillis();
}

public static void testProductIdByMoreThread(int dataCenterId, int workerId, int n) throws InterruptedException {
List<Thread> tlist = new ArrayList<>();
Set<Long> setAll = new HashSet<>();
CountDownLatch cdLatch = new CountDownLatch(10);
long start = System.currentTimeMillis();
int threadNo = dataCenterId;
Map<String,SnowflakeIdFactory> idFactories = new HashMap<>();
for(int i=0;i<10;i++){
//用線程名稱做map key.
idFactories.put("snowflake"+i,new SnowflakeIdFactory(workerId, threadNo++));
}
for(int i=0;i<10;i++){
Thread temp =new Thread(new Runnable() {
@Override
public void run() {
Set<Long> setId = new HashSet<>();
SnowflakeIdFactory idWorker = idFactories.get(Thread.currentThread().getName());
for(int j=0;j<n;j++){
setId.add(idWorker.nextId());
}
synchronized (setAll){
setAll.addAll(setId);
log.info("{}生產了{}個id,并成功加入到setAll中.",Thread.currentThread().getName(),n);
}
cdLatch.countDown();
}
},"snowflake"+i);
tlist.add(temp);
}
for(int j=0;j<10;j++){
tlist.get(j).start();
}
cdLatch.await();

long end1 = System.currentTimeMillis() - start;

log.info("共耗時:{}毫秒,預期應該生產{}個id, 實際合并總計生成ID個數:{}",end1,10*n,setAll.size());

}

public static void testProductId(int dataCenterId, int workerId, int n){
SnowflakeIdFactory idWorker = new SnowflakeIdFactory(workerId, dataCenterId);
SnowflakeIdFactory idWorker2 = new SnowflakeIdFactory(workerId+1, dataCenterId);
Set<Long> setOne = new HashSet<>();
Set<Long> setTow = new HashSet<>();
long start = System.currentTimeMillis();
for (int i = 0; i < n; i++) {
setOne.add(idWorker.nextId());//加入set
}
long end1 = System.currentTimeMillis() - start;
log.info("第一批ID預計生成{}個,實際生成{}個<<<<*>>>>共耗時:{}",n,setOne.size(),end1);

for (int i = 0; i < n; i++) {
setTow.add(idWorker2.nextId());//加入set
}
long end2 = System.currentTimeMillis() - start;
log.info("第二批ID預計生成{}個,實際生成{}個<<<<*>>>>共耗時:{}",n,setTow.size(),end2);

setOne.addAll(setTow);
log.info("合并總計生成ID個數:{}",setOne.size());

}

public static void testPerSecondProductIdNums(){
SnowflakeIdFactory idWorker = new SnowflakeIdFactory(1, 2);
long start = System.currentTimeMillis();
int count = 0;
for (int i = 0; System.currentTimeMillis()-start<1000; i++,count=i) {
/** 測試方法一: 此用法純粹的生產ID,每秒生產ID個數為400w+ */
//idWorker.nextId();
/** 測試方法二: 在log中打印,同時獲取ID,此用法生產ID的能力受限于log.error()的吞吐能力.
* 每秒徘徊在10萬左右. */
log.info(""+idWorker.nextId());
}
long end = System.currentTimeMillis()-start;
System.out.println(end);
System.out.println(count);
}

public static void main(String[] args) {
/** case1: 測試每秒生產id個數?
* 結論: 每秒生產id個數400w+
*/
//testPerSecondProductIdNums();

/** case2: 單線程-測試多個生產者同時生產N個id,驗證id是否有重復?
* 結論: 驗證通過,沒有重復.
*/
//testProductId(1,2,10000);//驗證通過!
//testProductId(1,2,20000);//驗證通過!

/** case3: 多線程-測試多個生產者同時生產N個id, 全部id在全局范圍內是否會重復?
* 結論: 驗證通過,沒有重復.
*/
try {
testProductIdByMoreThread(1,2,100000);//單機測試此場景,性能損失至少折半!
} catch (InterruptedException e) {
e.printStackTrace();
}

}
}

項目是一個遞進的過程,優先考慮緩存,其次讀寫分離,再分表分庫。當然這只是個人想法,各位伙伴還是根據自己的項目和業務來綜合考慮實行方案。

轉載于:https://www.cnblogs.com/handsome1013/p/11611817.html

總結

以上是生活随笔為你收集整理的设计撑百万并发的数据库架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产在线不卡视频 | 成人一级免费电影 | 久久草 | 日韩在线观看第一页 | 国产中文字幕在线观看 | 国产精品男女视频 | 亚洲激情在线视频 | 日本精品视频网站 | 国产精品国产毛片 | 黄色片免费在线 | aaawww| 中文在线a√在线 | 久久精品4 | 美女精品在线观看 | 黄色视屏免费在线观看 | 91精品国产91久久久久久三级 | 精品久久五月天 | 免费在线a| 在线色资源 | 91成人精品一区在线播放69 | 久久精品99国产精品酒店日本 | 成人黄色在线 | 天天操综合网站 | 日日麻批40分钟视频免费观看 | 深夜福利视频一区二区 | 天天做天天射 | 亚州精品在线视频 | 国产精品免费在线播放 | 免费看片亚洲 | 超碰人人在线观看 | 超碰人人在 | 99成人精品| 日日日操| 免费看污的网站 | 国产精品资源在线 | 婷香五月 | 欧美国产日韩一区二区三区 | 久久精品一二三区 | 日色在线视频 | 手机成人免费视频 | 韩国一区二区三区在线观看 | 在线观看免费视频你懂的 | 国内精品福利视频 | 午夜久久电影网 | 天天综合网天天综合色 | 视频成人免费 | 日韩精品视频在线观看网址 | 中文字幕视频三区 | 2023亚洲精品国偷拍自产在线 | 超黄视频网站 | 国产在线不卡 | 欧美极品久久 | 国产精品99免费看 | 久草在线视频免赞 | 亚洲最大免费成人网 | 久久99精品久久久久久三级 | 天海翼一区二区三区免费 | 久草在线观看资源 | 九色自拍视频 | 亚洲高清视频在线观看 | 黄色三级av | 国产伦精品一区二区三区无广告 | 久久夜色精品国产欧美乱极品 | 日韩精品久久中文字幕 | 午夜神马福利 | 狠狠色丁香婷婷综合最新地址 | 欧美日本不卡 | 午夜精品剧场 | 成年人毛片在线观看 | 亚洲美女精品区人人人人 | 日韩特级毛片 | 亚洲黄污| 伊人伊成久久人综合网站 | 久久精品网址 | 久久久久草 | 天天躁日日躁狠狠躁av中文 | 波多野结衣一区二区 | 成人免费在线网 | 碰超人人 | 中文字幕色网站 | 中文字幕一区二区三区四区久久 | 最近中文字幕国语免费高清6 | 黄色小视频在线观看免费 | 亚洲美女精品区人人人人 | 综合伊人av| 久久香蕉电影 | 久久99精品热在线观看 | 国产精品视频区 | 五月婷久 | 毛片网在线观看 | 久久精品一二三区 | 久久亚洲欧美 | 亚洲丁香久久久 | 久久视频国产精品免费视频在线 | 天天综合成人 | 日本aaa在线观看 | 91精品网站 | 波多野结衣视频一区二区三区 | 久射网| 99精品国产99久久久久久97 | 夜夜看av | 久久人人爽人人爽人人片av免费 | 国产乱对白刺激视频不卡 | se视频网址 | 97精品国产97久久久久久粉红 | 中文字幕一区二区三区四区久久 | 成人在线观看影院 | 91精品国产福利在线观看 | 国产在线日韩 | 黄色一级在线视频 | 四虎影视8848aamm | 超碰97国产| av先锋影音少妇 | 97超级碰碰碰碰久久久久 | 久久激情小视频 | 三级黄色网址 | 亚洲精品欧美成人 | 欧美日韩在线精品一区二区 | 91成人免费看片 | 久久五月情影视 | 玖玖在线免费视频 | 久久久久97国产 | 日本午夜免费福利视频 | 91av视频在线免费观看 | 国产成人精品一区二区 | 日韩高清毛片 | 亚洲精品乱码久久久一二三 | 在线观看日韩国产 | 超碰在97| 99精品视频在线观看播放 | 在线视频一二三 | 日韩视 | 在线观看亚洲精品 | 国产成人三级在线观看 | 一区二区三区精品在线视频 | 免费看的视频 | 天天射狠狠干 | 五月在线视频 | 黄网站色欧美视频 | 国产精品一区在线 | 狠狠操在线 | 江苏妇搡bbbb搡bbbb | 99久久久成人国产精品 | 91成人精品一区在线播放 | 玖玖在线精品 | 午夜少妇 | 天天干,天天射,天天操,天天摸 | 国产高清av在线播放 | 久久久久久久免费 | 日韩欧美在线视频一区二区三区 | av先锋中文字幕 | 成 人 黄 色 视频播放1 | 国产精彩在线视频 | 香蕉视频在线视频 | 亚洲成av人片在线观看无 | 免费看短 | 玖玖在线看 | 一级黄视频 | 久久综合久久综合久久 | 久久久久久久久久网 | 99国产在线 | 不卡的一区二区三区 | 欧美日韩亚洲第一页 | 在线免费观看黄 | 国产一区在线免费观看视频 | 日韩3区| 热久在线 | 国产高清视频在线免费观看 | av在线观 | 中文字幕在线视频免费播放 | 日本精品久久久久中文字幕5 | 日韩欧美在线观看一区二区 | 91亚洲综合 | 久久男女视频 | 丁香婷婷综合五月 | 久久精品毛片基地 | 91chinese在线| 日韩欧美中文 | 美腿丝袜av| 一级黄色片在线观看 | 国产96av | 8x成人免费视频 | 日韩在线激情 | 国语自产偷拍精品视频偷 | 天天操狠狠干 | 亚洲韩国一区二区三区 | 精品免费视频 | 黄色毛片在线看 | 97精品国产97久久久久久久久久久久 | 亚洲欧美国产日韩在线观看 | 中文字幕传媒 | 国产xxxx性hd极品 | 久久在线观看视频 | 99久久成人| 黄色av网站在线免费观看 | 97超碰在线资源 | 色偷偷男人的天堂av | 手机在线欧美 | 亚洲精品国偷自产在线91正片 | www激情网 | 白丝av免费观看 | 一区二区三区 中文字幕 | 亚洲 欧美 国产 va在线影院 | 五月综合色婷婷 | 黄色片软件网站 | av 在线观看 | 天堂av影院 | 丝袜足交在线 | 国产视频综合在线 | 免费情缘 | 日韩欧美综合精品 | 精品久久精品 | 中文字幕av有码 | 国产麻豆精品在线观看 | 麻豆国产精品视频 | 国产精品免费一区二区三区 | 久久国内免费视频 | 一本一本久久a久久精品牛牛影视 | 国产免费观看久久 | 国产成人精品日本亚洲999 | 麻豆传媒一区二区 | 久久私人影院 | 国产黄色片在线免费观看 | 久久九九久久精品 | 91激情视频在线观看 | 天堂网一区 | 91亚洲国产成人久久精品网站 | 日韩高清黄色 | 亚洲影视九九影院在线观看 | 青春草视频 | 最新黄色av网址 | 国产精品成人av在线 | 9ⅰ精品久久久久久久久中文字幕 | 久久综合九色综合欧美就去吻 | av线上免费观看 | 国产又粗又硬又爽的视频 | 久久久久久国产精品久久 | 国产一级在线视频 | 日本不卡一区二区三区在线观看 | 日韩午夜高清 | 天操夜夜操 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品 视频 | 国产特级毛片aaaaaa毛片 | 韩国一区二区在线观看 | 日韩精品字幕 | 久久艹综合 | 久色网| 日本性高潮视频 | 久久综合狠狠综合久久综合88 | 久久黄色影视 | 福利电影一区二区 | 玖玖爱在线观看 | av电影在线播放 | 色综合激情久久 | 欧美一区二区在线免费看 | 国产精品高潮呻吟久久av无 | 欧美性黑人 | 欧美日韩中文另类 | 天天色棕合合合合合合 | 又湿又紧又大又爽a视频国产 | 天堂视频一区 | 日本护士三级少妇三级999 | 精品国产_亚洲人成在线 | 日本三级中文字幕在线观看 | 最近免费中文字幕 | 久久热亚洲 | 香蕉精品在线观看 | 亚洲精品www久久久久久 | 热99在线视频 | 丝袜美腿在线 | 国产一区二区在线视频观看 | 国产精品999久久久 久产久精国产品 | 精品1区2区3区| 在线视频 日韩 | 免费又黄又爽的视频 | 91精品国自产在线 | 国产精品嫩草影院9 | 亚洲视频综合在线 | 国产99久久久久久免费看 | 欧美久久综合 | 欧美网址在线观看 | 国产精品久久久久久久久久免费 | 美女视频国产 | 又黄又刺激 | 91黄色在线观看 | 亚洲精品视频www | 伊人五月婷 | 精品 一区 在线 | 国产一区免费视频 | 久久黄页 | 91大神精品视频在线观看 | 激情在线五月天 | 国产人在线成免费视频 | 91九色蝌蚪视频网站 | 成人国产综合 | 免费精品国产va自在自线 | 国产亚洲视频中文字幕视频 | 久久综合欧美精品亚洲一区 | 欧美一区二区精品在线 | 一本到在线 | 亚洲国产日韩精品 | 精品视频专区 | 久久婷婷综合激情 | 日韩av一区二区三区 | 国产伦精品一区二区三区在线 | 一区二区三区四区五区六区 | 久久日本视频 | 狠狠干夜夜操天天爽 | 久久97精品 | 国产精品久久久久久久免费观看 | 国产精品观看在线亚洲人成网 | 久久一区二区三区超碰国产精品 | 久草视频免费观 | 精品视频免费久久久看 | 日韩欧美成| 久久久久久久久久久久久久av | 中文字幕精品三级久久久 | av中文字幕免费在线观看 | 91免费看片黄 | 欧美性色黄大片在线观看 | 亚洲日本色| 99视频在线精品免费观看2 | 久久伊人婷婷 | 亚洲免费色 | 日韩精品一二三 | 日一日干一干 | 成人精品视频久久久久 | 丁香婷婷射 | 激情开心色 | 国产高清精品在线观看 | 免费在线观看一区二区三区 | 日本天天色 | 亚洲欧洲精品视频 | 中文字幕在线观看一区 | 国产美女主播精品一区二区三区 | 免费成人在线视频网站 | 97超碰免费在线 | 欧美一级性生活 | 色婷婷激婷婷情综天天 | 国产视频在线免费观看 | 免费av片在线 | 日韩簧片在线观看 | 久久国产精品电影 | 欧美精品成人在线 | 国产最新精品视频 | 国产精品理论片 | 久草视频免费 | 婷婷综合五月天 | 又湿又紧又大又爽a视频国产 | 国产黄色在线网站 | 久久久www免费电影网 | 亚洲最快最全在线视频 | 国产在线观看xxx | 高清在线一区 | 国产精品一区二区在线播放 | 亚洲综合欧美精品电影 | 99久久久久久国产精品 | 亚洲美女免费精品视频在线观看 | 成年人免费在线 | 国产精品99久久久久久人免费 | 蜜臀av免费一区二区三区 | 久久精品一区二 | 久久久午夜电影 | 久久综合欧美精品亚洲一区 | 成人久久18免费网站麻豆 | 99九九热只有国产精品 | 在线观看国产91 | 香蕉色综合 | 91九色视频观看 | 国产 日韩 在线 亚洲 字幕 中文 | 97激情影院 | 久久久国产精品亚洲一区 | 日韩精品在线看 | 国产精品视频大全 | 日本在线视频一区二区三区 | 欧美专区国产专区 | 日批网站免费观看 | 欧美日韩国产伦理 | 最新国产在线观看 | 久久超级碰视频 | 看片网站黄色 | 亚洲精品高清视频在线观看 | 国产视频中文字幕在线观看 | 91麻豆免费视频 | 91最新视频在线观看 | 91免费网址| www色av| 97超视频免费观看 | 在线黄频| 天天干 天天摸 天天操 | 亚洲成a人片综合在线 | 国产在线精品观看 | 在线а√天堂中文官网 | 国产日韩精品一区二区 | 亚洲精品国产精品久久99热 | 免费看黄20分钟 | 中文字幕不卡在线88 | 久久久久久国产精品久久 | 久久久久久97三级 | 国产无遮挡又黄又爽在线观看 | 午夜视频免费在线观看 | 麻豆视频www | 国产精品久久久久久久妇 | 99视频在线免费 | 中文字幕色婷婷在线视频 | 国产午夜亚洲精品 | 国产精品免费久久久 | 最新日本中文字幕 | 国产精品美女久久久久久2018 | 亚洲专区 国产精品 | 日韩在线精品一区 | 亚洲激情精品 | 久久精品福利 | 日韩高清在线一区 | 亚洲综合小说电影qvod | 日韩理论片在线观看 | 久久99国产精品自在自在app | 久久综合桃花 | 狠狠干五月天 | 亚洲精品成人免费 | 五月婷婷六月丁香 | 欧美视频日韩视频 | 久久精品99视频 | 玖玖玖影院 | 一区二区不卡在线观看 | 国产精品一区二区三区视频免费 | 国产精品久99 | 中文区中文字幕免费看 | 国产在线精品一区二区 | www.五月天| 日韩高清精品免费观看 | 日日碰狠狠躁久久躁综合网 | 国产精品久久嫩一区二区免费 | 亚洲免费精彩视频 | 在线看片91 | 久久亚洲精品电影 | 免费特级黄色片 | 天天插综合 | 亚洲国产最新 | 97视频在线观看成人 | 免费99精品国产自在在线 | 在线免费视频a | 在线 国产 亚洲 欧美 | 最新国产精品拍自在线播放 | 国产理论免费 | 香蕉视频在线视频 | 91 中文字幕| av大全免费在线观看 | 国产资源在线播放 | 欧美精品九九99久久 | 亚洲精品在线视频观看 | 国产免费观看久久黄 | 久草久草视频 | 久久永久免费视频 | 欧美极度另类 | 日韩特黄av | 99成人精品 | 久久少妇免费视频 | av黄色一级片| 热99在线视频 | 伊人亚洲综合 | 亚洲国产精品999 | 久久国产精品免费一区二区三区 | 国产网红在线观看 | 国产精品自产拍在线观看 | 中文字幕国内精品 | 婷婷精品国产一区二区三区日韩 | 国产专区免费 | 国内精品久久久久影院优 | 免费看久久久 | 中文字幕xxxx| 在线视频日韩 | 91九色porny蝌蚪主页 | 中文字幕高清视频 | 久久久毛片 | 黄色免费av | 国产欧美在线一区 | 久久高清国产 | 狠狠狠狠狠狠狠 | 中文字幕在线播放一区 | 国产精品美女毛片真酒店 | 手机av资源 | 99久久超碰中文字幕伊人 | 91精品国产99久久久久久红楼 | 亚洲天堂在线观看完整版 | 亚洲综合在线视频 | 在线观看黄色av | 亚洲激情 欧美激情 | 亚洲一区二区三区在线看 | 六月丁香社区 | 在线免费观看成人 | 国产不卡在线视频 | 久久不射网站 | 成人欧美一区二区三区黑人麻豆 | 狠狠操.com | 在线观看成人av | 伊人春色电影网 | 日韩在线观看网址 | 国产亚洲精品久久久久久网站 | 欧美日韩精品在线免费观看 | 天天干夜夜爽 | 欧美性久久久久久 | www五月天婷婷 | 精品欧美日韩 | 成人97人人超碰人人99 | 久久99婷婷| 亚洲 综合 激情 | 国产91勾搭技师精品 | 成人高清在线 | 91黄视频在线观看 | 日韩午夜精品 | 久久香蕉影视 | 91av影视| 91超级碰 | 丁香激情五月 | 美女视频黄网站 | 激情片av| 特级西西444www大精品视频免费看 | 天天舔天天射天天操 | 午夜私人影院久久久久 | 成人四虎影院 | 久久成人欧美 | 中文字幕一区二区三区乱码在线 | 91亚洲精品久久久蜜桃 | 性色av免费在线观看 | 最新中文字幕在线观看视频 | 久久av影院 | 99资源网 | 91视频专区| 日韩高清在线一区 | 国产91学生粉嫩喷水 | 日韩视频一区二区三区在线播放免费观看 | 日韩电影一区二区三区 | 99这里只有精品视频 | 日韩在线观看高清 | 成年在线观看 | 国产精品普通话 | 91av九色 | 免费三级黄色 | 天天狠狠| 一级黄色片在线 | 波多野结衣在线播放一区 | 色九九在线 | 麻豆果冻剧传媒在线播放 | 97视频精品 | 又黄又爽又刺激的视频 | 在线观看爱爱视频 | 国产亚洲视频在线免费观看 | 日韩午夜精品福利 | 国产精品久久综合 | 日韩精品1区2区 | 日韩成人中文字幕 | 国产一区网| 亚洲精品动漫在线 | 日本九九视频 | 婷婷九九| www.亚洲精品 | 一区二区不卡在线观看 | 国产欧美综合视频 | 色视频网站免费观看 | 亚洲欧美视频一区二区三区 | 国产精品久久久999 国产91九色视频 | 国产成人精品电影久久久 | wwwwwww色| 国产精品久久久网站 | 中文亚洲欧美日韩 | 亚洲一级特黄 | 久黄色 | 99re热精品视频 | 超碰精品在线观看 | 欧美亚洲国产日韩 | 国产一区二区久久久 | 四虎亚洲精品 | 成人免费观看大片 | 国产一区二区三区四区在线 | 国产青青青 | 中文字幕在线观看视频网站 | 中文在线免费看视频 | 成人av影视 | 国产一区二区在线免费播放 | 日韩专区视频 | 99在线精品免费视频九九视 | 日韩va欧美va亚洲va久久 | 在线观看成人网 | 激情欧美在线观看 | 久草影视在线观看 | 午夜久久视频 | 成年人黄色免费网站 | 久久a久久 | 九九视频精品在线 | 国产三级国产精品国产专区50 | 成人av在线网址 | 国产成人精品一区二区三区免费 | 日韩免费看视频 | 久久av中文字幕片 | 激情小说网站亚洲综合网 | 蜜桃视频成人在线观看 | 中文字幕一区二区三区乱码在线 | 18国产精品福利片久久婷 | 狠狠干狠狠插 | 国产精品第2页 | 日本精品视频在线观看 | 天堂av官网 | 国产精品美女久久久久久网站 | 成人免费一区二区三区在线观看 | 日韩久久电影 | 开心色插 | 最新中文在线视频 | 亚洲成av人片一区二区梦乃 | 免费观看一级一片 | 久久夜靖品 | 99国产精品视频免费观看一公开 | 久久国产精品99久久人人澡 | 丁香六月婷婷开心 | 成人在线免费观看视视频 | 欧美成人黄色片 | 日本中文一区二区 | 免费在线成人 | 麻豆影视网 | 久久视频中文字幕 | 色www免费视频 | 久久久精品欧美一区二区免费 | 日韩电影中文字幕在线 | 精品国产一区二区三区免费 | 免费合欢视频成人app | 国产成人一区二区精品非洲 | 久久99国产精品二区护士 | 久久综合九色综合欧美就去吻 | 狠狠久久伊人 | av黄色免费在线观看 | 亚洲一级黄色片 | 91在线观看欧美日韩 | 69亚洲乱 | 少妇性xxx| 狠狠干夜夜爱 | 激情网五月 | 精品亚洲一区二区 | 国产在线久草 | av中文字幕免费在线观看 | 国产亚洲精品久久久久久 | 欧美日韩精品影院 | 国产不卡视频在线 | 99久精品| 东方av在| 成人av电影免费在线播放 | 日韩免费大片 | 中文字幕在线观看一区 | 最新av在线网站 | 中文字幕一区二区三区在线视频 | 亚洲精品综合一区二区 | 国内精品久久久久久久影视简单 | 美女网站视频久久 | 久久视频中文字幕 | 亚洲欧美日韩精品久久奇米一区 | 人人插人人爱 | 亚洲精品成人在线 | 91看片淫黄大片在线播放 | 亚洲精品乱码久久 | 国产精品麻豆视频 | 亚洲精品网站 | 国产精品普通话 | 久久国产免费视频 | 久久久久久久久免费 | 天天操夜夜操天天射 | 九色精品在线 | 91成人免费在线视频 | 国产精品久久久久久久婷婷 | 日韩高清观看 | 国产精品午夜免费福利视频 | 欧美在线aaa| 欧美视频一区二 | 欧美a√大片 | 日韩一二区在线 | 91热视频在线观看 | 成片人卡1卡2卡3手机免费看 | 天天色天天搞 | 在线观看日本韩国电影 | 激情网站五月天 | 一区二区三区四区在线免费观看 | 亚洲精品免费在线观看视频 | 久久久久久久久久久网 | 国产精品99免费看 | 四虎成人av | 99精品视频一区 | 国产中文字幕在线视频 | 免费观看全黄做爰大片国产 | 国产一级视频免费看 | av在线免费不卡 | 日本系列中文字幕 | 亚州人成在线播放 | av免费高清观看 | 日韩免费网址 | 日韩免费高清在线观看 | 亚洲欧洲精品一区二区 | 日韩三级av| 精品国自产在线观看 | 色爽网站 | 国产精品久久久久久久99 | 国产黄色理论片 | 亚洲天堂香蕉 | 国产剧情一区二区 | 91激情视频在线观看 | 国产美女精品久久久 | 日韩精品久久中文字幕 | 97在线视频免费播放 | 伊人久久av| 久久久久一区二区三区 | 一区二区日韩av | 又黄又刺激视频 | 久久久久亚洲精品男人的天堂 | 久久婷婷精品 | 色综合久久久久综合99 | 超碰在线最新网址 | 蜜臀久久99精品久久久无需会员 | 亚洲国产精品视频在线观看 | 美女黄视频免费看 | 中文亚洲欧美日韩 | 久久中文字幕视频 | 在线观看精品黄av片免费 | 精品一区二区免费视频 | 久久黄色免费观看 | 国产精品孕妇 | 国产美女精彩久久 | 亚洲欧洲美洲av | 美女中文字幕 | 亚洲激情视频在线观看 | 日韩av一区二区在线影视 | 一区二区三区在线免费 | 2022国产精品视频 | 999视频网站 | 东方av在| 国内精品久久久久影院一蜜桃 | www.99av| 亚洲国产精品成人va在线观看 | 国产精品一区二区白浆 | 91视频91色 | 亚洲黄色在线播放 | 奇米网网址 | 中文在线a√在线 | 婷婷久草 | 在线免费中文字幕 | www.午夜| 91免费看黄| 国产黄色片一级三级 | 丁香av在线 | 狠狠色综合欧美激情 | avlulu久久精品 | 黄色电影在线免费观看 | 亚洲精品五月 | 99视频黄 | 欧美日韩精| www.亚洲| 国产中年夫妇高潮精品视频 | 国产精品久久久久一区 | 99精品免费网 | 欧美一区,二区 | 激情综合站 | 久久久久久久久久久黄色 | 天天爽天天摸 | 狠狠狠综合 | av国产网站 | 欧美日韩视频在线一区 | www.亚洲黄色 | 精品一区二区在线免费观看 | 久久久久www | 国产高清专区 | 中文字幕在线观看1 | 国产69久久久欧美一级 | 公开超碰在线 | 亚洲国产精品成人精品 | 成年人免费电影 | 国产大片黄色 | 国产精品一区专区欧美日韩 | www国产在线 | 98超碰在线观看 | 日韩免费视频 | 免费看黄的视频 | 国产69久久精品成人看 | 久久久私人影院 | 久久久久免费精品国产小说色大师 | 美女在线免费视频 | 97色综合 | 午夜av一区 | 午夜久久久久久久久久影院 | 午夜国产福利在线观看 | 免费在线黄色av | a天堂中文在线 | 日韩动漫免费观看高清完整版在线观看 | 黄色毛片在线 | 国产精品成人一区二区 | 久久99精品久久久久久秒播蜜臀 | 日韩av进入 | 狠狠躁日日躁 | 日韩亚洲在线观看 | 日韩在线观看第一页 | 丁香婷婷激情网 | 久草网在线 | 免费看在线看www777 | www一起操| 亚洲午夜精品久久久久久久久 | 日日综合 | 九九视频这里只有精品 | 亚洲欧美日韩国产精品一区午夜 | 亚洲精品视频在线观看视频 | 国产精品手机视频 | 欧美精品生活片 | 深夜免费福利网站 | 精品久久久精品 | 在线免费中文字幕 | 日韩欧美在线一区 | 欧美日韩午夜 | 国产精品精品国产 | 国产成人精品一区二区在线观看 | а天堂中文最新一区二区三区 | 国产一二三四在线观看视频 | 国产在线第三页 | 国产香蕉视频在线观看 | 日韩在线观看av | 97在线视频免费看 | 一级a性色生活片久久毛片波多野 | 日韩在线精品一区 | 亚洲精品2区 | 久草在线免费资源站 | 久艹在线免费观看 | 人人躁 | 福利一区在线 | 国产一级久久久 | 欧美天天综合 | 99精品一区 | 色噜噜噜噜| 超薄丝袜一二三区 | 久久久久欠精品国产毛片国产毛生 | 懂色av懂色av粉嫩av分享吧 | 人人狠狠综合久久亚洲 | 色中色亚洲 | 91九色成人蝌蚪首页 | 久久91网 | 深夜国产在线 | 五月天亚洲精品 | 国产96在线观看 | 亚洲国产中文字幕在线视频综合 | 在线午夜av | 国产亚洲在线视频 | 欧美做受高潮1 | a在线免费观看视频 | 日韩三级不卡 | 国产一区网址 | 91精品老司机久久一区啪 | 激情欧美一区二区三区 | 丁香五月缴情综合网 | 91传媒激情理伦片 | 国产精品手机在线观看 | 午夜精品福利一区二区三区蜜桃 | 精品视频免费 | 日韩一区二区免费视频 | 日韩视频免费在线观看 | 国产只有精品 | 久久天天躁夜夜躁狠狠85麻豆 | 久久精久久精 | 久久精品99国产精品日本 | 美女免费视频一区二区 | 黄p在线播放 | 色噜噜色噜噜 | avav99| 香蕉视频日本 | 天天se天天cao天天干 | 天天射天天射天天射 | 91精品资源| 在线观看视频一区二区三区 | 欧美成人tv | 一本色道久久综合亚洲二区三区 | 日本中文字幕在线免费观看 | 免费在线电影网址大全 | 最新日韩视频 | 久久久久久久久久久久久久av | 成人电影毛片 | 国产一区91| 久久久久久久久久久电影 | 精品一区二区日韩 | 亚洲婷久久 | 久久草在线精品 | 亚洲精品资源 | 丁香婷婷激情 | 中文久久精品 | 久久99精品久久久久久清纯直播 | 美女久久久久久久 | 五月天国产精品 | 色综合久久中文综合久久牛 | 九精品 | 2023国产精品自产拍在线观看 | 91精品电影 | 射久久久| 天堂av色婷婷一区二区三区 | 国产日韩欧美自拍 | 欧美日韩在线精品 | 久久婷婷视频 | 日韩精品一区二区三区水蜜桃 | 成人免费观看视频大全 | 97电影在线| 日韩黄色免费看 | 深爱激情婷婷网 | 日日爱夜夜爱 | 精品国产免费一区二区三区五区 | 久久国产午夜精品理论片最新版本 | 国产精品成 | 中文字幕在线观看免费观看 | 免费看的黄网站软件 | 91综合视频在线观看 | 麻豆视频国产 | av福利电影 | 天天综合狠狠精品 | 一区二区视频播放 | 日韩免费高清在线 | 中文字幕 在线看 | 久久专区 | 天天操天天草 | 久久免费在线 | 日韩大陆欧美高清视频区 | 黄色一区三区 | 麻花传媒mv免费观看 | 国产五月色婷婷六月丁香视频 | 色噜噜色噜噜 | 玖草影院 | 成人三级网站在线观看 | 天天射天天干天天插 | 久久伊人色综合 | 中文字幕亚洲欧美日韩2019 | 中文字幕在线观看资源 | 99精品视频精品精品视频 | 精品国产伦一区二区三区观看说明 | www..com毛片 | 一区二区影视 | 99视频精品在线 | 在线观看va| 四虎成人在线 | 999热线在线观看 | 欧美成人h版 | 国产精品成人在线观看 | 国内精品久久久久久久影视简单 | 中文字幕视频一区 | 国产一线二线三线在线观看 | 久久久亚洲成人 | 97日日碰人人模人人澡分享吧 | 久久久www成人免费精品张筱雨 | 成人国产精品电影 | 亚洲 中文 欧美 日韩vr 在线 | 丁香婷婷综合网 | 久久成人午夜 | 亚一亚二国产专区 | 国产在线观看你懂得 | 久久黄色片 | 中文字幕免费久久 | 韩国一区二区三区在线观看 | 人人插人人艹 | 五月天中文字幕 | 成人毛片一区二区三区 | 99色| 日日日操操 | 五月婷婷导航 | 69国产在线观看 | 在线免费视频 你懂得 | 中文字幕第一页在线视频 | 天天做日日爱夜夜爽 | 日韩三级视频 | 欧亚日韩精品一区二区在线 | 天堂网一区 | av激情五月| 免费又黄又爽视频 | 色就色,综合激情 | 亚洲天堂网在线视频观看 | 国产一级一级国产 | 亚洲乱码中文字幕综合 | 99热播精品 | 日韩草比 | 黄网站免费看 | 国产一区二区精 | 欧美国产日韩在线视频 | 亚洲作爱视频 | 一区二区伦理电影 | 亚洲激情精品 | 日韩免费在线看 | 亚洲精品国产精品国自产在线 | 欧美日韩二三区 | 亚洲美女免费精品视频在线观看 | 午夜视频一区二区 | 久草网在线观看 | av成人免费在线观看 | 久久人人插 | 亚洲视频精品在线 | 日韩二区三区在线 | 麻豆果冻剧传媒在线播放 | 久久国语露脸国产精品电影 | 国产精品日韩在线播放 | 欧美成人精品三级在线观看播放 | 日韩精品亚洲专区在线观看 | 成人一区影院 | www.久久免费视频 |