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

掌握6大模塊、7個核心概念!幫你搞定Mycat中間件

開發 前端
本文從分布式數據存儲入手,描述了Mycat在分布式數據庫中起到了怎樣的作用。然后介紹了Mycat的六大模塊:通信協議、SQL執行、路由解析、數據庫連接、結果集處理、監控管理,是如何工作的。

[[378586]]

本文轉載自微信公眾號「石杉的架構筆記」,作者崔皓 。轉載本文請聯系石杉的架構筆記公眾號。  

開篇

近今年里隨著經濟的飛速發展,企業的業務也在不斷膨脹,作為業務支撐的信息系統特別是數據庫系統也面臨前所未有的壓力,行業應用所產生的數據呈爆炸式地增長。數據從原來的GB級別迅速增常到TB甚至是PB的規模,已經遠遠超過傳統計算技術的要求,原來集中式的存儲方式已經無法滿足數據存儲的要求,此時分布式數據存儲由于良好的透明性、數據冗余性、擴展性、自治性逐漸進入人們的視野。為了更好的使用和管理分布式數據庫,業內推出了不少優秀的分布式數據庫中間件,Mycat就是其中之一,今天就來看看Mycat的架構和實現原理。本篇文章會學到以下內容:

分布式數據存儲與Mycat

  • Mycat架構介紹
  • Mycat核心概念及配置
  • 分布式數據存儲與Mycat

眾所周知,在分布式數據庫的使用場景下,數據的存儲不像集中式數據庫那樣都存放在一臺服務器的一個數據庫中,而是會分布在不同的服務器的不同數據庫中。而應用程序的會根據不同的數據庫進行訪問,如圖1 所示,應用程序需要根據訪問的數據庫不同:數據庫1、數據庫2、數據庫3使用不同的數據庫連接,如果說某張數據表在三個數據庫中都存在,也需要使用特定的方式對其進行訪問,可以說在應用程序這端訪問起來是比較麻煩的。

圖1

分布式的數據庫隊增加了應用程序訪問的復雜度

正因為應用程序在訪問分布式數據庫的時候會遇到類似的問題,所以引入了數據庫中間件來簡化應用程序需要面對的問題。如圖2所示,在應用程序和數據庫中間引入Mycat數據庫中間件以后,讓應用程序的編程更加方便,它不用在面對分布式的數據庫,而只用針對Mycat中間件進行數據庫編程就能完成對應的數據操作,并且適用于以下幾種場景:

  • 讀寫分離:可以通過Mycat針對數據庫1進行寫操作,而對數據庫2和3進行讀操作。如果在寫服務器出現宕機的情況,Mycat可以將寫的請求暫時轉移到其他的數據庫服務器上,保證數據庫的可用性。
  • 垂直分表分庫:將訂單表存放到數據庫1和2中,將商品表存放到數據庫3中。也就是把不同的表放在不同的庫中。
  • 水平分表分庫:將訂單表的不同記錄通過分片算法(例如:hash取模)分表存放到數據庫1和2中。也就是將相同表的不同數據放到不同庫的表中。
  • 訪問不同的數據庫:數據庫1和2對應訪問的就是MySQL數據庫,而數據庫3訪問的是Oracle數據庫。
  • 控制應用程序到數據庫的連接數量:每一個數據庫連接都會占用數據庫服務器的資源,每個數據庫服務器能夠連接的請求也是有限的,這里Mycat可以控制前端應用請求數據庫服務器的連接數量,保證數據庫服務器的高可用。

換句話說,當應用程序發起一條SQL語句的時候,不用關心數據庫存放在哪個服務器,以及數據庫表是否做了分表分庫,只用將要查的數據告訴Mycat就可以了,Mycat在考慮上述場景之后將結果返回給應用程序,讓開發者更加方便快捷地操作數據。

圖2

引入Mycat協助應用程序實現讀寫分離、分表分庫操作

上面描述的這些數據操作如果在沒有Mycat中間件的情況需要在應用程序端維護大量的代碼,而有了Mycat之后應用程序只需要針對Mycat進行配置,并且對其變成就能完成這些操作。

