• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Dubbo的序列化協(xié)議擴展及其RPC協(xié)議Thrift的優(yōu)化

    2019-05-16 01:40:00翟成彤董海峰
    智能計算機與應(yīng)用 2019年2期
    關(guān)鍵詞:序列化跨平臺服務(wù)提供者

    翟成彤,董海峰

    (西安石油大學(xué) 計算機學(xué)院,西安710065)

    1 概述

    Dubbo是一個專注于提供高性能和透明RPC遠程服務(wù)調(diào)用的解決方案,同時也是阿里巴巴內(nèi)部SOA服務(wù)治理的核心框架,每天為2000+服務(wù)提供超過30億次調(diào)用并且常常廣泛見于移動互聯(lián)網(wǎng)+的應(yīng)用中[1]。

    隨著技術(shù)日新月異的發(fā)展,出現(xiàn)了許多在序列化和跨平臺服務(wù)調(diào)用方面優(yōu)秀的新技術(shù)。如果能夠把這些優(yōu)秀的技術(shù)整合到Dubbo架構(gòu)中,那么就可以提升Dubbo的序列化性能和跨平臺調(diào)用的能力。

    在遠程調(diào)用方面,使用更高效的序列化協(xié)議Protostuff編碼和解碼,以提高傳輸數(shù)據(jù)的性能和減少系統(tǒng)調(diào)用響應(yīng)的時間。此外,在互聯(lián)網(wǎng)公司可能會使用不同的語言去開發(fā)軟件,同時為了提高代碼的復(fù)用性和異構(gòu)系統(tǒng)之間的互相調(diào)用,開源社區(qū)團隊基于Dubbo擴展了REST協(xié)議,用來在異構(gòu)系統(tǒng)之間進行通訊。但是,該類模式卻是通過(HTTP+JSON/XML)文本的方式傳輸數(shù)據(jù),性能并不是很好[2]。如果使用跨語言的Thrift二進制協(xié)議,可以極大地提高在異構(gòu)系統(tǒng)之間調(diào)用的性能。

    2 背景

    2.1 Protostuff and Hessian2 對比

    Dubbo默認的序列化協(xié)議Hessian2相比基于Protobuf的 Protostuff協(xié)議更慢[3],因此,Protostuff協(xié)議可以被添加到Dubbo的默認RPC序列化協(xié)議棧中,用來更加高效地提升Dubbo RPC傳輸性能。

    2.2 Dubbo中的Thrift協(xié)議和原生的Thrift協(xié)議比較

    Dubbo協(xié)議棧默認有一種Thrift協(xié)議的實現(xiàn),但卻不是原生的Thrift協(xié)議,因為有一個協(xié)議頭被添加到了Thrift協(xié)議,破壞了原生Thrift協(xié)議,使得解析協(xié)議比原生協(xié)議更為繁復(fù)與耗時。如果實踐中需要考慮用到跨語言通信,最好的方式是使用原生的Thrift協(xié)議,因其具有更好的跨平臺特性。故而,本文擬嘗試去重構(gòu)Dubbo RPC協(xié)議棧中的Thrift協(xié)議以便支持原生的Thrift協(xié)議,給框架帶來更高的性能和跨平臺特性。

    2.3 Dubbo系統(tǒng)調(diào)用基本模型

    Dubbo系統(tǒng)間調(diào)用如圖1所示。由圖1可知,該模型設(shè)計中的重點功能闡釋詳見如下。

    (1)服務(wù)提供者在啟動時,即在注冊中心注冊。

    (2)服務(wù)消費者啟動,則向注冊中心訂閱服務(wù)。

    (3)注冊中心為消費者返回服務(wù)提供者列表,如果提供者發(fā)生了改變,注冊中心就會基于長連接再將改變的數(shù)據(jù)推送到消費者。

    (4)服務(wù)消費者從提供者列表中,使用負載均衡算法選擇一個提供者加以調(diào)用,如果調(diào)用失敗,然后選擇另外一個。

    圖1 Dubbo系統(tǒng)間調(diào)用Fig.1 Dubbo call between systems

    3 擴展設(shè)計與實現(xiàn)

    Dubbo使用微內(nèi)核和插件化的結(jié)構(gòu),這樣的設(shè)計表現(xiàn)出擴展性強的特點。Dubbo的可擴展性原則是基于 JDK 的 SPI(service provider interface)[4],SPI是通過自定義@SPI注解和擴展點加載類ExtensionLoader來實現(xiàn)的。

    ExtensionLoader通過解析指定目錄/METAINF/services/下的接口擴展文件加載被標(biāo)記為@SPI接口的實現(xiàn)類。

    因此,有2個步驟來擴展注釋@SPI注解的接口。分別是:實現(xiàn)接口;在工程目錄/META-INF/services/path下,創(chuàng)建一個文件名為接口全路徑名的文本文件。

    首先,在github上下載dubbox源代碼,然后在本地idea編輯器打開由maven構(gòu)建的工程結(jié)構(gòu)。本節(jié)主要研究了dubbo-common模塊和dubbo-rpc模塊的基礎(chǔ)。在所有擴展被實現(xiàn)后,整個dubbox項目編譯為dubbo.jar包。對此可做探討分述如下。

    3.1 擴展protostuff序列化協(xié)議

    3.1.1 Protosutff協(xié)議實現(xiàn)擴展

    研究可知,在dubbo-common模塊中進行擴展包支持的序列化,就需要建立一個包來擴展protostuff協(xié)議,在這個包中需要實現(xiàn)Dubbo架構(gòu)的3個核心接口的序列化,即:com.alibaba.dubbo.serialize.Serialization;com.alibaba.dubbo.common.serialize.ObjectInput; com.alibaba.dubbo.common.serialize.ObjectOutput; 擴展序列化協(xié)議名稱定義為 protostuff,并支持 protostuff1.0.8。 在這個包中,設(shè)有5個類,也就是:ProtostuffObjectInput、ProtostuffObjectOutput、 ProtostuffSerialization、 Serialization Util、ProtostuffFactory。 其中 ProtostuffObjectInput實現(xiàn)ObjectInput接口,處理輸入流的反序列化;ProtostuffObjectOutput實現(xiàn) ObjectOuput接口,處理輸出流的序列化;ProtostuffSerialization實現(xiàn)Serialization接口,定義序列化名稱、序列化編號,并且實現(xiàn)序列化和反序列化函數(shù)。而SerializationUtil,ProtostuffFactory這2個類則是設(shè)計調(diào)用 protostuff 1.0.8.jar來處理函數(shù)的序列化和反序列化。 接口和實現(xiàn)類的關(guān)系如圖2所示。序列化數(shù)據(jù)的實現(xiàn)過程如圖3所示。反序列化數(shù)據(jù)實現(xiàn)過程如圖4所示。

    在此基礎(chǔ)上,項目的根目錄/resours/METAINF/dubbo/com.alibaba.dubbo.common.serialize.Serialization就需要添加一行,內(nèi)容表述如下:fileprotostuff= com.alibaba.dubbo.common.serialize.support.protostuff.ProtostuffSerialization

    當(dāng)獲取到序列化接口的實現(xiàn)時,通過SPI機制,可以加載擴展的實現(xiàn)類。

    圖2 序列化接口和實現(xiàn)類關(guān)系Fig.2 Serialize interfaces and relationships of implementation class

    圖3 輸出流數(shù)據(jù)序列化類的實現(xiàn)Fig.3 The implementation of output stream data serialization class

    圖4 輸入流反序列化類的實現(xiàn)Fig.4 The implementation of input stream deserialization class

    3.1.2 Protostuff配置和使用

    Dubbo在傳輸層實現(xiàn)數(shù)據(jù)的序列化和反序列化,也就是編碼和解碼。根據(jù)Dubbo的數(shù)據(jù)包結(jié)構(gòu)特征,可以知道,當(dāng)數(shù)據(jù)流到達傳輸層時可以讀取在服務(wù)提供者的目錄下xml形式的protostuff序列化協(xié)議配置,例如:<dubbo:protocol name=”dubbo” Serialization=”protostuff” />, 然 后 就 會 加 載 序 列 化 實 現(xiàn)ProtostuffSerialization。當(dāng)使用 ProtostuffSerialization序列化和反序列化數(shù)據(jù)時,服務(wù)提供者將會對數(shù)據(jù)進行編碼和解碼。

    服務(wù)提供者編碼數(shù)據(jù)并提供給消費者的核心處理過程如圖5所示。服務(wù)的提供者從服務(wù)消費者接收到請求數(shù)據(jù)并解碼的過程如圖6所示。

    圖5 數(shù)據(jù)編碼過程Fig.5 Data encoding process

    圖6 數(shù)據(jù)解碼過程Fig.6 Data decoding process

    3.2 RPC的Thrift協(xié)議擴展

    3.2.1 優(yōu)化 Thrift協(xié)議的實現(xiàn)

    研究中,需要在dubbox項目目錄下創(chuàng)建名字為dubbo-rpc-thriftx的模塊,這個名字為了和以前dubbo-rpc-thrift作區(qū)分同時可以被兼容,符合設(shè)計模式開閉原則[5]。 這里使用原生 thrift0.10.0.jar作為支持,在此基礎(chǔ)上原生協(xié)議可以使用,命名為thriftX。在新近啟用的模塊目錄下創(chuàng)建新的目錄com /alibaba /dubbo /rpc /protocol/thriftx,用來存儲協(xié)議擴展類的實現(xiàn),其中之一需要實現(xiàn)RPC通訊協(xié)議的核心—com.alibaba.dubbo.rpc.Protocol。 在這個 thriftx包中還需要實現(xiàn) thriftXprotocol和ThriftUtils這2個類。其中,ThriftUtils是用來生產(chǎn)網(wǎng)絡(luò)通訊所需對象的工程,thriftXprotocol是Protocol接口的實現(xiàn),可用于暴露遠程服務(wù)和引用遠程服務(wù),具體的設(shè)計細節(jié)是ThriftUtils工具類調(diào)用thrift1.10.jar包中的方法實現(xiàn)。

    研究可得,通過實現(xiàn)thriftXprotocol類發(fā)布服務(wù)的過程,如圖7所示。通過實現(xiàn)thriftXprotocol類引用服務(wù)的過程,如圖8所示。

    圖7 ThriftX協(xié)議暴露服務(wù)過程Fig.7 ThritfX protocol exposure service process

    圖8 ThriftX協(xié)議引用服務(wù)的過程 Fig.8 ThriftX protocol referencing service process

    接下來, 在 src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Protocol路徑下文本文件中加入 ThriftX = com.alibaba.dubbo.rpc.protocol.thriftx.ThriftXProtocol。 當(dāng)獲得 RPC 通信協(xié)議接口的實現(xiàn)時,可以通過SPI機制將其加載到擴展實現(xiàn)類中。

    3.2.2 ThriftX 協(xié)議的配置和使用

    首先,定義一個service.thrift文件,再編譯生成接口文件。然后拷貝文件到服務(wù)提供和服務(wù)消費者工程。

    在服務(wù)提供者中,接口的方法需要被實現(xiàn)并且接口需要被暴露,服務(wù)暴露的過程可分述如下。

    (1)在服務(wù)啟動時,spring容器根據(jù)配置的xml文件[6], 可將 <dubbo:servier protocol= ” thriftX”interface = ” com.alibaba.dubbo.demo.DemoService$Iface” />, 解析到 ServiceConfig, 而后通過ServiceConfig獲取到格式如下格式的 URL:Registry://registry-addr/com.alibaba.dubbo.registry.RegistryService? Export= URL.encode( ” thriftX://service-addr/com.alibaba.dubbo.demo.DemoService$ Iface? Version=1.0.0”)。

    (2)通過 URL 中的”registry://”約定協(xié)議頭的識別,則將會調(diào)用RegistryProtocol類中的export()方法,接著將讀取URL中的參數(shù)注冊到注冊中心。服務(wù)提供者的 URL 格式如:”thriftX://serviceaddr/com.alibaba.dubbo.demo.DemoService $ Iface?Version = 1.0.0”。 通過調(diào)用 URL 中的”thrift://”協(xié)議頭,會調(diào)用export()方法打開服務(wù)端口。thriftX暴露服務(wù)的過程如圖7所示。

    進一步研究可知,客戶端服務(wù)調(diào)用過程可以分為2步,對此可闡述如下。

    (1)客戶端服務(wù)使用dubbo的方式調(diào)用XML文件中定義的服務(wù)引用的接口,服務(wù)引用過程的研究內(nèi)容如下。

    ① 在XML配置文件中配置<dubbo:reference id=”DemoService” interface= ”com.alibaba.dubbo.demo.DemoService $Iface”/> ,根據(jù) Spring 約束,XML標(biāo)簽會被ReferenceConfig對象解析過后,通過此對象獲取url。

    ② 通過 URL”registry://”協(xié)議頭識別,服務(wù)將會調(diào)用RegistryProtocol類中的refer()方法,使得后續(xù)通過配置的參數(shù)查詢提供者url,例如:thriftX://service-addr/com.alibaba.dubbo.demo.DemoService$ Iface? Version = 1.0.0.。 在 解 析 thrifx://時,thriftXProtocol中的doRefer()方法會被調(diào)用,如圖8所示。

    (2)客戶端可能是一種沒有使用dubbo的狀態(tài),更甚至不是由Java語言編寫的,這就需要根據(jù)特定的語言接口文件的需要,客戶端使用不同定義的接口thrift文件。通過接口文件可以得到一個Client對象,客戶端對象包含stub的所有接口函數(shù),而用戶代碼可以通過Client對象來調(diào)用thrift文件的接口函數(shù),事實上,Client調(diào)用的是接口函數(shù)的本地stub接口。接口函數(shù)的stub將調(diào)用請求發(fā)送到服務(wù)提供者,同時服務(wù)提供者根據(jù)調(diào)用的函數(shù)名和函數(shù)參數(shù)調(diào)用實際的實現(xiàn)函數(shù)來進行特定的操作。Thrift服務(wù)提供者在指令處理流程后,會將相應(yīng)函數(shù)的返回值發(fā)送到調(diào)用客戶端對象。Thrift的客戶端對象將函數(shù)的返回值傳遞給用戶的調(diào)用函數(shù)以完成調(diào)用過程。

    4 性能測試

    4.1 測試環(huán)境

    本文測試在同一臺機器部署了zookeeper,也就是服務(wù)提供者和服務(wù)消費者的筆記本電腦上。這臺機器的配置是,Thinkpad-E450,memory 4 G,CPU intel i5 win7 操作系統(tǒng)和 jdk1.7.0_07。

    4.2 測試數(shù)據(jù)(單線程)

    (1)定義包含通用數(shù)據(jù)類型的Stu對象,例如:

    public class Stu implements Serializable{

    public String name;

    public Integer age;

    public double account;

    public Date birth;

    public Boolean high;

    public long height;

    //get set method

    (2)測試數(shù)據(jù)類型

    簡單的對象Stu

    復(fù)雜對象(list<stu>包含100個stu對象)

    1 K字符串

    10 K字符串

    1 M字符串(代表較大數(shù)據(jù))

    (3)測試設(shè)計。在測試不同協(xié)議的性能時,研究中并未考慮服務(wù)器處理特定服務(wù)的耗時操作,因此用于測試的服務(wù)提供者處理邏輯旨在返回客戶端請求的數(shù)據(jù)。另外,單個請求的響應(yīng)時間相對較小,不容易衡量。因此,這個測試使用循環(huán)調(diào)用相同的接口,然后得到平均的響應(yīng)時間。

    4.3 測試結(jié)果及結(jié)果分析

    Dubbo不同的通信協(xié)議和序列化方案相結(jié)合的結(jié)果見表1。而對應(yīng)于表1中使用測試方案的數(shù)字參見表2。表2中的結(jié)果是測試不同數(shù)據(jù)類型。所有測試結(jié)果時間單位為ms。

    表1可以被切分成2部分。第一部分是前五個數(shù)字 a、b、c、d、e。 通信協(xié)議是 dubbo,但是序列化是不同的方案,與表2中的測試結(jié)果相比,可以從5種不同的序列化中分析得出利弊。另一部分是后面的3個字符f,g,h被設(shè)計為跨平臺通信,通過3種協(xié)議比較表2中的測試結(jié)果,由此可以推得結(jié)論,在跨平臺通信協(xié)議中是最好的。

    表1 傳輸協(xié)議和序列化模式Tab.1 Transport protocol and serialization mode

    在本文中,平均響應(yīng)時間是大于線上時間的[7]。不同的測試環(huán)境會導(dǎo)致測試結(jié)果出現(xiàn)一定的偏差,但在相同的環(huán)境中,根據(jù)測試結(jié)果的相對數(shù)據(jù)變化得出相應(yīng)的結(jié)論。

    通過比較表 2中的 5組數(shù)據(jù) a、b、c、d、e。 與測試結(jié)果中的默認序列化協(xié)議hessian2相比,Dubbox擴展序列化協(xié)議kyro和fst的性能未見顯著提高。本次研究擴展的protostuff有突出的性能表現(xiàn),針對此點,重點做了一些測試,結(jié)果都相差無幾,其運行機理原因還需要重新分析。比較表2中的f,g,h可知,f,g明顯具有更大的響應(yīng)耗時。f組使用的是HTTP+JSON的REST協(xié)議,過程中運用了文本序列化和應(yīng)用層HTTP作為傳輸協(xié)議。理論上講,f組性能是最差的,和測試結(jié)果一致。g組是Dubbo內(nèi)置的Thrift協(xié)議,雖然修改了原生的Thrift協(xié)議,但其結(jié)果性能表現(xiàn)卻并不理想。通過這3組測試結(jié)果,可以看到擴展的ThriftX在跨平臺通信和平均響應(yīng)時間方面更好,并且同時也顯示了Thrift原始生態(tài)協(xié)議的優(yōu)勢。

    表2 不同類型數(shù)據(jù)測試結(jié)果Tab.2 Different types of data test results

    5 結(jié)束語

    在本文中,dubbo默認協(xié)議的分布式體系結(jié)構(gòu)是可擴展的,添加了一個新的序列化協(xié)議。測試并考查了新的序列化協(xié)議protostuff及其原始序列化協(xié)議的運行性能。通過測試結(jié)果,將protostuff與其它序列化協(xié)議進行比較分析可知,其在小數(shù)據(jù)傳輸方面具有一定的優(yōu)勢。另外,對于跨平臺通信優(yōu)化擴展的ThriftX協(xié)議,通過與dubbox的REST協(xié)議和dubbo原始Thrift協(xié)議的比較,ThriftX性能具有明顯的優(yōu)勢。

    但是,本次研究也仍然存在一定不足,測試結(jié)果在平均響應(yīng)時間上一般來說偏大,究其原因可能在于測試環(huán)境,未來也需要有針對地加以改進解決。而考慮到本次測試中硬件資源有限,并未能真正涉足有關(guān)多線程測試的研究。而且除了擴展協(xié)議的穩(wěn)定性外,在其它方面也還需要進行后續(xù)設(shè)計上的優(yōu)化與完善。

    猜你喜歡
    序列化跨平臺服務(wù)提供者
    網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任研究
    法制博覽(2020年11期)2020-11-30 03:36:52
    如何建構(gòu)序列化閱讀教學(xué)
    甘肅教育(2020年14期)2020-09-11 07:58:36
    跨平臺APEX接口組件的設(shè)計與實現(xiàn)
    論網(wǎng)絡(luò)服務(wù)提供者刑事責(zé)任的歸責(zé)模式一一以拒不履行網(wǎng)絡(luò)安全管理義務(wù)罪為切入點
    論網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任
    法制博覽(2017年16期)2017-01-28 00:01:59
    Java 反序列化漏洞研究
    網(wǎng)絡(luò)服務(wù)提供者第三方責(zé)任的立法審視
    湖湘論壇(2015年4期)2015-12-01 09:30:16
    基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
    基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
    基于B/S的跨平臺用戶界面可配置算法研究
    中文欧美无线码| 国产成人91sexporn| 亚洲av日韩在线播放| 国产成人精品无人区| 成人手机av| 午夜久久久在线观看| 嫩草影院入口| 九九爱精品视频在线观看| 亚洲第一青青草原| 国产精品 国内视频| 观看av在线不卡| 国产亚洲午夜精品一区二区久久| 丝袜脚勾引网站| videos熟女内射| 久久av网站| 国产福利在线免费观看视频| 午夜激情久久久久久久| 久久精品久久精品一区二区三区| 久久久精品区二区三区| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 性高湖久久久久久久久免费观看| 国产熟女午夜一区二区三区| av国产精品久久久久影院| 欧美日韩精品网址| 巨乳人妻的诱惑在线观看| 色网站视频免费| 欧美人与性动交α欧美精品济南到 | 免费黄色在线免费观看| 黄色配什么色好看| 国产精品香港三级国产av潘金莲 | 国产精品欧美亚洲77777| 久久国产精品大桥未久av| 欧美 日韩 精品 国产| 只有这里有精品99| 亚洲欧美成人精品一区二区| 精品亚洲成a人片在线观看| 亚洲图色成人| 伊人久久国产一区二区| 亚洲图色成人| 国产亚洲av片在线观看秒播厂| av在线app专区| tube8黄色片| 亚洲人成网站在线观看播放| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 欧美精品一区二区免费开放| 亚洲av.av天堂| 久久久久久久精品精品| 人妻少妇偷人精品九色| 韩国精品一区二区三区| 亚洲视频免费观看视频| 久久狼人影院| 免费女性裸体啪啪无遮挡网站| 91aial.com中文字幕在线观看| 少妇人妻久久综合中文| 欧美精品国产亚洲| 国产免费视频播放在线视频| 一级a爱视频在线免费观看| 纯流量卡能插随身wifi吗| kizo精华| 国产精品av久久久久免费| 男的添女的下面高潮视频| 亚洲精品,欧美精品| 亚洲成国产人片在线观看| 精品第一国产精品| 性色avwww在线观看| 国产亚洲一区二区精品| 国产日韩欧美在线精品| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 日本vs欧美在线观看视频| 97在线视频观看| 热re99久久国产66热| 免费日韩欧美在线观看| 久久久精品区二区三区| 国产日韩欧美亚洲二区| 少妇的逼水好多| av.在线天堂| 少妇被粗大猛烈的视频| 成人国产av品久久久| 在线看a的网站| 大码成人一级视频| 日韩 亚洲 欧美在线| 精品人妻在线不人妻| 伊人亚洲综合成人网| 欧美另类一区| 另类精品久久| 亚洲经典国产精华液单| 免费不卡的大黄色大毛片视频在线观看| 青春草亚洲视频在线观看| 我要看黄色一级片免费的| 新久久久久国产一级毛片| 亚洲av电影在线进入| 亚洲国产精品一区二区三区在线| 欧美人与性动交α欧美精品济南到 | 国产视频首页在线观看| 久久精品久久久久久久性| 国产精品二区激情视频| 又大又黄又爽视频免费| 一本大道久久a久久精品| 免费黄频网站在线观看国产| 国产黄色免费在线视频| 啦啦啦视频在线资源免费观看| 国产欧美日韩一区二区三区在线| 日本-黄色视频高清免费观看| 欧美精品国产亚洲| 久久久久久免费高清国产稀缺| 亚洲在久久综合| 看非洲黑人一级黄片| 午夜日韩欧美国产| 日韩视频在线欧美| 一级,二级,三级黄色视频| 精品一区在线观看国产| 欧美成人精品欧美一级黄| 国产免费现黄频在线看| 啦啦啦在线观看免费高清www| 久久久久网色| 亚洲久久久国产精品| 欧美bdsm另类| 午夜91福利影院| 国产一区有黄有色的免费视频| 高清黄色对白视频在线免费看| 有码 亚洲区| 欧美成人午夜精品| 大香蕉久久网| 中文精品一卡2卡3卡4更新| 久久久久精品性色| 国产成人一区二区在线| 最黄视频免费看| 午夜日韩欧美国产| 精品人妻在线不人妻| 欧美日韩成人在线一区二区| 看免费av毛片| 国产精品久久久av美女十八| 免费高清在线观看视频在线观看| 男男h啪啪无遮挡| 亚洲少妇的诱惑av| 亚洲激情五月婷婷啪啪| 最近中文字幕高清免费大全6| 韩国精品一区二区三区| 久久人妻熟女aⅴ| 亚洲伊人久久精品综合| av天堂久久9| 黄片播放在线免费| 热re99久久国产66热| 国产精品熟女久久久久浪| 麻豆精品久久久久久蜜桃| 国产日韩欧美亚洲二区| 成年动漫av网址| 人体艺术视频欧美日本| 日韩av在线免费看完整版不卡| 亚洲美女视频黄频| 夫妻午夜视频| 男女免费视频国产| 久久久久久伊人网av| 亚洲情色 制服丝袜| 婷婷成人精品国产| 欧美日韩一区二区视频在线观看视频在线| 国产人伦9x9x在线观看 | 国产成人91sexporn| av不卡在线播放| 久久久精品免费免费高清| 中文欧美无线码| 男男h啪啪无遮挡| 一级爰片在线观看| 香蕉国产在线看| 精品卡一卡二卡四卡免费| 午夜福利视频在线观看免费| 欧美亚洲 丝袜 人妻 在线| 久久 成人 亚洲| 丝袜喷水一区| 亚洲精品日韩在线中文字幕| 日韩欧美精品免费久久| 亚洲,欧美,日韩| 少妇人妻 视频| 热99国产精品久久久久久7| 另类亚洲欧美激情| 久久久久久伊人网av| 黄色视频在线播放观看不卡| 国产免费现黄频在线看| 亚洲国产精品一区三区| av在线老鸭窝| 制服诱惑二区| 老司机影院成人| 国产不卡av网站在线观看| 五月伊人婷婷丁香| 亚洲国产色片| 伦理电影大哥的女人| 又粗又硬又长又爽又黄的视频| 人妻系列 视频| 九草在线视频观看| 日本猛色少妇xxxxx猛交久久| 热re99久久精品国产66热6| 久久精品人人爽人人爽视色| 国产精品免费大片| 久久久久久免费高清国产稀缺| 久久女婷五月综合色啪小说| av天堂久久9| 国产在线一区二区三区精| 久久久久久久久久久久大奶| 亚洲色图综合在线观看| 日韩一区二区视频免费看| 国产一区二区三区av在线| 日韩欧美精品免费久久| 国产午夜精品一二区理论片| 观看av在线不卡| 久久国内精品自在自线图片| 久久精品国产亚洲av涩爱| 18禁裸乳无遮挡动漫免费视频| 久久人人爽人人片av| 99国产精品免费福利视频| 黄频高清免费视频| 91成人精品电影| 考比视频在线观看| 波多野结衣av一区二区av| 午夜福利一区二区在线看| 国产成人精品无人区| 国产一区亚洲一区在线观看| 中文字幕精品免费在线观看视频| 日本91视频免费播放| 久久久久久久久久人人人人人人| 桃花免费在线播放| 日韩免费高清中文字幕av| av在线app专区| 中文字幕另类日韩欧美亚洲嫩草| 日日撸夜夜添| 亚洲国产最新在线播放| 精品亚洲乱码少妇综合久久| 香蕉丝袜av| 可以免费在线观看a视频的电影网站 | 成人国语在线视频| 成人二区视频| 高清黄色对白视频在线免费看| 久久青草综合色| 美女午夜性视频免费| 美女主播在线视频| 麻豆乱淫一区二区| 欧美精品一区二区大全| 亚洲欧美一区二区三区久久| 久久亚洲国产成人精品v| av片东京热男人的天堂| 久久人人爽人人片av| 精品国产露脸久久av麻豆| 久久午夜综合久久蜜桃| 免费少妇av软件| 久久精品国产自在天天线| a级毛片黄视频| 少妇被粗大的猛进出69影院| 日韩一本色道免费dvd| av一本久久久久| 狂野欧美激情性bbbbbb| 国产精品麻豆人妻色哟哟久久| 99国产综合亚洲精品| 国产成人免费观看mmmm| 欧美 亚洲 国产 日韩一| 久久久久久久亚洲中文字幕| 亚洲第一区二区三区不卡| 成人国语在线视频| 99久国产av精品国产电影| 免费少妇av软件| 中文天堂在线官网| 国产精品 欧美亚洲| 秋霞在线观看毛片| 国产精品二区激情视频| 婷婷色综合大香蕉| 丝袜美足系列| 精品亚洲成a人片在线观看| 亚洲精品aⅴ在线观看| 制服人妻中文乱码| 秋霞伦理黄片| 国产一区亚洲一区在线观看| av线在线观看网站| 亚洲精品日韩在线中文字幕| 国产 精品1| 亚洲成人av在线免费| 中国国产av一级| 国产日韩欧美在线精品| 亚洲国产av新网站| 麻豆精品久久久久久蜜桃| 亚洲av日韩在线播放| 久久韩国三级中文字幕| 国产一区二区三区综合在线观看| 精品第一国产精品| 国产xxxxx性猛交| 亚洲精品视频女| 天天躁夜夜躁狠狠久久av| 亚洲,欧美,日韩| 国产精品蜜桃在线观看| 国产又爽黄色视频| videosex国产| 菩萨蛮人人尽说江南好唐韦庄| 丰满少妇做爰视频| 久久久国产欧美日韩av| 满18在线观看网站| 日本猛色少妇xxxxx猛交久久| 黄网站色视频无遮挡免费观看| 久久久久久久久久久久大奶| 亚洲一区二区三区欧美精品| 国产精品女同一区二区软件| 亚洲国产成人一精品久久久| 99国产综合亚洲精品| 日韩av免费高清视频| 最近的中文字幕免费完整| 国产一区二区三区综合在线观看| 十分钟在线观看高清视频www| 午夜激情av网站| 精品一品国产午夜福利视频| 日韩一本色道免费dvd| 亚洲欧美一区二区三区久久| 亚洲经典国产精华液单| 国产免费视频播放在线视频| 大香蕉久久网| 日日摸夜夜添夜夜爱| 熟女av电影| 大片电影免费在线观看免费| 日本91视频免费播放| 国产欧美日韩综合在线一区二区| 蜜桃国产av成人99| 亚洲精品视频女| 色婷婷久久久亚洲欧美| 日本-黄色视频高清免费观看| 美女xxoo啪啪120秒动态图| 亚洲伊人色综图| 国产熟女午夜一区二区三区| 如何舔出高潮| 少妇被粗大猛烈的视频| 精品国产超薄肉色丝袜足j| 老鸭窝网址在线观看| av卡一久久| 亚洲成av片中文字幕在线观看 | 麻豆乱淫一区二区| 最新的欧美精品一区二区| 久久久久网色| 午夜福利在线观看免费完整高清在| 午夜福利视频精品| 五月开心婷婷网| 久久99热这里只频精品6学生| 欧美变态另类bdsm刘玥| 久久久精品94久久精品| 午夜福利一区二区在线看| 又粗又硬又长又爽又黄的视频| 国产亚洲av片在线观看秒播厂| 亚洲美女视频黄频| av线在线观看网站| 精品一区二区免费观看| 国产在线一区二区三区精| 日韩精品有码人妻一区| 亚洲av在线观看美女高潮| 中文字幕人妻熟女乱码| 国产在视频线精品| 在线观看人妻少妇| 婷婷成人精品国产| 91精品三级在线观看| 国产精品成人在线| 9191精品国产免费久久| 国产色婷婷99| 久久免费观看电影| 嫩草影院入口| 伦精品一区二区三区| 一本—道久久a久久精品蜜桃钙片| 国产精品久久久久久精品电影小说| 国产伦理片在线播放av一区| 一本—道久久a久久精品蜜桃钙片| 国产精品久久久久久精品古装| 亚洲精品aⅴ在线观看| 亚洲婷婷狠狠爱综合网| 日韩电影二区| 搡女人真爽免费视频火全软件| 在线免费观看不下载黄p国产| av有码第一页| 国产人伦9x9x在线观看 | 18在线观看网站| 中文乱码字字幕精品一区二区三区| 日本黄色日本黄色录像| 国产一区亚洲一区在线观看| 999久久久国产精品视频| 最近最新中文字幕大全免费视频 | 国产欧美亚洲国产| 免费不卡的大黄色大毛片视频在线观看| 国产精品一二三区在线看| 免费观看av网站的网址| 国产精品女同一区二区软件| 亚洲精品一区蜜桃| 午夜日本视频在线| 国产成人a∨麻豆精品| 国产淫语在线视频| 看非洲黑人一级黄片| 最近2019中文字幕mv第一页| 久久精品人人爽人人爽视色| 国产一区亚洲一区在线观看| 18禁观看日本| 黄频高清免费视频| 国产一区二区 视频在线| 老女人水多毛片| 大香蕉久久成人网| 高清欧美精品videossex| 日韩,欧美,国产一区二区三区| 国产精品 欧美亚洲| 涩涩av久久男人的天堂| 街头女战士在线观看网站| 国产老妇伦熟女老妇高清| 女性生殖器流出的白浆| 国产一区二区 视频在线| 日韩视频在线欧美| 一级毛片 在线播放| 亚洲精品在线美女| 人成视频在线观看免费观看| 亚洲国产欧美网| 国产精品二区激情视频| 日本猛色少妇xxxxx猛交久久| 建设人人有责人人尽责人人享有的| 久久人妻熟女aⅴ| 搡老乐熟女国产| 亚洲美女搞黄在线观看| 国产av码专区亚洲av| √禁漫天堂资源中文www| 国产成人欧美| 国产成人精品久久二区二区91 | 男的添女的下面高潮视频| 色播在线永久视频| 伦精品一区二区三区| 一级片'在线观看视频| 免费黄网站久久成人精品| 婷婷色麻豆天堂久久| 一区二区三区乱码不卡18| 99re6热这里在线精品视频| 高清av免费在线| 国产深夜福利视频在线观看| 国产精品偷伦视频观看了| 日本欧美国产在线视频| 久久鲁丝午夜福利片| 国产精品欧美亚洲77777| 精品亚洲成国产av| 欧美日韩视频精品一区| 少妇 在线观看| 男女下面插进去视频免费观看| 久久韩国三级中文字幕| 亚洲av电影在线进入| 春色校园在线视频观看| 亚洲一区二区三区欧美精品| 国产精品久久久久久久久免| 日韩一卡2卡3卡4卡2021年| 免费黄频网站在线观看国产| 在线观看三级黄色| 亚洲人成网站在线观看播放| 久久影院123| 久久久久国产网址| 国产在视频线精品| 老鸭窝网址在线观看| 秋霞在线观看毛片| 中文字幕人妻熟女乱码| 国产亚洲av片在线观看秒播厂| 啦啦啦在线观看免费高清www| 成人午夜精彩视频在线观看| 天堂8中文在线网| www.av在线官网国产| 好男人视频免费观看在线| 欧美激情高清一区二区三区 | 巨乳人妻的诱惑在线观看| 亚洲三区欧美一区| 免费观看a级毛片全部| 蜜桃国产av成人99| 亚洲av电影在线进入| 三上悠亚av全集在线观看| av网站免费在线观看视频| 好男人视频免费观看在线| 丝袜在线中文字幕| 电影成人av| 超碰成人久久| 欧美最新免费一区二区三区| 看免费av毛片| 亚洲国产精品999| 日韩中文字幕视频在线看片| 老熟女久久久| 欧美日韩精品成人综合77777| 青春草国产在线视频| 亚洲一码二码三码区别大吗| 亚洲欧美清纯卡通| 香蕉丝袜av| 亚洲国产最新在线播放| 波野结衣二区三区在线| 日本爱情动作片www.在线观看| 亚洲精品美女久久av网站| av电影中文网址| 纵有疾风起免费观看全集完整版| 天堂俺去俺来也www色官网| 国产欧美日韩综合在线一区二区| 国产免费又黄又爽又色| 两个人看的免费小视频| 国产高清不卡午夜福利| 97人妻天天添夜夜摸| 香蕉国产在线看| 涩涩av久久男人的天堂| 伦理电影免费视频| 黄色配什么色好看| 国产精品熟女久久久久浪| 国产黄频视频在线观看| 高清在线视频一区二区三区| 欧美中文综合在线视频| 国产在线视频一区二区| 国产精品嫩草影院av在线观看| 婷婷色麻豆天堂久久| 久久久久久久国产电影| 久久久国产一区二区| 99国产精品免费福利视频| 欧美日韩国产mv在线观看视频| 伊人亚洲综合成人网| 欧美 日韩 精品 国产| 各种免费的搞黄视频| 另类亚洲欧美激情| 国产成人a∨麻豆精品| 成人毛片60女人毛片免费| 国产一级毛片在线| 免费不卡的大黄色大毛片视频在线观看| 国产成人午夜福利电影在线观看| 男男h啪啪无遮挡| 欧美精品一区二区大全| 好男人视频免费观看在线| 午夜福利网站1000一区二区三区| 天堂俺去俺来也www色官网| 菩萨蛮人人尽说江南好唐韦庄| 久久精品aⅴ一区二区三区四区 | www.自偷自拍.com| 日韩av免费高清视频| 亚洲精品美女久久av网站| 久久国内精品自在自线图片| 两性夫妻黄色片| 欧美av亚洲av综合av国产av | 成人二区视频| 少妇的丰满在线观看| 蜜桃在线观看..| 久久精品国产综合久久久| 日韩av不卡免费在线播放| 国产精品蜜桃在线观看| 久久久国产一区二区| 日韩,欧美,国产一区二区三区| 亚洲av免费高清在线观看| 成人手机av| 国产一区有黄有色的免费视频| 国产一区二区 视频在线| 精品国产一区二区三区久久久樱花| 久久人人爽人人片av| 精品一区二区免费观看| 蜜桃在线观看..| 久久精品国产综合久久久| 汤姆久久久久久久影院中文字幕| 精品人妻一区二区三区麻豆| 国产精品一区二区在线不卡| 欧美激情高清一区二区三区 | 老汉色av国产亚洲站长工具| 99久国产av精品国产电影| 午夜av观看不卡| 精品国产一区二区三区四区第35| 最近中文字幕高清免费大全6| 男女免费视频国产| 久久久久久人人人人人| 大片电影免费在线观看免费| 国产一区二区激情短视频 | 免费在线观看黄色视频的| 精品视频人人做人人爽| 一二三四中文在线观看免费高清| 日韩人妻精品一区2区三区| 999久久久国产精品视频| 97在线视频观看| 亚洲人成77777在线视频| 韩国av在线不卡| 一本色道久久久久久精品综合| 国产不卡av网站在线观看| 性色avwww在线观看| 久久99蜜桃精品久久| tube8黄色片| 日本爱情动作片www.在线观看| 国产成人精品久久二区二区91 | 国产精品麻豆人妻色哟哟久久| 我的亚洲天堂| 国产成人精品久久久久久| 晚上一个人看的免费电影| 男女边吃奶边做爰视频| 久久女婷五月综合色啪小说| 人妻系列 视频| 中国三级夫妇交换| 欧美黄色片欧美黄色片| 2021少妇久久久久久久久久久| 国产精品成人在线| 国产色婷婷99| 午夜福利视频精品| 久久99精品国语久久久| 天天影视国产精品| 最近中文字幕高清免费大全6| 午夜福利网站1000一区二区三区| 狠狠精品人妻久久久久久综合| 黑人猛操日本美女一级片| 欧美日韩综合久久久久久| 妹子高潮喷水视频| 欧美精品国产亚洲| 国产白丝娇喘喷水9色精品| 99热全是精品| 一本色道久久久久久精品综合| 精品少妇黑人巨大在线播放| 亚洲一区中文字幕在线| 成人国产麻豆网| 国产不卡av网站在线观看| 日本欧美国产在线视频| 又大又黄又爽视频免费| 久久久欧美国产精品| 亚洲精品国产av成人精品| 一区在线观看完整版| 秋霞伦理黄片| 性色avwww在线观看| 五月伊人婷婷丁香| 精品人妻在线不人妻| 一区二区三区乱码不卡18| 亚洲色图 男人天堂 中文字幕| 成年动漫av网址| av国产久精品久网站免费入址| 街头女战士在线观看网站| 精品一品国产午夜福利视频|