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

面試問:“你為啥自研路由組件,咋不用sharding-jdbc”

數(shù)據(jù)庫 其他數(shù)據(jù)庫
工程中,提供了 docker 配置數(shù)據(jù)庫環(huán)境操作,并提供了對(duì)應(yīng)的建表測(cè)試語句。如果你本機(jī)已經(jīng)安裝了數(shù)據(jù)庫,那么只做庫表語句導(dǎo)入以及 yml 配置數(shù)據(jù)庫連接信息就可以。

作者:小傅哥

博客:https://bugstack.cn

面試問:“你為什么要自研,市面不是有嗎,怎么回答?” 可以從以下3個(gè)點(diǎn)解答;

  • 維護(hù)性;市面的路由組件比如 shardingsphere 但過于龐大,還需要隨著版本做一些升級(jí),市面上已經(jīng)有很多版本了。而我們需要更少的維護(hù)成本。
  • 擴(kuò)展性;結(jié)合自身的業(yè)務(wù)需求,我們的路由組件可以分庫分表、自定義路由協(xié)議,掃描指定庫表數(shù)據(jù)等各類方式。研發(fā)擴(kuò)展性好,簡(jiǎn)單易用。
  • 安全性;自研的組件更好的控制了安全問題。當(dāng)然,我們的組件主要是為了更好的適應(yīng)目前系統(tǒng)的訴求,所以使用自研的方式處理。甚至各個(gè)大廠也都自研一整套分布式服務(wù),來讓自己的系統(tǒng)更加穩(wěn)定可控。

接著問,你們?yōu)槭裁捶謳旆直恚?/p>

我們分庫分表用的非常熟。但不能為了等到系統(tǒng)到了200萬數(shù)據(jù),才拆。那么工作量會(huì)非常大 我們的做法是,因?yàn)橛谐墒旆桨福郧捌诰头謳旆直砹恕5瑸榱私忉尫?wù)器空間。所以把分庫分表的庫,用服務(wù)器虛擬出來機(jī)器安裝。這樣即不過多的占用服務(wù)器資源,也方便后續(xù)數(shù)據(jù)量真的上來了,好拆分。

同時(shí),Xxx系統(tǒng),是瞬時(shí)峰值較高的系統(tǒng),歷史數(shù)據(jù)不一定多。所以我們希望,用戶可以快速的檢索到個(gè)人數(shù)據(jù),做最優(yōu)響應(yīng)。因?yàn)榇蠹叶贾溃琗xx這東西,push發(fā)完,基本就1~3分鐘結(jié)束,10分鐘人都沒了。所以我們這也是做了分庫分表的理由。

不過用和不用是一方面,會(huì)和不會(huì)是另外一方面。不能因?yàn)椴粫?huì)所以不用,不用是因?yàn)椴煌瑘?chǎng)景的所需。像 Apache ShardingSphere 在很多大的場(chǎng)景還是非常好用的,所以我們需要學(xué)習(xí)積累。積累不同的思想和設(shè)計(jì),以及積累技術(shù)的運(yùn)用。

  • 碎片知識(shí):https://bugstack.cn/md/road-map/road-map.html
  • 實(shí)戰(zhàn)項(xiàng)目:https://bugstack.cn/md/zsxq/introduce.html

本文的宗旨在于通過簡(jiǎn)單干凈實(shí)踐的方式教會(huì)讀者,快速 Easy 的使用上 sharding-jdbc 這個(gè)笨重的大家伙!—— 這篇文章并不復(fù)雜,但市面上的案例,還真的很少有能拿過來就能運(yùn)行起來的!

之所以說"笨重",是因?yàn)?Apache ShardingSphere 不只是簡(jiǎn)單意義上的路由組件,而是一款分布式 SQL 事務(wù)和查詢引擎,可通過數(shù)據(jù)分片、彈性伸縮、加密等能力對(duì)任意數(shù)據(jù)庫進(jìn)行增強(qiáng)。同時(shí)它又在迭代過程中,衍生出了很多的版本,以及對(duì)應(yīng)了不同的使用方式。并在 ShardingSphere 5.3 以后又做了不小的架構(gòu)調(diào)整。所以很多伙伴在使用的時(shí)候,經(jīng)常是找了一上午的資料,到下午下班還沒對(duì)接上。