Mycat是一個開源的面相企業應用開發的數據庫中間件,支持大數據庫集群、事物、ACID。適用于高可用性、數據庫讀寫分離、數據分級存儲保障、大型數據庫的分表分庫以及并行計算、數據庫路由以及整合諸如MySQL、Oracle、SQL Server 等數據庫。由于Mycat開源中間件有一個發展的過程,每個版本的迭代都會遇到一些問題,目前已經更新到了Mycat 2.0是一個相對穩定的版本。

如果有條件的同學盡量使用最新版本,或者使用Mycat 1.6.5 以上的版本,其修正了一些常用SQL函數的問題。不過Mycat 也不是萬能的依舊會存在一些問題,我們這里把它的優缺點列出如下表格方便大家參考。


優點

缺點

拆分后業務清晰,拆分規則明確

部分業務表無法join,只能通過接口調用

系統之間容易擴展和整合

跨庫事務難以處理

數據維護簡單

垂直切分后某些業務數據過于龐大,仍然存在單體性能瓶頸

解決了單庫大數據、高并發的性能瓶頸

拆分規則很難抽象

拆分規則封裝好,對應用端幾乎透明,開發人員無需關心拆分細節

分片事務一致性難以解決,需要通過XA或者借助其他分布式事務方式,例如:Redis、Zookeeper。

提高了系統的穩定性和負載能力

二次擴展時,數據遷移、維護難度大


Mycat架構介紹

上面講到了Mycat在分布式數據庫中起到的作用,讓應用程序的開發專注于業務本身,把分表分庫、讀寫分離、訪問不同數據以及控制數據庫連接的問題都交給Mycat來處理。那么Mycat是通過怎樣的架構實現上述功能的呢,下面就和我一起來看看Mycat的組件和架構。

從邏輯上劃分以下六個模塊。

  1. 通信協議模塊:主要負責底層通信功能,例如收發數據、線程回調等工作。采用Reactor、Proctor模式,在網絡IO架構中實現了NIO和AIO的方式。
  2. SQL執行模塊:顧名思義,其接受到要執行的SQL 以后通過數據庫連接模塊連接到數據庫,通過連接池獲取目標數據庫,再經由SQL路由解析把SQL語句分發到數據庫節點中進行執行。
  3. 路由解析模塊:當Mycat實現分表分庫功能的時候,路由就顯得非常重要了。該模塊當收到應用程序請求的查詢語句以后,會連接后端的數據,通過配置文件的規則設置,將請求路由到對應的數據庫的表中進行查詢。同時該模塊還肩負SQL解析的職能,需要對SQL語句的EXPLAIN、SET、SHOW、SELECT等命令進行解析,從而獲取表名、條件、字段列表等信息。同時還可以對SQL語句進行改寫。
  4. 數據庫連接模塊:主要負責創建、管理、維護后端的數據庫以及對應的數據庫連接池。并且通過連接池機制對數據庫連接的生命周期進行管理。
  5. 結果集處理模塊:當查詢結果返回之前需要將其進行匯總、排序。特別是針對數據分片的情況,返回的數據來自不同的數據庫服務器和表,需要將這些數據進行必要的匯總才能返回給應用程序。
  6. 監控管理模塊:主要對Mycat中的連接、內存等資源進行監控和管理。監控參數包括:連接數、緩存命中數等。

上面六個模塊看上去比較抽象,如果理清邏輯順序記憶起來還是比較方便的。通訊協議模塊接受到應用程序的SQL請求,會將其交給SQL執行模塊,執行模塊解析SQL之后需要知道訪問哪些節點上的數據庫。于是,它請求路由解析模塊,再了解需要訪問哪些數據庫以后,通過數據庫連接模塊建立數據庫連接,并且分發SQL到對應數據庫上執行,將返回的數據通過結果集處理模塊,匯總、排序,最后返回給應用程序。監控管理模塊就好像一個大管家監視Mycat中的連接、內存等資源使用情況。

如果將上面的組件通過Mycat的處理流程展示的話:

圖3

Mycat 數據處理流程

如圖3所示,整個圖由上、中、下3步部分組成。

上面的部分代表客戶端,其承載多個應用程序會向處在中間的Mycat服務發起SQL請求。中間Mycat服務,包含了上述的六大組件,負責對應用程序請求進行處理和響應。下面的存儲層可以對接不同的數據源,為Mycat提供存儲服務。整個請求處理流程分為請求和響應兩個部分,分別由“從上往下”和“從下往上”的兩個箭頭代表,這里我們將Mycat的處理分為六個步驟給大家介紹如下:

1. 在客戶端的應用程序向Mycat服務發起SQL請求的時候,通信協議模塊會通過NIO/AIO的方式將請求提交給路由解析模塊。

2. 路由解析模塊包含SQL解析、優化和路由的功能。主要功能是將SQL進行解析成要執行的命令,并且對其進行優化,之后通過路由規則找到要執行的數據庫服務器。

3. 之后請求會交給SQL執行模塊,根據路由解析的結果分發到數據庫服務器上執行。

4. 在執行之前需要通過數據庫連接模塊獲取數據庫對應的連接,同時需要對數據庫連接池進行管理。

5. 同樣,在分發執行SQL的時候也需要通信協議模塊進行信息的傳遞。

6. 當執行完SQL請求以后,數據庫會將數據通過結果處理模塊進行聚合、排序、匯總的操作,最后將數據返回給客戶端的應用程序,完成整個請求過程。

Mycat核心概念及配置

在描述完Mycat 的架構和工作流程以后,相信大家對Mycat的執行機制和結構都有一定的了解。站在架構的高度對下面的核心概念的理解會有一些幫助,如果說上面講的是Mycat邏輯架構,那么下面介紹的核心概念及配置就涉及到具體操作的范疇。

畢竟Mycat需要提供配置工具完成開發者的功能,然后再通過架構來執行這些規則,最后實現對分布式數據庫開發的透明性。接下來要介紹的就是在使用Mycat過程中遇到的核心概念,以及這些概念對應的配置方式和對應的配置文件。方便我們落地Mycat中間件的應用。

圖4

Mycat核心概念圖

如圖4所示,改圖描述了Mycat 核心概念之間的關系,并且描述了這些核心概念在哪些配置文件中進行配置。

我們從上往下跟著序號來看這些概念:

  1. Mycat中的系統信息和用戶信息都在Server.xml文件中進行配置,其中對于user(用戶)的配置包含了,用戶基本信息和所能夠訪問schema(邏輯庫)的權限。
  2. Schema.xml包含了Mycat對于數據的定義,Schema(邏輯庫)會包含一個或者多個table(邏輯表)。
  3. Table(邏輯表)會通過包含的datanode(數據節點)來描述數據存放的服務器和物理數據庫。
  4. 在datanode中包含了datahost和database。其中datahost表示數據庫所在的服務器集群,而database是對物理數據庫的描述。
  5. 針對每個table的分片定義規則,在rule.xml文件中進行定義,rule在定義規則的時候會調用function對規則算法進行描述。

上面我們將Mycat核心概念以及它們對應的配置文件給大家做了整體介紹,接下來將對上面的概念做深入的描述。

1.用戶(User)

Mycat中的用戶是一個邏輯上的用戶,他定義了用來連接Mycat中間件的用戶信息,并且將這些信息存放在server.xml文件中。如圖5所示,這是server.xml 文件中對user 信息的定義。

圖5

用戶的定義Server.xml文件

可以看到定義了用戶名為“test”,密碼“password”是123456.在schemas 標簽里面定義了“test_db” 這是該用戶可以訪問的邏輯數據庫。在privileges標簽中定義了true說明還會用戶對邏輯庫的具體使用權限。這里定義對“test_db”的dml到操作用的是四位數字表示,分別是“0110”。