本文涉及的工程:

  • xfg-dev-tech-shardingjdbc:https://gitcode.net/KnowledgePlanet/road-map/xfg-dev-tech-shardingjdbc
  • 官網(wǎng):https://shardingsphere.apache.org/index_zh.html

一、路由本質(zhì)

分庫分表的本質(zhì)是數(shù)據(jù)的散列,分?jǐn)倲?shù)據(jù)庫資源壓力。如把原本在一臺(tái)機(jī)器上的數(shù)據(jù)庫存放1000萬數(shù)據(jù),分?jǐn)偟絥臺(tái)機(jī)上,拆分這1000萬的數(shù)據(jù)和后續(xù)的增量。讓每個(gè)數(shù)據(jù)庫資源來分?jǐn)傇拘枰慌_(tái)數(shù)據(jù)庫所提供的服務(wù)。

圖片圖片

  • 當(dāng)使用分庫分表以后,并確定如使用用戶ID作為路由分片鍵。那么所做的CRUD操作,都是需要使用到這個(gè)用戶ID,并根據(jù)ID做路由庫表計(jì)算。
  • 在大廠中,開發(fā)項(xiàng)目。并不會(huì)說目前這個(gè)業(yè)務(wù)需求規(guī)模不大,就不使用分庫分表,而是分庫分表都是非常成熟的方案,并不會(huì)因?yàn)槭褂昧司徒档秃艽蟮拈_發(fā)效率。所以基本就是默認(rèn)就使用了。
  • 那么使用了分庫分表,就會(huì)很占用資源嗎。也不會(huì),因?yàn)閯傞_始業(yè)務(wù)體量不大的時(shí)候,都是虛擬機(jī)交叉使用,你的1臺(tái)物理機(jī)虛出來10個(gè)虛擬機(jī),大家交叉使用主備。這樣你只是使用了分庫分表,但庫表的實(shí)際資源沒占用那么多。

二、使用案例

  • jdk 1.8 +
  • ShardingSphere 5.4.1
<!-- https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-jdbc-core -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc-core</artifactId>
    <version>5.4.1</version>
</dependency>
 <!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml -->
<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>1.33</version>
</dependency>
  • 因?yàn)樾枰馕?yaml 但默認(rèn)的 SpringBoot 提供版本不支持 shardingsphere-jdbc-core 使用。

1. 工程結(jié)構(gòu)

圖片圖片

  • 工程中,提供了 docker 配置數(shù)據(jù)庫環(huán)境操作,并提供了對(duì)應(yīng)的建表測(cè)試語句。如果你本機(jī)已經(jīng)安裝了數(shù)據(jù)庫,那么只做庫表語句導(dǎo)入以及 yml 配置數(shù)據(jù)庫連接信息就可以。
  • sharding-jdbc-dev.yaml 配置了詳細(xì)的分庫分表路由信息,在 algorithms 下配置的是庫表的路由算法。這里的算法要根據(jù)實(shí)際自己使用中庫表數(shù)量來設(shè)置&設(shè)計(jì),避免發(fā)生較大的數(shù)據(jù)偏移。
  • 配置完 sharding-jdbc-dev.yaml 需要在 application-dev.yml 中配置上 sharding-jdbc-dev.yaml 路徑,這樣才能正確加載。
  • 如果你還需要定義出自己特定的路由算法,它還支持自己寫個(gè)實(shí)現(xiàn)類的方式處理。

2. 算法配置

sharding/sharding-jdbc-dev.yaml

# https://shardingsphere.apache.org/index_zh.html
mode:
  # 運(yùn)行模式類型。可選配置:內(nèi)存模式 Memory、單機(jī)模式 Standalone、集群模式 Cluster - 目前為單機(jī)模式
  type: Standalone