實際上每一位都表示一種操作,四位對應的操作分別是“insert、update、select、delete”,如果對應的位數上是“1”表示支持該操作,如果是“0”表示不支持對應的操作。

“0110”就表示,不支持insert操作、支持update操作、支持select操作,不支持delete操作。以此類推在schema標簽下面還有一個table標簽,可以設置對邏輯表的權限,例如:table01的dml是0000,也就是不能進行四種操作的意思。

2.邏輯庫(schema)

開發人員在進行數據庫開發的時候都需要對某個具體的數據庫進行操作,例如:查找、更新、刪除等等。但是到了分布式數據庫的時代,數據庫以分布式的方式部署在不同的服務器節點中,此時再去訪問這些數據庫難度就增加了。有Mycat介入以后,引入了邏輯庫的概念,邏輯庫是一個概念上的定義,其背后對應的是一個或者多個實體數據庫,它的定義是在schema.xml文件中進行的。

如圖6所示:

圖6

邏輯庫在schema.xml文件中的定義

定義了名為“test_db”的邏輯數據庫。

sqlMaxLimit 用來限制每次查詢數據能否返回的最大行數,這里設置的是“1000”,當為“-1”的時候就沒有限制。

checkSQLschema 是一個是否通過庫名和表名方式訪問數據庫的開關,默認情況下是“fasle”。

3.邏輯表(table)

既然有邏輯庫就一定有邏輯表,通常意義上邏輯表會和物理表進行對應,有可能是一個邏輯表對應多個分布在不同數據節點的物理表;也有可能對應一張沒有進行分片的物理表。同樣這些配置都是在schema.xml配置文件中完成的。

如圖7 所示:

圖7

在邏輯庫中定義邏輯表

  • 在上面定義的邏輯庫“test_db”中定義了一個邏輯表,表的名字叫做“order” ,邏輯表的名字需要和物理表的名字保持一致。因為在Mycat不會再定義邏輯表與物理表之間的關系了,因此使用這種隱性的方式讓它們進行對應。
  • “primaryKey”標簽是定義邏輯表的主鍵,邏輯表的主鍵和物理表的主鍵也是保持一致的。設置主鍵的目的是,如果在數據分片時沒有選擇主鍵,Mycat會通過這個定義主鍵的定義對物理表進行查詢,從而提高查詢的效率。
  • 在“dataNode”標簽中 定義了物理數據庫的名字。如果一張物理表分片存儲在多個物理數據庫,那么每個物理數據庫需要通過逗號進行分割。這里物理節點的順序也就是索引的順序。如圖中顯示的“orderdb01”的索引就是0,“orderdb02”的索引就是1。
  • 最后在Rule標簽中定義的是水平分片的規則,具體的定義方式在后面進行詳細講解。

4.數據節點(DataNode)

定義邏輯存儲對應的物理數據庫,這里包含兩個重要的信息:

  • 保存數據的數據庫主機(集群)的名字
  • 物理數據庫的名稱

同樣在schema.xml配置文件的dataNode標簽下配置。

如圖8 所示:

圖8

數據節點定義

“dataHost”標簽描述了物理數據庫的數據庫服務器(服務器節點/集群)。

“database”標簽描述了客戶端物理數據庫的名字,在服務器節點上必須存在這個數據庫。

從兩個數據節點(“orderdb01”,“orderdb02”)都定義到一個“mysql01”的datahost可以看出,它們的數據庫都存放在同一個數據庫集群中。

5.數據主機集群(DataHost)

數據主機集群主要是描述存放數據庫的主機信息,通常來說是描述一個數據庫服務器的集群。

如圖9 所示:

圖9

數據主機集群

dataHost中定義了“mysql01”的數據庫主機集群,其中包括“maxCon”(最大連接數),“minCon”(最小連接數),“balance”(讀寫分離開關),“dbType”(數據庫類型)等標簽。

重要的是,在這個集群中定義了三臺數據庫的服務器。”192.168.0.1”這臺是寫服務器,與之對應有一臺讀服務器,它是“192.168.0.2”。另外,還有一臺寫服務器是”192.168.0.3”。