dataSources:
  ds_0:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    jdbcUrl: jdbc:mysql://127.0.0.1:13306/xfg_dev_tech_db_00?useUnicode=true&characterEncoding=utf8&autoRecnotallow=true&zeroDateTimeBehavior=convertToNull&serverTimeznotallow=UTC&useSSL=true
    username: root
    password: 123456
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 15
    minPoolSize: 5

  ds_1:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    jdbcUrl: jdbc:mysql://127.0.0.1:13306/xfg_dev_tech_db_01?useUnicode=true&characterEncoding=utf8&autoRecnotallow=true&zeroDateTimeBehavior=convertToNull&serverTimeznotallow=UTC&useSSL=true
    username: root
    password: 123456
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 15
    minPoolSize: 5

rules:
  - !SHARDING
    # 庫的路由
    defaultDatabaseStrategy:
      standard:
        shardingColumn: user_id
        shardingAlgorithmName: database_inline
    # 表的路由
    tables:
      user_order:
        actualDataNodes: ds_$->{0..1}.user_order_$->{0..3}
        tableStrategy:
          standard:
            shardingColumn: user_id
            shardingAlgorithmName: user_order_inline
    # 路由算法
    shardingAlgorithms:
      # 庫-路由算法 2是兩個(gè)庫,庫的數(shù)量。庫的數(shù)量用哈希模2來計(jì)算。
      database_inline:
        type: INLINE
        props:
          algorithm-expression: ds_$->{Math.abs(user_id.hashCode()) % 2}

      # 表-路由算法 4是一個(gè)庫里,表的數(shù)量。4 - 1 為了獲得 011 這樣的二進(jìn)制值。不推薦 user_order_$->{Math.abs(user_id.hashCode()) % 2} 作為表的路由
      user_order_inline:
        type: INLINE
        props:
          algorithm-expression: user_order_$->{(user_id.hashCode() ^ (user_id.hashCode()) >>> 16) & (4 - 1)}

props:
  # 是否在日志中打印 SQL。
  # 打印 SQL 可以幫助開發(fā)者快速定位系統(tǒng)問題。日志內(nèi)容包含:邏輯 SQL,真實(shí) SQL 和 SQL 解析結(jié)果。
  # 如果開啟配置,日志將使用 Topic ShardingSphere-SQL,日志級(jí)別是 INFO。false
  sql-show: true
  # 是否在日志中打印簡(jiǎn)單風(fēng)格的 SQL。false
  sql-simple: true
  # 用于設(shè)置任務(wù)處理線程池的大小。每個(gè) ShardingSphereDataSource 使用一個(gè)獨(dú)立的線程池,同一個(gè) JVM 的不同數(shù)據(jù)源不共享線程池。
  executor-size: 20
  # 查詢請(qǐng)求在每個(gè)數(shù)據(jù)庫實(shí)例中所能使用的最大連接數(shù)。1
  max-connections-size-per-query: 1
  # 在程序啟動(dòng)和更新時(shí),是否檢查分片元數(shù)據(jù)的結(jié)構(gòu)一致性。
  check-table-metadata-enabled: false
  # 在程序啟動(dòng)和更新時(shí),是否檢查重復(fù)表。false
  check-duplicate-table-enabled: false
  • mode:運(yùn)行模式,默認(rèn)就單機(jī)模式。
  • dataSources:數(shù)據(jù)庫連接信息。
  • rules:路由算法。defaultDatabaseStrategy 庫的路由、tables 表的路由。之后在 shardingAlgorithms 中配置具體的路由算法。這里的名稱都是關(guān)聯(lián)的,不要配置錯(cuò)。
  • props:一些屬性信息,包括是否打印日志等。

與這個(gè)對(duì)比,如果你使用的路由功能并不那么大,其實(shí)自研會(huì)更加簡(jiǎn)單。當(dāng)然你也可以想辦法,簡(jiǎn)化 sharding-jdbc 的配置。

3. 配置引入

application-dev.yml

spring:
  datasource:
    driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
    url: jdbc:shardingsphere:classpath:sharding/sharding-jdbc-dev.yaml
  • 和之前的一些 sharding 版本不同,這里是需要使用具體的 ShardingSphereDriver 和 url 地址,才能加載上我們配置的路由信息。

三、測(cè)試驗(yàn)證

圖片圖片

  • 基于工程中 docs/dev-ops/mysql/sql 創(chuàng)建庫表。已經(jīng)提供了庫名、表和測(cè)試數(shù)據(jù)。
  • 無論你使用哪種方式,都可以安裝MySql 并使用可視化工具鏈接。這里小傅哥用的是 Sequel Ace

1. 寫入數(shù)據(jù)

@Test
public void test_insert() {
    for (int i = 0; i < 1000; i++) {
        UserOrderPO userOrderPO = UserOrderPO.builder()
                .userName("小傅哥")
                .userId("xfg_" + RandomStringUtils.randomAlphabetic(6))
                .userMobile("+86 13521408***")
                .sku("13811216")
                .skuName("《手寫MyBatis:漸進(jìn)式源碼實(shí)踐》")
                .orderId(RandomStringUtils.randomNumeric(11))
                .quantity(1)
                .unitPrice(BigDecimal.valueOf(128))
                .discountAmount(BigDecimal.valueOf(50))
                .tax(BigDecimal.ZERO)
                .totalAmount(BigDecimal.valueOf(78))
                .orderDate(new Date())
                .orderStatus(0)
                .isDelete(0)
                .uuid(UUID.randomUUID().toString().replace("-", ""))
                .ipv4("127.0.0.1")
                .ipv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334".getBytes())
                .extData("{\"device\": {\"machine\": \"IPhone 14 Pro\", \"location\": \"shanghai\"}}")
                .build();
        userOrderDao.insert(userOrderPO);
    }
}
  • 測(cè)試數(shù)據(jù)寫入,你可以寫入1000條數(shù)據(jù),觀察散列效果。并可以在這個(gè)過程中,調(diào)試修改 sharding-jdbc-dev.yaml 文件對(duì)庫表路由的計(jì)算方式。

2. 查詢數(shù)據(jù)

@Test
public void test_selectByUserId() {
    List<UserOrderPO> list = userOrderDao.selectByUserId("xfg_PrmgwQ");
    log.info("測(cè)試結(jié)果:{}", JSON.toJSONString(list));
}
  • 查詢的用戶ID是已經(jīng)寫入到數(shù)據(jù)庫表里的數(shù)據(jù),查詢的時(shí)候會(huì)根據(jù)用戶ID繼續(xù)路由計(jì)算。

3. 散列算法

@Test
public void test_idx() {
    for (int i = 0; i < 50; i++) {
        String user_id = "xfg_" + RandomStringUtils.randomAlphabetic(6);
        log.info("測(cè)試結(jié)果 {}", (user_id.hashCode() ^ (user_id.hashCode()) >>> 16) & 3);
    }
}
  • 你可以嘗試驗(yàn)證和編寫新的散列算法,最終目的都是讓數(shù)據(jù)盡可能散列到庫表。
  • 此外,關(guān)于算法的好壞,可以基于雪崩測(cè)試計(jì)算
責(zé)任編輯:武曉燕 來源: bugstack蟲洞棧
相關(guān)推薦

2022-05-16 08:50:23

數(shù)據(jù)脫加密器

2025-04-03 08:35:00

分頁查詢開發(fā)代碼

2024-03-14 09:30:04

數(shù)據(jù)庫中間件

2025-04-03 09:39:14

2021-10-27 09:55:55

Sharding-Jd分庫分表Java

2023-12-21 09:00:00

開發(fā)并發(fā)編程

2019-09-17 11:18:09

SQLMySQLJava

2020-11-17 09:17:58

框架組件基礎(chǔ)服務(wù)

2018-01-24 07:58:47

框架組件技術(shù)棧開源

2020-11-06 15:30:23

分庫分表Sharding-JD數(shù)據(jù)庫

2020-06-11 17:48:58

蘋果Mac芯片

2022-07-06 08:01:05

數(shù)據(jù)庫分布式

2023-07-24 09:00:00

數(shù)據(jù)庫MyCat

2021-11-30 22:29:18

iPhone手機(jī)信號(hào)

2009-12-01 18:51:48

家庭路由器安裝

2022-11-23 18:39:06

智能質(zhì)檢

2024-03-27 08:36:48

JavaScriptWeb開發(fā)前端開發(fā)

2022-01-13 11:26:34

Linux路由容器