6.分片規則(TableRule)&函數(Function)

在schema.xml文件中基本都是數據方面的定義,其中在邏輯表中有針對rule的定義,這種情況是用來定義分片規則的,一般而言分片規則的定義在rule.xml文件中完成。

如圖10所示:

圖10

tableRule和function 定義

  • tableRule中定義了分片規則為“mod_3_order_id”,這個名字是給邏輯表中的rule標簽使用的。從名字的含義可以看出,通過對3取模的方式對order_id這個字段進行計算,從而實現分片操作。
  • 在columns標簽中定義了order_id作為取模的字段。
  • 在algorithm標簽中定義了具體的分片算法。這里的算法名稱可以從下面的function節點中找到對應的定義。
  • Function中的name 對應上面tablerule中的算法名稱,同樣是”mod_3”,也就是通過對3進行取模。
  • 在class 標簽中定義了算法實現的Class 類的namespace和對應的類名。
  • Count 標簽定義的3就是具體取模的數字,這里是對3進行取模。

根據上面給出的配置規則的定義,可以得到圖11所示分片規則。

圖11

分片規則定義路由選擇

  1. 當應用程序發起一個對order表的SQL查詢,查詢order_id=1的數據。
  2. 當請求提交給Mycat以后,針對簡單取模的方式把order_id對3進行取模得到1。
  3. 由于order表被分片存放在DB0、DB1、DB2三個庫中,通過取模的值路由到DB1的order表中并且執行SQL語句,完成這次分布式的查詢。

總結

本文從分布式數據存儲入手,描述了Mycat在分布式數據庫中起到了怎樣的作用。然后介紹了Mycat的六大模塊:通信協議、SQL執行、路由解析、數據庫連接、結果集處理、監控管理,是如何工作的。

最后通過介紹Mycat七大核心概念:用戶、邏輯庫、邏輯表、數據節點、數據主機集群、分片規則、分片函數,以及對應的三個配置文件:Server.xml、Schema.xml 和Rule.xml文件是如何幫助應用程序使用好Mycat中間件的。

 

責任編輯:武曉燕 來源: 石杉的架構筆記
相關推薦

2024-01-24 08:19:02

Stream應用場景注解

2021-12-14 10:39:12

中間件ActiveMQRabbitMQ

2019-12-13 10:32:56

開源消息中間件

2021-06-15 10:01:02

應用系統軟件

2017-07-26 09:41:28

MyCATSQLMongoDB

2022-11-18 07:54:02

Go中間件項目

2011-10-28 09:20:36

dorado

2017-07-18 17:35:16

數據庫MyCATPreparedSta

2022-10-25 08:01:17

洋蔥模型Koa

2011-05-24 15:10:48

2021-02-11 08:21:02

中間件開發CRUD

2011-12-15 01:10:03

ibmdw

2018-07-29 12:27:30

云中間件云計算API

2018-02-01 10:19:22

中間件服務器系統

2016-11-11 21:00:46

中間件

2011-05-26 17:19:05

中間件

2022-04-11 09:15:44

中間件開源

2017-07-18 17:07:40

數據庫 MyCATJoin

2023-06-29 10:10:06

Rocket MQ消息中間件

2012-11-30 10:21:46

移動中間件
點贊
收藏

51CTO技術棧公眾號