2023-08-09 20:43:32

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品国产三级国产aⅴ原创| 一个色综合网| 免费看黄色一级视频| 秋霞蜜臀av久久电影网免费| 色呦呦一区二区三区| 亚洲精品在线视频观看| 国产夫绿帽单男3p精品视频| 一本色道久久综合亚洲精品不| 亚洲欧美www| 美女被艹视频网站| 伊人久久在线| 亚洲精品日韩综合观看成人91| 国产日韩欧美一区二区三区四区| 最新中文字幕在线观看视频| 欧美淫片网站| 亚洲男人天堂久| 深夜福利网站在线观看| 欧美aa在线| 国产精品乱码久久久久久| 国产99在线免费| 探花国产精品一区二区| 1024成人| 久久伊人精品视频| 国产精品天天干| 99re8这里有精品热视频8在线| 色视频成人在线观看免| 亚洲精品天堂成人片av在线播放| 国产精品久久久久一区二区国产 | 日韩美女精品在线| 久久伦理网站| 成人免费视频国产免费麻豆| 激情都市一区二区| 热久久视久久精品18亚洲精品| 免费在线观看黄视频| 日韩av在线播放网址| 日韩精品中文字幕在线观看| 久久人妻少妇嫩草av蜜桃| 国产第一亚洲| 在线免费一区三区| 北条麻妃在线观看| 男人的天堂免费在线视频| 夜夜夜精品看看| 熟女熟妇伦久久影院毛片一区二区| 女人天堂在线| 2021中文字幕一区亚洲| 国产在线观看一区| 亚洲精品无遮挡| 国产伦精品一区二区三区免费迷| 成人黄色在线播放| 91亚洲精品国偷拍自产在线观看 | 亚洲欧洲综合另类| 尤物一区二区三区| 91caoporm在线视频| 久久精品亚洲精品国产欧美kt∨| 鲁鲁视频www一区二区| 亚洲精品人妻无码| 成人性生交大片免费看中文 | 国产精品色眯眯| 日韩视频在线播放| chinese偷拍一区二区三区| 日本一区二区三区dvd视频在线| 免费精品视频一区二区三区| 精品三级久久久久久久电影聊斋| 久久一区二区三区国产精品| 欧美久久在线| 国产精品99999| 国产精品日产欧美久久久久| 神马影院我不卡午夜| 97视频在线观看网站| 国产精品欧美久久久久一区二区| 在线观看日韩片| 亚洲电影视频在线| 亚洲成人你懂的| 黄色免费观看视频网站| 综合久久2023| 欧美日韩高清在线| 91视频福利网| 日本久久成人网| 亚洲欧美综合另类中字| 超碰人人人人人人人| 天天色天天射综合网| 欧美福利视频在线观看| 欧美激情亚洲综合| 日韩二区三区四区| 91网站在线看| 外国精品视频在线观看 | 日本人妖一区二区| 国产欧美一区二区三区久久人妖| 97视频免费在线| 成人深夜在线观看| 欧美精品一区二区三区在线看午夜| 成全电影播放在线观看国语| 亚洲视频在线一区二区| 北条麻妃在线视频观看| av在线播放一区| 日韩女优av电影在线观看| 日本免费福利视频| 99久久亚洲精品蜜臀| 国外成人在线播放| 一级片aaaa| 成人av影院在线| 亚洲成色www久久网站| av网站大全在线| 一本色道**综合亚洲精品蜜桃冫| 黄色三级视频在线播放| 精品福利一区| 伦伦影院午夜日韩欧美限制| 国产区在线观看视频| 久久99日本精品| 久久99欧美| 国产激情在线| 色一区在线观看| www.黄色网| 欧美综合在线视频观看| 高清欧美性猛交xxxx| 中文字幕日本人妻久久久免费| 成人一区二区三区| 人人妻人人澡人人爽精品欧美一区| av免费在线视| 日韩欧美一级二级三级| 成人做爰69片免网站| 国产日产高清欧美一区二区三区| 91丨九色丨国产在线| 国产一二三区在线视频| 午夜视黄欧洲亚洲| 日本在线视频播放| 色综合久久网| 日韩av手机在线观看| 性欧美18一19性猛交| 国产精品久久777777| 色婷婷综合久久久久中文字幕 | 欧美福利精品| 国产中文在线播放| 欧美大片一区二区三区| 奇米网一区二区| 视频在线观看一区二区三区| 精品视频一区二区| 蜜桃成人365av| 911精品国产一区二区在线| 久久久久久久久福利| 麻豆成人在线| 美日韩精品免费| 高清在线视频不卡| 亚洲国产精品字幕| 日本少妇久久久| 粉嫩欧美一区二区三区高清影视| 最新视频 - x88av| 亚洲精品成a人ⅴ香蕉片| 伊人男人综合视频网| 成人公开免费视频| 久久精品亚洲精品国产欧美| 欧美日韩一区二区在线免费观看| 综合综合综合综合综合网| 91爱爱小视频k| 午夜福利理论片在线观看| 午夜精品爽啪视频| 一出一进一爽一粗一大视频| 国产精品亚洲产品| 蜜桃av久久久亚洲精品| 成人短视频app| 亚洲欧洲一区二区三区在线观看| 亚洲va在线观看| 国产丝袜美腿一区二区三区| 亚洲综合欧美在线| 久久久久久久久丰满| 亚洲综合中文字幕在线观看| www在线免费观看视频| 欧美sm极限捆绑bd| 国产污片在线观看| 久久蜜桃香蕉精品一区二区三区| 日韩一级免费在线观看| 日韩在线观看电影完整版高清免费悬疑悬疑| 国产精品久久久久7777婷婷| 国产黄色小视频在线| 日韩欧美综合在线| 日本熟妇一区二区| 久久久www成人免费毛片麻豆| 天堂社区在线视频| 亚洲精品小说| 国产精品一区二区欧美黑人喷潮水 | 男人草女人视频| 美女一区二区在线观看| 国产精品91一区| www在线免费观看视频| 亚洲成人av片| 欧美一区二区三区不卡视频| 国产精品美女久久福利网站| 日本特黄在线观看| 99热精品在线| 亚洲成人第一| 91免费精品国偷自产在线在线| 91高清免费在线观看| 超碰97在线免费观看| 日韩一区二区免费在线观看| 国产成人亚洲欧洲在线| 国产精品无遮挡| 国产精久久久久| 久久一区欧美| 中文字幕色呦呦| 九九久久婷婷| 高清视频在线观看一区| 日本肉肉一区| 久久久亚洲国产| 午夜视频成人| 国产视频久久久久久久| 国产欧美一级片| 狠狠色狠狠色综合日日小说| 少妇高潮在线观看| 91视频在线观看免费| 国产一级片中文字幕| 国产亚洲福利| 天天做天天躁天天躁| 国产区精品区| 国产精品亚洲不卡a| 欧美午夜三级| 国产成人av在线| 9999在线视频| 久久伊人91精品综合网站| 国产三级在线免费观看| 亚洲国产成人精品久久| 国产普通话bbwbbwbbw| 色婷婷精品久久二区二区蜜臀av| 久久亚洲成人av| 一区在线观看视频| 性欧美一区二区| 91在线国产观看| 国产乱淫av麻豆国产免费| 久久精品国产秦先生| 老司机午夜av| 国产精品入口| 久艹视频在线免费观看| 欧美午夜不卡| 欧美一级黄色录像片| 日韩在线视屏| 亚洲国产激情一区二区三区| 精品中文一区| 欧美精品一区在线发布| 久久久免费毛片| 国产精品日韩欧美一区二区| 五月亚洲婷婷| 91视频在线免费观看| 欧美视频在线观看一区二区三区| 国精产品一区一区三区四川| 日韩亚洲一区二区| xxxxx日韩| 在线观看免费高清视频97| 激情小说 在线视频| 日韩成人在线电影网| 少妇av在线播放| 精品国产91乱码一区二区三区| 亚洲h视频在线观看| 日韩一级免费一区| 精品黑人一区二区三区国语馆| 6080日韩午夜伦伦午夜伦| 亚洲一级片免费看| 欧美日韩一区三区四区| 一区二区三区www污污污网站| 欧美日韩免费不卡视频一区二区三区| 国产成人av免费| 欧美日韩一区二区在线观看视频| 中文字幕 国产精品| 欧美日韩成人高清| 国产免费视频一区二区三区| 日韩一区二区三区四区| 国产小视频一区| 精品一区二区三区四区在线| 国产午夜精品一区理论片| 最近中文字幕日韩精品| 国产在线观看免费麻豆| 欧美激情久久久| 欧美大胆a人体大胆做受| 国产成人精品一区二区在线| 国产亚洲精品精品国产亚洲综合| 成人欧美一区二区三区在线湿哒哒| 韩国一区二区三区视频| 国产精品一区二区三区精品| 亚洲欧洲av| 一区国产精品| 国产精品www994| 国产精品宾馆在线精品酒店| 日本亚洲欧美天堂免费| 欧美激情第一区| 成人永久看片免费视频天堂| 一出一进一爽一粗一大视频| 亚洲国产精品精华液2区45| 一区二区视频免费看| 天天色天天操综合| 中文字幕久久久久| 精品对白一区国产伦| 成人在线免费视频| 欧美另类在线播放| 88xx成人永久免费观看| 91久久精品www人人做人人爽 | 欧美精品九九99久久| 欧美视频久久久| 最近中文字幕日韩精品 | 国产精品二区不卡| 精品久久久久久无码中文野结衣| 日韩国产精品91| 国产精品久久久久野外| 久久人人爽爽爽人久久久| 免费看特级毛片| 婷婷开心激情综合| 国产免费一区二区三区最新不卡 | 精品人妻在线视频| 日本一区二区三区四区 | 婷婷激情在线| 7777kkkk成人观看| www欧美在线观看| 热re99久久精品国产99热 | 精品久久久久久无码国产| 国产在线播放一区| 青娱乐国产视频| 欧美日韩精品二区| 精品国产av鲁一鲁一区| 伊人久久男人天堂| 亚洲欧洲美洲av| 国产伦精品一区二区三区四区免费 | 日日骚一区二区三区| 欧美亚洲国产一区二区三区| 无码国产精品96久久久久| 久久成人免费视频| 精品久久福利| 欧美中日韩免费视频| 国产在线日韩| 国产精品久久久久野外| 亚洲欧美综合色| 天堂网一区二区| 精品在线观看国产| 国产精选在线| 国产精品免费观看高清| 欧美激情91| 免费观看黄网站| 亚洲三级电影网站| 性感美女一区二区在线观看| 国产99久久精品一区二区永久免费| 日本精品视频| 国产欧美综合一区| 国内久久精品视频| 少妇太紧太爽又黄又硬又爽小说| 色婷婷香蕉在线一区二区| 无码精品在线观看| 97在线看福利| 老牛国内精品亚洲成av人片| 国产欧美日韩小视频| 成人手机电影网| 日韩精品――中文字幕| 精品福利av导航| heyzo高清中文字幕在线| 国产传媒一区| 亚洲国产专区校园欧美| 免费黄色三级网站| 狠狠躁夜夜躁人人躁婷婷91| 天堂91在线| 国产成人精品在线观看| 国产乱码精品一区二区三区四区 | 久久精品日韩无码| 欧美色综合影院| 男人影院在线观看| 91社区国产高清| 国产在线欧美| 一区二区三区少妇| 色婷婷国产精品| 97视频在线观看网站| 成人免费直播live| 欧美午夜久久| 亚洲专区区免费| 欧美三级电影在线观看| av在线播放观看| 国产精品乱码| 日韩中文字幕不卡| 欧美风情第一页| 欧美mv日韩mv| 综合日韩av| 五月天综合婷婷| 岛国一区二区三区| 免费污污视频在线观看| 日韩中文字幕在线视频播放| 日本精品一区二区三区在线观看视频| 国产一级爱c视频| 国产人妖乱国产精品人妖| 国产一区二区波多野结衣| 久久久久久久久网站| 国产精品免费大片| 手机av在线网站| 欧美日韩亚洲激情| 91大神xh98hx在线播放| 成人综合色站| 男人的天堂久久精品| 久久久久久蜜桃| 尤物九九久久国产精品的分类| 亚洲3区在线| 国产一级片黄色| 亚洲一区二区三区中文字幕| 国产日韩精品在线看| 成人做爰66片免费看网站| 免费成人性网站| 国偷自拍第113页| 久久亚洲一区二区三区四区五区高 | 香蕉国产精品偷在线观看不卡|