久久青青草视频| 亚洲综合av在线播放| 熟妇人妻一区二区三区四区 | 国产成人亚洲精品无码h在线| 国产毛片在线| 国产黄色91视频| 欧美性视频在线| 国产乱子轮xxx农村| 九九热hot精品视频在线播放| 色激情天天射综合网| 免费成人进口网站| 牛牛热在线视频| 国产一区在线视频| 热久久视久久精品18亚洲精品| 久久精品国产亚洲AV成人婷婷| 成人三级毛片| 欧美精品1区2区3区| 欧美亚洲一二三区| а√天堂在线官网| 欧美激情中文字幕| 精品一区二区久久久久久久网站| 一卡二卡在线观看| 免费精品视频| 韩国欧美亚洲国产| 午夜少妇久久久久久久久| 精品国产不卡| 日韩精品高清在线| 337p日本欧洲亚洲大胆张筱雨| 成人日韩精品| 精品久久中文字幕| 人人妻人人澡人人爽欧美一区 | 精品中文字幕视频| 污污视频网站在线免费观看| 色狼人综合干| 精品久久久久久久久久久久久久久久久 | 亚洲一区二区精品在线观看| 国产精品无码天天爽视频| 亚洲欧美日本视频在线观看| 欧美黑人国产人伦爽爽爽| av在线播放中文字幕| 国产精品免费大片| 亚洲欧美另类中文字幕| 超碰97在线资源站| 国内精品国产成人国产三级粉色| 欧美一级日韩免费不卡| 亚洲va在线va天堂va偷拍| 国模视频一区| 在线一区二区三区做爰视频网站| av网站在线观看不卡| 日本乱码一区二区三区不卡| 亚洲在线视频一区| 男女猛烈激情xx00免费视频| 欧美人与动牲性行为| 亚洲综合一区在线| 精品成在人线av无码免费看| 欧美xxxx视频| 亚洲国产视频在线| 人妻少妇精品久久| 美女露胸视频在线观看| 黑人巨大精品欧美一区二区免费| 精品国产一二三四区| aa国产成人| 欧美日韩另类在线| 成年人视频网站免费观看| 欧美少妇网站| 一本大道久久a久久精二百| 超碰影院在线观看| 国产亚洲人成a在线v网站 | www.xxxx国产| 国产成人在线视频播放| 成人av免费电影| 日韩中文字幕免费观看| 久久久精品综合| 日日夜夜精品网站| 69久久久久| 亚洲激情欧美激情| 噜噜噜久久亚洲精品国产品麻豆| 日韩在线影院| 3d动漫精品啪啪1区2区免费| 国产伦理在线观看| 亚洲69av| 中文字幕日韩精品在线观看| 波多野结衣亚洲一区二区| 极品尤物久久久av免费看| 2020久久国产精品| 亚洲天堂中文网| 丁香亚洲综合激情啪啪综合| 免费一区二区三区在在线视频| 黄色网址在线播放| 亚洲精品第一国产综合野| 北条麻妃在线视频观看| 久久久久久久性潮| 亚洲的天堂在线中文字幕| www.av天天| 欧美涩涩网站| 国产精品99久久久久久白浆小说| 91九色蝌蚪91por成人| 不卡一区二区三区四区| 日韩在线第一区| 国产在线拍揄自揄拍视频| 在线影院国内精品| 挪威xxxx性hd极品| 99热精品久久| 欧亚精品中文字幕| www.色播.com| 国产精品每日更新| 97成人在线免费视频| 欧美黑粗硬大| 亚洲毛片在线看| 欧美精品一区二区蜜桃| 日韩 欧美一区二区三区| 国产精品swag| 麻豆网站视频在线观看| 欧美午夜美女看片| 美女网站视频在线观看| 久久精品高清| 国产精品高清免费在线观看| 天天干天天草天天射| 亚洲免费在线播放| 色国产在线视频| 国产成人av| 91高清视频在线免费观看| 国产女人18毛片水真多| 国产欧美一区二区精品久导航| 国产日韩亚洲欧美在线| 一区在线不卡| 日韩网站免费观看| 青青草视频在线观看免费| 99热在这里有精品免费| 国产精品三级一区二区| 国产午夜亚洲精品一级在线| 一区二区三区视频免费| 天堂在线免费观看视频| 成人国产精品免费观看视频| 男人的天堂视频在线| 日本一区二区三区中文字幕| 国产亚洲精品久久久久动| 国产精品人人人人| aaa亚洲精品| 天堂…中文在线最新版在线| 我要色综合中文字幕| 久久国产精品网站| 精品人妻一区二区三区三区四区| 最新国产の精品合集bt伙计| 777一区二区| 99久久99久久精品国产片桃花| 国产精品国产三级国产专播精品人| 深夜福利免费在线观看| 韩曰欧美视频免费观看| 白白色免费视频| 日韩电影免费在线| 亚洲国产成人不卡| 青草综合视频| 久久久精品国产一区二区| 国产理论视频在线观看| 亚洲欧美在线aaa| 91丨porny丨九色| 欧美日韩国产一区精品一区| 国产99午夜精品一区二区三区 | 亚洲制服丝袜在线| 国产又粗又猛又色| 首页国产欧美久久| 一区二区三区在线视频111| 在线观看欧美| 久久久久久久久久久久av| 天天干免费视频| 在线观看av不卡| 国产精品精品软件男同| 国产很黄免费观看久久| 国产肥臀一区二区福利视频| 国产最新精品| 亚洲xxx视频| a天堂资源在线| 亚洲性日韩精品一区二区| 国产精品免费无遮挡| 亚洲影院在线观看| 中文字幕在线免费看线人| 免费成人在线网站| 91传媒免费视频| 日本妇女一区| 国产中文欧美精品| 678在线观看视频| 国产午夜精品美女视频明星a级| 中文字幕激情视频| 一区二区三区四区不卡在线| 中文精品在线观看| 国内精品伊人久久久久av影院| 国产曰肥老太婆无遮挡| 国产精选一区| 成人xxxxx色| 欧美精品日日操| 久久成人这里只有精品| 少妇性bbb搡bbb爽爽爽欧美| 欧美精品久久久久久久多人混战| 国产一级黄色av| 中文字幕精品一区| 人妖粗暴刺激videos呻吟| 日韩不卡手机在线v区| 999久久欧美人妻一区二区| 国产精品对白久久久久粗| 国产精品成人一区| 超碰在线最新网址| 久久精品国产亚洲一区二区| 五月天激情开心网| 欧美一区午夜精品| 黄色污污视频软件| 五月婷婷综合激情| 91高清免费观看| 久久精品一级爱片| 免费日本黄色网址| 国产乱人伦精品一区二区在线观看| 人妻无码视频一区二区三区| 好吊日精品视频| 中文字幕一区二区三区有限公司| 要久久爱电视剧全集完整观看| 99r国产精品视频| 国产精品成人**免费视频| 国产97色在线|日韩| www视频在线观看| 欧美高跟鞋交xxxxhd| 欧美被日视频| 中文字幕日韩精品有码视频| 欧美拍拍视频| 日韩成人在线视频观看| 亚洲精品国产精品国| 在线不卡中文字幕| 怡红院男人天堂| 91国产成人在线| 久久国产视频一区| 午夜欧美一区二区三区在线播放| 日韩在线一卡二卡| 中文字幕一区二区在线观看| 亚洲欧美va天堂人熟伦| 国产日韩欧美电影| 久久久久久久久久久久久久久| 99re亚洲国产精品| 男女一区二区三区| 成人教育av在线| 在线xxxxx| 成人免费高清视频在线观看| 极品白嫩少妇无套内谢| 国产aⅴ综合色| 又色又爽又黄18网站| 丁香啪啪综合成人亚洲小说 | youjizz欧美| 99视频在线免费观看| 99re6热只有精品免费观看| 97在线中文字幕| 97人人澡人人爽91综合色| 国产精品国模大尺度私拍| 2020最新国产精品| 国产视频99| 天堂成人娱乐在线视频免费播放网站| 极品尤物一区二区三区| 全球av集中精品导航福利| 欧美精品久久久| 精品99在线| 在线视频一区观看| 欧美高清不卡| 久久99久久99精品| 午夜在线精品偷拍| www.色就是色| 黄色精品一二区| 午夜福利三级理论电影| 97se亚洲国产综合自在线不卡| 女人被狂躁c到高潮| 国产日韩精品一区二区三区| 国产福利在线导航| 一区二区三区中文字幕在线观看| 麻豆疯狂做受xxxx高潮视频| 亚洲成av人片在线| 最新中文字幕免费| 日韩欧美视频在线 | 中文字幕精品www乱入免费视频| 免费网站黄在线观看| 欧美丰满片xxx777| 亚洲黄色免费av| 成人福利免费观看| 国产精品17p| 日韩在线电影一区| 亚洲激情久久| 欧美黄色免费影院| 国产麻豆精品在线观看| 天天插天天射天天干| 国产欧美日产一区| 久久久久久久久精| 在线观看日韩一区| 亚洲乱熟女一区二区| 在线a欧美视频| a级片免费在线观看| 国产精品aaa| 91精品啪在线观看国产爱臀| 日韩精品福利视频| 国产精品红桃| 精品999在线| av亚洲精华国产精华精华| 波多野结衣家庭教师在线观看| 亚洲国产一区二区三区| 一区二区www| 国产丝袜高跟一区| 最新av在线播放| 国产精品嫩草影院久久久| 成人av婷婷| 欧美爱爱视频网站| 销魂美女一区二区三区视频在线| 日韩欧美理论片| 久久久久久久久久久黄色| 麻豆国产尤物av尤物在线观看| 欧美性生活影院| 亚洲三区在线播放| 欧美高清一级大片| 精品99re| 亚洲巨乳在线观看| 蜜桃av综合| 自拍视频一区二区| 一区二区三区中文免费| 亚洲自拍偷拍另类| 夜夜嗨av一区二区三区四区 | 性生活在线视频| 欧美国产综合色视频| 成人免费a视频| 亚洲国产天堂久久综合网| 羞羞的视频在线观看| 国产一区二区在线播放| 欧美丝袜激情| 免费在线观看的毛片| 91影院在线观看| 国产无精乱码一区二区三区| 日韩午夜激情av| 黄页视频在线播放| 成人免费淫片aa视频免费| 日产精品一区二区| 亚洲一二三区av| 国产婷婷色一区二区三区| 亚洲黄色激情视频| 日韩精品免费观看| 美女扒开腿让男人桶爽久久软| 国产伦精品一区二区三区| 欧美日韩久久| 国产精品亚洲一区二区无码| 一区二区三区四区在线免费观看| 国产又色又爽又黄又免费| xxxxx成人.com| 四虎成人精品一区二区免费网站| 亚洲三区四区| 精品亚洲成a人| 日韩福利小视频| 日韩欧美国产系列| 欧美xxxx免费虐| 精品一区二区不卡| 久久久蜜桃一区二区人| 亚洲第一香蕉网| 在线视频国产一区| 五月婷婷在线视频| 91九色综合久久| 国内精品福利| 艳妇乳肉亭妇荡乳av| 欧美性色19p| 成人网视频在线观看| 国产日韩精品电影| 中文字幕一区二区精品区| 无码人妻一区二区三区精品视频| 亚洲成a人片在线不卡一二三区 | 国产黄色片免费在线观看| 99免费精品在线观看| 午夜精品免费观看| 日韩专区在线观看| 51vv免费精品视频一区二区| 日韩在线一级片| 国产精品私人影院| www.黄色av| 欧美专区福利在线| 999国产精品| 丰满人妻一区二区三区免费视频棣| 黄网站色欧美视频| 在线观看黄色av| 成人av免费电影| 秋霞国产午夜精品免费视频| 免费看特级毛片| 亚洲福利在线观看| 日本在线中文字幕一区二区三区| 伊人久久av导航| 99免费精品视频| 国产精品熟女久久久久久| 97视频在线观看网址| 99久久婷婷这里只有精品| 亚洲视频在线播放免费| 欧美日韩综合不卡| 日韩伦理av| 视频一区二区综合| 成人一级视频在线观看| 少妇又紧又色又爽又刺激视频| 久久天天躁狠狠躁夜夜av| 亚洲男人都懂第一日本| 中文字幕 欧美日韩| 欧美日韩激情小视频| av网站大全在线| 日韩精品资源| 99精品偷自拍| 精品国产无码一区二区|