国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

RPC 實(shí)現(xiàn)以及相關(guān)學(xué)習(xí) ~

共 6474字,需瀏覽 13分鐘

 ·

2021-01-28 12:22

點(diǎn)擊上方藍(lán)色“小哈學(xué)Java”,選擇“設(shè)為星標(biāo)

回復(fù)“資源”獲取獨(dú)家整理的學(xué)習(xí)資料!

作者:xavior

yuque.com/xavior.wx/point/rpc-practice

我們即希望能夠敏捷開發(fā),不做重復(fù)的勞動(dòng),用別人的勢(shì)能賦能自己;又要成為一名能夠賦能別人的人,擁有自身的勢(shì)能。

在一個(gè)擁有成千上萬(wàn)大大小小的服務(wù)的公司里,每個(gè)團(tuán)隊(duì)在不同的機(jī)器上部署它們自己的服務(wù),所以真實(shí)開發(fā)一個(gè)新服務(wù)的場(chǎng)景一定需要考慮兩個(gè)問(wèn)題:

  1. 我的團(tuán)隊(duì)開發(fā)一個(gè)新服務(wù),可能需要調(diào)用別人的服務(wù)。

  2. 我的團(tuán)隊(duì)開發(fā)一個(gè)新服務(wù),別的團(tuán)隊(duì)可能會(huì)調(diào)用。

RPC調(diào)用的變與不變

由于服務(wù)部署在不同機(jī)器,想要進(jìn)行服務(wù)間的調(diào)用必須進(jìn)行網(wǎng)絡(luò)通信,那服務(wù)消費(fèi)方每調(diào)用一個(gè)服務(wù)都要寫一大堆網(wǎng)絡(luò)通信的東西,不僅復(fù)雜而且極易出錯(cuò)。

我們知道此時(shí)我們的技術(shù)選型時(shí)很豐富的,關(guān)于各種技術(shù)的優(yōu)缺點(diǎn)網(wǎng)上很多文章,可以去編乎的相關(guān)問(wèn)題去看看,我覺(jué)得概括的比較好一句話是良好的RPC調(diào)用是面向服務(wù)的封裝,針對(duì)的是服務(wù)的可用性和效率,減輕網(wǎng)絡(luò)服務(wù)開發(fā)和調(diào)用的復(fù)雜性。

但我們不管選擇何種進(jìn)程間通信手段,http,TCP通信或是消息中間件、RPC通信,調(diào)用本身很多東西是不可能變的:

  1. 角色的定義(發(fā)起調(diào)用的是客戶端,接受調(diào)用的是服務(wù)端)

  2. 通信的機(jī)制(網(wǎng)絡(luò)IO,序列化,傳輸協(xié)議,同步異步)

那真正變的是什么?這些都是你遇到的場(chǎng)景以及你的目標(biāo)導(dǎo)致的,對(duì)于RPC來(lái)說(shuō),主要來(lái)說(shuō)和其他相比比較大的變化在于下面兩條吧。

  1. 調(diào)用的目標(biāo)。服務(wù)透明化,目標(biāo)是讓用戶像以本地調(diào)用方式調(diào)用遠(yuǎn)程服務(wù)。

  2. 調(diào)用的方式。服務(wù)端的服務(wù)要被調(diào)用,客戶端在本地直接調(diào)用服務(wù)端提供的接口即可,而不需要調(diào)用真實(shí)的接口實(shí)現(xiàn)。于是服務(wù)端就是需要利用一些很多反射操作去完成。

RPC需要什么

想要實(shí)現(xiàn)一個(gè)基本的RPC框架,其實(shí)需要什么?

  1. 網(wǎng)絡(luò)IO,BIO\NIO\AIO,Socket編程,HTTP通信,一個(gè)就行。

  2. 序列化,JDK序列化,JSON、Hessian、Kryo、ProtoBuffer、ProtoStuff、Fst知道一個(gè)就行。

  3. 反射,JDK或者Cglib的動(dòng)態(tài)代理。

那一個(gè)優(yōu)秀的RPC框架,還需要考慮什么問(wèn)題?

  1. 一個(gè)服務(wù)可能有多個(gè)實(shí)例,你在調(diào)用時(shí),要如何獲取這些實(shí)例的地址?服務(wù)注冊(cè)中心

  2. 多個(gè)實(shí)例,選哪個(gè)調(diào)用好?負(fù)載均衡

  3. 服務(wù)注冊(cè)中心每次都查?緩存相關(guān)

  4. 客戶端每次要等服務(wù)器返回結(jié)果?異步調(diào)用

  5. 服務(wù)是要升級(jí)的?版本控制

  6. 多個(gè)服務(wù)依賴,某個(gè)有問(wèn)題?熔斷器

  7. 某個(gè)服務(wù)出了問(wèn)題怎么辦?監(jiān)控 ...

Dubbo

其實(shí)要考慮的問(wèn)題是非常多的,瞻仰一下Dubbo的流程圖和Dubbo團(tuán)隊(duì)對(duì)未來(lái)的規(guī)劃圖:

圖片

自己實(shí)現(xiàn)的一個(gè)簡(jiǎn)單RPC框架

看了很多網(wǎng)上的博客實(shí)現(xiàn)的,最后自己實(shí)現(xiàn)的地址:https://github.com/1000-7/xinrpc 在看阿里技術(shù)大學(xué)的HSF視頻課的時(shí)候,視頻的講師說(shuō)想要理解RPC就把下面這張圖理解清楚就夠了,這張圖也是HSF官方文檔中介紹一次調(diào)用流程使用的圖。

圖片

借此實(shí)現(xiàn)的機(jī)會(huì),自己又學(xué)習(xí)實(shí)踐了包括Netty、Java反射、序列化、java注解、SpringBoot等很多方面的知識(shí)。

整體調(diào)用流程

由于采用了etcd做服務(wù)注冊(cè)中心,所以整體調(diào)用流程可以被概括為下面這樣:

  1. Server端啟動(dòng)進(jìn)行服務(wù)注冊(cè)到etcd;

  2. Client端啟動(dòng)獲取etcd的服務(wù)注冊(cè)信息,定期更新;

  3. Client以本地調(diào)用方式調(diào)用服務(wù)(使用接口,例如helloService.sayHi("world"));

  4. Client通過(guò)RpcProxy會(huì)使用對(duì)應(yīng)的服務(wù)名生成動(dòng)態(tài)代理相關(guān)類,而動(dòng)態(tài)代理類會(huì)將請(qǐng)求的對(duì)象中的方法、參數(shù)等組裝成能夠進(jìn)行網(wǎng)絡(luò)傳輸?shù)南ⅢwRpcRequest;

  5. Client通過(guò)一些的負(fù)載均衡方式確定向某臺(tái)Server發(fā)送編碼(RpcEncoder)過(guò)后的請(qǐng)求(netty實(shí)現(xiàn))

  6. Server收到請(qǐng)求進(jìn)行解碼(RpcDecoder),通過(guò)反射(cglib的FastMethod實(shí)現(xiàn))會(huì)進(jìn)行本地的服務(wù)執(zhí)行

  7. Server端writeAndFlush()將RpcResponse返回;

  8. Clinet將返回的結(jié)果會(huì)進(jìn)行解碼,得到最終結(jié)果。

Netty學(xué)習(xí)

Netty是一款異步的事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架,支持快速地開發(fā)可維護(hù)的高性能的面向協(xié)議的服務(wù)器和客戶端。

Netty重要的幾個(gè)概念

  1. Channel:這并不是Netty專有的概念,Java NIO里也有??梢钥醋魇侨胝净蛘叱鰬?zhàn)數(shù)據(jù)的載體,有各種基本的read、write、connect、bind等方法,相當(dāng)于傳統(tǒng)IO的Socket,需要關(guān)注一下ServerChannel,ServerChannel負(fù)責(zé)創(chuàng)建子Channel,子Channel具體去執(zhí)行一些具體accept之后的讀寫操作。項(xiàng)目中用的NioSocketChannel和NioServerSocketChannel。

  2. EventLoop和EventLoopGroup:Netty的核心抽象,channel的整個(gè)生命周期都是通過(guò)EventLoop去處理。EventLoop相當(dāng)于對(duì)Thread的封裝,一個(gè)EventLoop里面擁有一個(gè)永遠(yuǎn)都不會(huì)改變的Thread,同時(shí)任務(wù)的提交只需要通過(guò)EventLoop就可執(zhí)行;而EventLoopGroup負(fù)責(zé)為每個(gè)Channel分配一個(gè)EventLoop/

  3. ChannelFuture:Netty所有的IO操作都是異步的原因。

  4. ChannelHandler和ChannelPipeline:開發(fā)人員主要關(guān)注的也可能是唯一需要關(guān)注的兩個(gè)組件,用來(lái)管理數(shù)據(jù)流以及執(zhí)行應(yīng)用程序處理邏輯。

  5. ChannelInboundHandler和ChannelOutboundHandler:兩個(gè)常見的ChannelHandler適配器,前者管理入站的數(shù)據(jù)和操作,后者管理出站的數(shù)據(jù)和操作,謹(jǐn)記:入站順序執(zhí)行,出站逆序執(zhí)行。

  6. ChannelPipeline:一個(gè)攔截流經(jīng)某個(gè)channel的入站和出站時(shí)間的ChannelHandle實(shí)例鏈,每一個(gè)Channel剛被創(chuàng)建就會(huì)被分配一個(gè)ChannelPipeline,永久不可更改。

  7. ChannelHandlerContext:ChannelHandle和ChannelPipeline中間管理的紐帶,每一個(gè)ChannelHandler分配一個(gè)ChannelHandlerContext用來(lái)跟其他Handler作交互。

  8. ByteBuf:網(wǎng)絡(luò)數(shù)據(jù)的基本單位是字節(jié),Java NIO使用的ByteBuffer作為字節(jié)容器,而Netty使用ByteBuf替代ByteBuffer作為數(shù)據(jù)容器進(jìn)行讀寫。

  9. BootStrap:將各種組件拼圖進(jìn)行組裝,ServerBootstrap用來(lái)引導(dǎo)服務(wù)端,Bootstrap用來(lái)引導(dǎo)客戶端。ServerBootstrap的Group一般會(huì)放入兩個(gè)EventLoopGroup,需要結(jié)合Channel去理解,ServerChannel會(huì)有子Channel,那為了處理這個(gè)Channel,你需要為每一個(gè)子Channel分配一個(gè)EventLoop,第二個(gè)EventLoopGroup是為了讓子Channel去共享一個(gè)EventLoop,避免額外的線程創(chuàng)建以及上下文切換。

  10. ByteToMessageDecoder和MessageToByteEncoder:編解碼器的解碼器和編碼器,MessageToByteEncoder繼承了ChannelOutboundHandlerAdapter接口,ByteToMessageDecoder繼承了ChannelInboundHandlerAdapter接口。解碼器是將字節(jié)解碼為消息;編碼器是將消息編碼成字節(jié)。

Netty學(xué)習(xí)的其他問(wèn)題

1.序列化和編碼都是把 Java 對(duì)象封裝成二進(jìn)制數(shù)據(jù)的過(guò)程,這兩者有什么區(qū)別和聯(lián)系?序列化是把內(nèi)容變成計(jì)算機(jī)可傳輸?shù)馁Y源,而編碼則是讓程序認(rèn)識(shí)這份資源。

2.與服務(wù)端啟動(dòng)相比,客戶端啟動(dòng)的引導(dǎo)類少了哪些方法,為什么不需要這些方法?服務(wù)端:需要兩個(gè)線程組,NioServerSocketChannel線程模型,可以設(shè)置childHandle 客戶端:一個(gè)線程組,NioSocketChannel線程模型,只可以設(shè)置handler

3.ChannelPipeline執(zhí)行順序?

(1)InboundHandler順序執(zhí)行,OutboundHandler逆序執(zhí)行

(2)InboundHandler之間傳遞數(shù)據(jù),通過(guò)ctx.fireChannelRead(msg)

(3)InboundHandler通過(guò)ctx.write(msg),則會(huì)傳遞到outboundHandler (4) ?使用ctx.write(msg)傳遞消息,Inbound需要放在結(jié)尾,在Outbound之后,不然outboundhandler會(huì)不執(zhí)行;但是使用channel.write(msg)、pipline.write(msg)情況會(huì)不一致,都會(huì)執(zhí)行,那是因?yàn)閏hannel和pipline會(huì)貫穿整個(gè)流。

(5) ?outBound和Inbound誰(shuí)先執(zhí)行,針對(duì)客戶端和服務(wù)端而言,客戶端是發(fā)起請(qǐng)求再接受數(shù)據(jù),先outbound(寫)再inbound(讀),服務(wù)端則相反。

(6)outBound可以理解為數(shù)據(jù)“出航”,inBound可以理解為“歸航”,所以請(qǐng)求從客戶端到服務(wù)端就意味著,請(qǐng)求數(shù)據(jù)從客戶端出航,在服務(wù)端歸航,服務(wù)端響應(yīng)請(qǐng)求是從服務(wù)端到客戶端的,所以就是響應(yīng)數(shù)據(jù)從服務(wù)端出航,在客戶端歸航。

4.三種最常見的ChannelHandle的子類型?

a. 基于 ByteToMessageDecoder,我們可以實(shí)現(xiàn)自定義解碼,而不用關(guān)心 ByteBuf 的強(qiáng)轉(zhuǎn)和 解碼結(jié)果的傳遞。

b. 基于 SimpleChannelInboundHandler,這主要針對(duì)的最常見的一種情況,你去接收一種(泛型)解碼信息,然后對(duì)數(shù)據(jù)應(yīng)用業(yè)務(wù)邏輯然后繼續(xù)傳下去。我們可以實(shí)現(xiàn)每一種指令的處理,通過(guò)泛型不再需要強(qiáng)轉(zhuǎn),不再有冗長(zhǎng)乏味的 if else 邏輯,不需要手動(dòng)傳遞對(duì)象。

c. 基于 MessageToByteEncoder,我們可以實(shí)現(xiàn)自定義編碼,而不用關(guān)心 ByteBuf 的創(chuàng)建,不用每次向?qū)Χ藢?Java 對(duì)象都進(jìn)行一次編碼。

5.Netty關(guān)于拆包粘包理論與解決方案?

本次使用的是LengthFieldBasedFrameDecoder。

a.固定長(zhǎng)度的拆包器 FixedLengthFrameDecoder 如果你的應(yīng)用層協(xié)議非常簡(jiǎn)單,每個(gè)數(shù)據(jù)包的長(zhǎng)度都是固定的,比如 100,那么只需要把這個(gè)拆包器加到 pipeline 中,Netty 會(huì)把一個(gè)個(gè)長(zhǎng)度為 100 的數(shù)據(jù)包 (ByteBuf) 傳遞到下一個(gè) channelHandler。

b.行拆包器 LineBasedFrameDecoder 從字面意思來(lái)看,發(fā)送端發(fā)送數(shù)據(jù)包的時(shí)候,每個(gè)數(shù)據(jù)包之間以換行符作為分隔,接收端通過(guò) LineBasedFrameDecoder 將粘過(guò)的 ByteBuf 拆分成一個(gè)個(gè)完整的應(yīng)用層數(shù)據(jù)包。

c.分隔符拆包器 DelimiterBasedFrameDecoder DelimiterBasedFrameDecoder 是行拆包器的通用版本,只不過(guò)我們可以自定義分隔符。

d.基于長(zhǎng)度域拆包器 LengthFieldBasedFrameDecoder 最后一種拆包器是最通用的一種拆包器,只要你的自定義協(xié)議中包含長(zhǎng)度域字段,均可以使用這個(gè)拆包器來(lái)實(shí)現(xiàn)應(yīng)用層拆包。由于上面三種拆包器比較簡(jiǎn)單,讀者可以自行寫出 demo,接下來(lái),我們就結(jié)合我們小冊(cè)的自定義協(xié)議,來(lái)學(xué)習(xí)一下如何使用基于長(zhǎng)度域的拆包器來(lái)拆解我們的數(shù)據(jù)包。

CGLib學(xué)習(xí)

反射和動(dòng)態(tài)代理

反射機(jī)制是Java語(yǔ)言提供的一種基礎(chǔ)功能,賦予程序在運(yùn)行時(shí) 自省 (introspect,官方用語(yǔ))的能力。通過(guò)反射我們可以直接操作類或者對(duì)象,比如獲取某個(gè)對(duì)象的類定義,獲取類聲明的屬性和方法,調(diào)用方法或者構(gòu)造對(duì)象,甚至可以運(yùn)行時(shí)修改類定義。

動(dòng)態(tài)代理是一種方便運(yùn)行時(shí)動(dòng)態(tài)構(gòu)建代理、動(dòng)態(tài)處理代理方法調(diào)用的機(jī)制,很多場(chǎng)景都是利用類似機(jī)制做到的,比如用來(lái)包裝 RPC 調(diào)用、面向切面的編程(AOP)。實(shí)現(xiàn)動(dòng)態(tài)代理的方式很多,比如 JDK 自身提供的動(dòng)態(tài)代理,就是主要利用了上面提到的反射機(jī)制。還有其他的實(shí)現(xiàn)方式,比如利用傳說(shuō)中更高性能的字節(jié)碼操作機(jī)制,類似 ASM、cglib(基于 ASM)等。

總結(jié):反射是java的一種能力,而動(dòng)態(tài)代理是一種解決問(wèn)題的方案。動(dòng)態(tài)代理是一種代理模式。代理可以看作是對(duì)調(diào)用目標(biāo)的一個(gè)包裝,這樣我們對(duì)目標(biāo)代碼的調(diào)用不是直接發(fā)生的,而是通過(guò)代理完成。通過(guò)代理可以讓調(diào)用者與實(shí)現(xiàn)者之間解耦 。

CGLib實(shí)現(xiàn)反射

????FastClass?fastClass?=?FastClass.create(serviceClass);??
????FastMethod?fastMethod?=?fastClass.getMethod(methodName,?parameterTypes);??
????return?fastMethod.invoke(serviceBean,?parameters);??

CGLib實(shí)現(xiàn)動(dòng)態(tài)代理

實(shí)現(xiàn)MethodInterceptor接口,然后使用Enhancer構(gòu)建

????public?static??T?createByCglib(Class?clazz)?{??
????????Enhancer?enhancer?=?new?Enhancer();??
????????enhancer.setSuperclass(clazz);??
????????enhancer.setCallback(new?RpcMethodInterceptor(clazz));??
????????return?(T)?enhancer.create();??
????}??

JDK實(shí)現(xiàn)動(dòng)態(tài)代理

實(shí)現(xiàn)InvocationHandler接口,然后使用Proxy創(chuàng)建

????public?static??T?create(Class?interfaceClass)?{??
????????return?(T)?Proxy.newProxyInstance(??
????????????????interfaceClass.getClassLoader(),??
????????????????new?Class[]{interfaceClass},??
????????????????new?RpcInvocationHandler<>(interfaceClass)??
????????);??
????}??

序列化實(shí)現(xiàn)

序列化有多種實(shí)現(xiàn)方式,不同序列化優(yōu)缺點(diǎn)不同,網(wǎng)上有很多比較天梯圖。我實(shí)現(xiàn)了五種,JSON,F(xiàn)ST,HESSIAN2,PROTO_STUFF,KRYO。

END


有熱門推薦??

1.?太牛逼了!項(xiàng)目中用了Disruptor之后,性能提升了2.5倍

2.?科普 | 關(guān)于加解密、加簽驗(yàn)簽的那些事

3.?Google 開源的依賴注入庫(kù),比 Spring 更小更快!

4.?1.3 萬(wàn)億條數(shù)據(jù)查詢,如何做到毫秒級(jí)響應(yīng)?

最近面試BAT,整理一份面試資料Java面試BATJ通關(guān)手冊(cè),覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。

獲取方式:點(diǎn)“在看”,關(guān)注公眾號(hào)并回復(fù)?Java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。

文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。

謝謝支持喲 (*^__^*)

瀏覽 124
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 摸BBB搡BBB搡BBBB| 豆花视频成人精品视频| 亚洲天堂高清| 在线色| 亚洲精品乱码在线| 天天爽爽爽爽爽成人片| 日本A视频| 亚洲视频播放| 九九九中文字幕| 91丨九色丨熟女新版| 性爱91视频| 影音先锋色色| 偷窥丶亚洲丶熟女| 国产午夜男女性爱| 闷骚艳岳的婬乱生活视频| 欧美色图另类| 午夜成人视频在线观看| 免费Av在线| 11一12周岁女毛片| 99久久综合国产精品二区| 五月天婷婷操逼视频| 最近中文字幕免费MV第一季歌词十| 日本性爱一区| 无码人妻中文字幕| 特级婬片AAAAAAA级| 在线99热| 美女久久久久| 亚洲AV无码成人H动漫| 自拍偷拍福利视频网站| 亚洲香蕉av| 欧美九九| 欧美大香蕉视频| 伊人久久网站| 国产精品久久久久久久久久久久久久| 亚洲无码色| 亚洲欧美影院| 偷拍亚洲色图| 大地影视官网第三页入口| 国产成人黄色片| va色婷婷亚洲在线| 日韩无任何视频在线观看| 国产777| 小h片在线观看| 国产毛片一区二区三区| 日韩无码免费播放| 中文无码一区二区三区| 60分钟上大床又黄又爽| 一级a免一级a做免费线看内裤的注意事项| WWW.亚洲无码| 国产女人高潮毛片| 黄色一级大片在线免费看产| 久久久精品在线| 中文字幕无码综合| 老太色HD色老太HD.| 久久国产精品影院| 国产潮吹| 青青草99热| 国产91探花系列在线观看| 亚洲精品无码在线观看| 日本人妻A片成人免费看片| AV无码高清| 日本无码在线播放| 猫咪AV成人永久网站| 成人福利网| www.91国产| 婷婷五月天小说| 亚洲精品久久久久avwww潮水| 手机看片1024国产| 国产女人18毛片水18精品| 少妇搡BBBB搡BBB搡造水多/ | 天码人妻一区二区三区在线看| 欧美A片免费| 婷婷五月天啪啪| 日本人妻在线观看| 91久久精品日日躁夜夜躁欧美| 欧美亚洲国产一区二区三区 | 婷婷日韩中文字幕| 色婷婷综合久久久中文字幕| 五月丁香影院| 日本一区二区在线| 日韩无码小电影| 岛国免费av| 国产www在线观看| 91在线超碰| 日韩国产高清无码| 欧美日韩A| 国产精品网站在线观看| 五月婷婷六月激情| 久久久久免费视频| 青青草无码成人天堂免费| 操批视频| 91日韩欧美| 欧美成人精品AAA| 日本黄色电影网址| 91免费观看视频| 日韩一级黄色视频| 中文字幕免费在线观看| 黄网国产手机在线观看| 亚洲成人免费福利| 亚洲人做受| 西西444WWW无码视频软件功能介绍 | 欧美色色网| 日韩一级黄片| 99re欧美激情| 日本中出视频| 国产精品特级毛片| 精品交换一区二区三区无码| 五月天婷婷小说| 成人自拍网站| 免费色色视频| 黄色无码在线观看| 麻豆精品一区二区| 色五月在线观看| 老婆中文字幕乱码中文乱码| 69视频国产| 久久久久久久亚洲| 无码人妻丰满熟妇区毛片视频| 特级特黄AAAAAAAA片| 国产精品9| 婷婷综合| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 一道本激情视频| 色视频网| 在线视频福利导航| H片免费在线观看| 午夜福利国产| 久久AV秘一区二区三区水生| 残忍另类BBWBBWBBW| 操欧美逼| 影音先锋一区二区三区| 综合色国产精品欧美在线观看| 日韩激情无码视频精选| 五月天激情片| 刘玥一级婬片A片AAA| 丰满人妻一区二区三区四区54| 三级片一区| 久久亚洲av| 日韩综合精品中文字幕66| 一区二区三区视频免费| 午夜做爱福利视频| 91AV免费看| 免费观看A级毛片| 动漫精品一区二区| 无码123区| 亚洲三级电影| 国产精品久久视频| 中文字幕免费| 黄色成人视频网站| 538在线观看| 97国产精品久久| 亚洲精品人人| 欧美级毛片一夜| 欧美视频在线播放| 亚洲一级免费免费在线观看| 国产a片视频| 天天色粽合合合合合合合| 热99在线| 欧美一级婬片AAAA毛片| 日韩视频免费在线观看| 中文字幕免费视频在线播放| 国产一区二区三区视频在线| 中文字幕无码影院| AV网站免费在线观看| 人妻二区| 国产精品成人AV在线| 欧美日韩国产尤物主播精品| AV资源网站在线| 97久久综合| 狠狠操免费视频| 色色影院| 日韩电影中文字幕| 永久免费不卡在线观看黄网站| AV电影在线免费观看| 182在线视频| 日韩欧美视频在线| 国产艹逼| 欧美成人看片| xxxxx无码| 日韩AV一区二区三区四区| 成人精品毛片| 蜜桃一区二区三区| 99久久黄色| 免费在线观看内射| 黄片无遮挡| www.色中色| 看一级黄色视频| 综合婷婷久久| 国产三级自拍视频| 农民av| 老鸭窝成人| 国产成人TV| 日韩有码在线观看| 婷婷一区二区| 欧美日本色| 久视频在线观看| 91无码高清| 大香蕉精品视频| 高清无码免费| 免费看黄视频| 亚洲片在线观看| 天美精东蜜桃91| 日韩一级免费| 大学生18一19GAY169| 婷婷五月天性爱| 亚洲视频中文字幕在线观看| 99欧美| 精品九九九九九九| 国产女人高潮毛片| 97性爱视频| 91免费网站在线观看| a4yy午夜福利| 黄色片在线免费观看| 超碰在线网| 免费人成视频在线| 网址你懂得| 国产日韩欧美| 大香蕉AV电影| 欧美一级AA大片免费看视频| 人人爱人人射| 黑人vs亚洲人在线播放| 激情自拍偷拍| 免费中文字幕AV| 黄色片在线播放| 亚洲色婷婷五月| 麻豆精品秘国产| 人妻无码电影推荐| 日韩精品一区二区三区免费观看高清 | 成人性生活一级片| 一本一道久久综合| 在线无码一区二区三区| 亚洲精品秘一区二区三区蜜桃久| 日韩精品毛片一区二区视频免费 | 短发半推半就AV| 国产精品午夜在线| 99热这里精品| 大香蕉97| 玖玖色资源| 久久国产99| 亚洲高清无码在线| 男女91| 久久久久久免费毛片精品| 日本爱爱免费视频| 精品欧美片在线观看步骤| 特一级A片| 亚洲无码高清视频在线| 免费爱爱视频| 一级片网址| 亚洲欧美国产视频| 日韩成人无码一区二区视频| 国产在线精品自拍| 亚洲专区在线| 日本高清视频九区| 色婷婷一二三精品A片| 国产综合久久777777麻豆 | 操骚逼视频| 久久久久久久AV| 又大又黄又爽| 中文字幕免费| 手机AV在线观看| 国产在线观看无码免费视频| 丁香婷婷色五月激情综合三级三级片欧美日韩国 | 久久精品视频在线| 无码日韩电影| 亚洲一级免费视频| 大香蕉在线视频99| 91啦丨熟女露脸| 婷婷五月综合在线| 丁香五月少妇| 亚洲一卡二卡三卡四卡免| 成人在线精品视频| 嫩BBB槡BBBB槡BBB小号| 欧美在线免费视频| 黄色A片视频| 国产91高跟丝袜| 成人大香蕉网| 脓肿是什么原因引起的,该怎么治疗| www.99热视频| 黄色成人网站免费在线观看| 国产AV一区二区三区四区五区| 97AV在线| 国产一级大片| 中文字幕北条麻妃| 亚洲AV无码乱码精| 丁香五月激情中文字幕| 亚洲高清无码网站| 1024在线视频| 国产精品v欧美精品v日韩精品 | 91精品久久久久久综合五月天| 久久99久久99久久99| 国产日逼视频| 天天色色天天| 欧美在线网站| 99在线观看视频在线高清| 亚洲日韩免费观看| 午夜福利干B在线免费小视频| 黑人大肉棒| 国产特级毛片| 亚洲日韩AV电影| 日韩欧美国产精品| 亚洲色在线视频| 亚洲AV秘成人久久无码海归| 香蕉福利视频| 欧产日产国产swag| 欧美精品一二三| 一级黄色影院| 西西人体444rt高清大胆模特| 人妻在线你懂的| 日中国老太太B| 超碰成人在线观看| 羞羞涩漫无码免费网站入口| 免费视频91蜜桃| 国产美女18毛片水真多| 水果派中文解说AⅤ| 无码一区二区三区四区| 日韩免费三级| 欧美色图网站| 亚洲免费天堂| 少妇福利| 香蕉福利网| 亚洲精品无码久久| 亚洲欧美视频| 国产一级a一级a免费视频| 西西人体大胆ww4444图片| 国产69页| 精品无码免费看专区| 五月婷婷色色色| 一区二区三区久久久| 骚片网站| A在线观看| 欧美成人手机在线看片| 免费a片在线观看| 特黄色A级片视频| 久久嫩草精品久久久久| 操逼操逼操逼操逼操逼操逼| 天堂在线中文| 大香蕉三级片| 六月婷婷七月丁香| 成人毛片在线播放| av色站| 无码123区| 国产性爱网站| 九九九九九九精品| 97超碰免费| 久久国产精品精品国产色婷婷| 免费草逼视频| 奇米狠狠777| 在线免费观看黄色片| 99导航| 少妇高潮无码| 天天爽夜夜爽精品成人免费| 久久久精品午夜人成欧洲亚洲韩国| 琪琪色在线观看| 五月天婷婷色播| 超碰在线天天干| 天天日夜| 一级黄色片视频| 91福利影院| 乱子伦】国产精品| 无码国产99精品久久久久网站| 热热av| 伊人大香蕉网站| 熟女一区| 亚洲AV无码国产精品久久不卡| 国产青青草| 综合色在线| 亚洲无码中文人妻| 中文字幕自拍偷拍| 成年人免费视频网站| 麻豆18禁| 欧美理论片在线观看| 亚洲图片在线| 日韩免费毛片| 国产无码影视| 伊人成人在线观看| 狼友综合| 男人天堂AV片| 无码一区二区三区在线观看| 成人午夜视频精品一区| 欧美夜夜爽| 日韩毛片在线免费观看| 欧美精品秘一区二区三区蜜臀 | 尹人在线视频| 久久99精品国产麻豆婷婷洗澡| 亚洲黄色影视| 人人操人人看人人干| 91亚洲一线产区二线产区| 91精品久久久久久综合五月天| 欧美在线网站| 91蝌蚪视频在线播放| 五月婷婷中文字幕| 欧美日本中文字幕| 人人干人人干| 国产69视频在线观看| 高h视频在线观看| 蜜臀久久99精品| 喷水在线观看| 亚洲性爱一区二区三区| 一级黄色电影免费看| 久久久久久久久久久久高清毛片一级| 人人操网| 俺去骚| 欧美视频第一页| 99国产在线| 无码av一区二区| av福利在线观看| 亚洲无码AV一区二区三区| AV老鸭窝| 国产色情性黄片Av网站| 91青青草在线| 久久系列观看完整指南| 国产精品国产精品国产专区不卡 | 四虎影院最新地址| 国产秘久久一区二区| 在线免费观看黄色视频网站 | 国产午夜成人| 一道本无码视频| 91免费视频网站| 四个熟妇搡BBBB搡BBBB| 好逼123| 成人无码区免费AV片| 日韩无码AV一区二区三区| www.zaixianshipin | 午夜AV在线观看| 国产免费黄色视频网站| 超碰成人免费| 黄色片网站免费观看| 成人免费内射视频| 亚洲精品视频在线播放| 日韩高清成人无码| 久久免费视屏| 日韩AA片| 51福利视频| 精品久草| 欧美AAA在线观看| 97这里只有精品| 亚洲免费小视频| 久久大香蕉91| www.亚洲无码| 亚洲激情视频在线观看| 91人妻人人人| 人人妻人人干| 婷婷精品免费久久| 国产寡妇亲子伦一区二区三区四区| 蜜臀导航| 亚洲三级电影在线观看| 欧美色视频在线观| 色呦呦一区二区三区| 成人网站大香蕉| 色婷婷视频在线观看| 天堂中文资源库| 久久久久久亚洲AV黄床| 成人在线黄色视频| 亚洲日产专区| 婷婷视频导航| 日韩精品第一页| 91在线无码精品秘入口男同| 国产精品国内自产| 免费无码视频在线观看| 国产乱子伦-区二区三区熟睡91 | www.zaixianshipin | 一级黄色片免费| 国产女人水真多18毛片18精品| 日韩天天操| 久草手机视频在线观看| 亚洲中文字幕无码在线观看 | 91精品国产成人www| 97人人爱| 色哟哟在线观看| 亚洲wwwwww| 操B在线观看| 国产午夜精品一区二区| 国产精品99久久免费黑人人妻| 日韩在线视频播放| 日本欧美在线播放中文| 色婷婷Av一区| 欧美日韩毛| 乱子伦国产精品一区二区| 无码69| 欧美一级a| 成人国产精品在线看| 久久大香蕉91| 青娱乐偷窥成| 超碰精品在线| 一本到在线视频| 欧美天天性| 天天射天天| 日韩一区二区在线视频| 亚洲国产欧美在线| 亚洲国产精品成人va在线观看 | 免费在线观看AV片| 婷婷丁香五月激情一区综合网| 一级欧美日韩| 四川BBB嫩BBBB爽BBBB| 亚洲人成777| 日本18禁网站| 亚洲乱伦av| 国产午夜在线视频| 偷拍久久久| 婷婷激情五月天丁香| 免费一二区| 久久精品苍井空免费一区二 | 色色三区| 国产操老女人| 亚洲欧美国产毛片在线| 亚洲婷婷在线视频| 丝袜足交视频在线观看| 亚洲的天堂的αⅴ| 亚洲一区三区| 波多野结衣无码一区| 中文字字幕中文字幕乱码| 麻豆91精品人妻成人无码| 九九综合伊人7777777| 久久国产2025| 天天视频色版免费观看视频| 亚洲无码视频一区| 亚洲视频在线视频| 免费国产精品视频| 三级电影久久麻豆| 一级A片亲子乱| 激情人妻AV| 天天干天天肏| 亚洲乱码一区| 五月丁香五月婷婷| 国产无遮挡A片又黄又爽小直播| 伊人逼逼| 丁香伊人| 大香蕉电影网| 国产一区二区视频在线观看| 粗长哭叫打桩H体育生| 四虎一区二区| 日本爽妇网| 欧美嗯啊| 少妇高潮喷水| 十八女人高潮A片免费| www.xxx国产| 国产精品无码不卡| 性爱视频无码| 国产videos| a在线观看| 五月在线| 日韩少妇无码视频| 亚洲精品18在线观看| 日韩一级A片| 久在线观看| 成人在线欧美| 色欲精品| 麻豆传媒一区| 国产乱子伦真实精品!| 国产一级A片免费看| 日本一区二区网站| 欧美丝袜脚交xxxxBH| 日韩天堂| 四川BBBB擦BBBB| 国产乱妇无码毛片A片在线看下载 日韩电影免费在线观看中文字幕 欧美性爱中文字幕 | 男人午夜网站| 国产绿奴09-01| 久久国产精品波多野结衣AV| 亚洲xxxxx| 日韩高清无码网站| 亚洲AV无码成人精品一区| 成人无码日本动漫电影| 强奸校花到高潮| 天天天天天天干| 欧美色图综合网| 91在线无码精品秘入口男同 | 密臀av在线| 色悠悠国产| 日韩无码你懂的| 色五月婷婷丁香五月| 欧美色五月| 中文字幕一区二区三区精华液| 免费看成人A片无码照片88hⅤ| 欧美日韩小电影| 欧美AAA大片| 伊人久久大香蕉视频| av玖玖| 久久精品福利视频| 亚洲高清av| 一级片成人| 乱伦视频91| 国产免费AV在线观看| 国产精品视频久久久久| 国产換妻4P视频| 18国产免费视频| 黄色特级片| 亚洲国产免费| 澳门四虎影院| 黄色成人视频免费看| 懂色av蜜臀av粉嫩av分| 乱人伦欲国语对白| 亚洲AV无码一区二区三区少妇 | 无码精品视频| 亚洲天堂2015| 在线免费看a片| 久久只有精品| 国产三级麻豆| 亚洲另类图片小说| www.毛片| 亚洲无码伊人| 午夜美女视频| 成人电影亚洲天堂| 国产一区二区不卡| 欧美激情一区二区三区| 国产AV一区二区三区精品| 九九射| 538在线观看| 欧美三级无码| 精品人妻午夜| 日韩AV中文| 99黄色| 精品人妻一区二区三区-国产精品 无码人妻av黄色一区二区三区 | 亚洲免费观看高清完整版在va线观 | 亚洲内射无码| 91精品国产一区三一| 国外成人性视频免费| 亚洲精品视频免费看| 成人三级电影在线观看| 爽好紧别夹喷水欧美| 亚洲乱码一区二区三区| 男女抽插视频| V天堂在线视频| 亚洲乱码国产乱码精品天美传媒| 特黄视频| 亚洲三级片在线观看| 嫩BBB槡BBBB槡BBB| 日韩午夜成人| 免费亲子乱婬一级A片| 中文字幕一区二区三区四区在线视频 | 动漫精品一区二区| 欧美污视频在线观看| 天堂在线v| 99视频+国产日韩欧美| 亚洲中文字幕无码在线观看 | 黄色成人免费视频| 精品色哟哟| 屁屁影院CCYYCOM发布地| 亚洲综合中文字幕在线播放| 九九美女视频| 亚洲国产精品18久久久久久| 91成人综合| 人妻少妇被猛烈进入中文字幕| 精品无码免费看专区| 精品无套| 欧美自拍性爱视频| 亚洲综合社区在线| 无码射精电影| 日韩中文字幕在线| 日韩一级免费| 男女拍拍拍| 午夜精品视频| 黄色激情五月天| www.sesese| 99在线精品视频| 天天操综合网| 天天操夜夜骑| 日韩免费在线| 国产一级黄色| 国产精品一二三| 高清无码在线免费观看| 无码中文视频| 久操网站| Av久| 国产成人电影| 中文字幕高清AⅤ| 亚洲韩国中文字幕| 最新97色黄色精品高清网站| 亚洲第一中文字幕网| 国产黄色不卡| 久久亚洲日韩天天做日日做综合亚洲 | 操逼操逼视频| 91毛片在线观看| 婷婷国产在线| 欧美久久视频| 九九久久综合| 婷婷五月天小说| 欧美群交在线观看| 国产免费黄色片| 打炮影院| 偷拍一区二区| 豆花成人社区,视频| 玉米地一级婬片A片| 欧美视频免费| av资源在线| 日韩中文字幕无码| 肉片无遮挡一区二区三区免费观看视频| 亚洲男人综合| 国色天香一区二区| 成年人性生活免费视频| 在线观看免费高清无码| 日韩大片在线| 婷婷五月综合激情| 白天操夜夜操| 精品无码视频在线| 各种BBwBBwBBwBBw| 丁香六月综合激情| 性生活黄色视频| 偷拍亚洲欧美| 最近中文字幕mv第三季歌词| ThePorn人妻白浆| 日韩精品123| 中日韩欧美一级A片免费| 中文字幕在线字幕中文乱码区别| 91久久婷婷国产麻豆精品电影.co| 国产黄色在线观看| 一级国产黄色视频| 老司机在线免费视频| 特黄一级A片| 日本豆花视频| 国产久久久久久久久久| 九九精品在线视频| 无码在线观看免费视频| 夜夜操网站| 男人天堂社区| 俺来也俺也去| 99国产精品| 一道本一区二区三区免费视频| 国产欧美欧洲| 国产a毛一级,a毛一级| 欧美性爱AAA| 国产免费www| 色婷婷国产精品综合在线观看| 亚洲高清成人动漫| 操b视频在线观看| 99人妻人人爽人人添人人精品| 99热这里只有精品9| 亚洲激情黑人| 无码一区二区av| 91综合在线观看| 亚洲无码乱码精品| 久久9久| 天天草天天干| 欧美污网站| 国产综合第一页| 亚洲欧美日韩在线| 国产91综合一区在线观看| 国产精品一区二区AV日韩在线| AV无码网| 综合操逼网| 少妇搡BBBB搡BBB搡造水多| 9i看片成人免费视频| 中文字幕在线观看av| 国产一级片| 特级大毛片| 无码欧精品亚洲日韩一区| 欧美在线视频网| 精品日韩一区二区三区| 2018天天干天天操| 日屄视频在线观看| 人人操人人爽| 免费日本A片| 久久久久女人精品毛片九一| 中文字幕va| 青青草91视频| 人人摸人人射| 五月婷婷综合网| 色天使色天堂| 俺去也av| 四川少妇搡bbw搡bbbb| 东京热黄色| 在线免费看AV| 黄色精品| 蜜桃av秘无码一区二区三| 三级片网页| 免费无码毛片一区二区A片| 日韩成人区| 色噜噜在线| 午夜福利电影AV| 18禁无码永久免费网站大全| 欧美成人午夜视频| 91精品人妻一区二区三区蜜桃欧美 | 国产午夜激情视频| 亚洲涩情91日韩一区二区| 免费精品99| 人人人操| 不卡AV在线播放| 久久婷婷网站| 可以免费观看的av| 成人H动漫精品一区二区三区蘑菇| 人人爽人人爽| 香蕉大综合| 2018中文字幕第一页| 亚洲成色A片77777在线小说 | 成人黄色在线视频| 国产一级A片视频| 欧美日黄| 人人爱人人爽| 午夜在线观看视频18| 91乱子伦国产乱子伦无码| 日韩精品成人在线视频| 黄片高清无码在线观看| 久久污| 亚洲91精品| 日本一节片在线播放| 九九成人免费视频| 日本牲交| 丁香在线视频| 影音先锋成人AV| 97黄色| 水蜜桃成人网| 大香蕉国产精品视频| 亚洲黄色大片| 999久久精品| 久久青娱乐| 成年人免费电影| 欧美黄色小视频| 久操无码视频| 久久99高清| 精品人妻无码一区二区三区四川人| 91成人免费电影| 蕉久中文字慕| 婷婷国产| 亚洲综合在线观看视频| 不卡无码在线观看| 青青草原av| 黄色成人网站大全| 色噜噜一区二区三区| 性欧美| 日韩无码一区二区三区| 亚洲欧美日韩免费| 少妇厨房愉情理伦BD在线观看 | 爱逼av| 先锋影音在线资源| 国产亚洲无码| 五月天激情四射| 丁香在线视频| 操逼毛片| 3D精品啪啪一区二区三区| 日韩天堂在线观看| 中文在线观看视频| 操逼逼一区二区三区| 91久久久久久久久久| 色色婷婷五月| 久久精品熟妇丰满人妻99| 毛片2| 婷婷午夜精品久久久久久性色| 91成人电影在线| 好吊视频一区二区三区| 小小拗女BBw搡BBBB搡| 午夜神马影院| 青青草99| 国产成人97精品免费看片| 婷婷国产成人精品视频| 日韩性爱视频网站| 日韩精品在线视频| 亚洲无码高清免费| 亚洲人妻系列| 欧亚毛片| 成人免费无码激情AV片| 久操视频免费在线观看| 三级黄色视频| 天天干天天上| 成人午夜| 天天操天天干天天射| 亚州精品国产精品乱码不99勇敢| 国产精品被狂躁到高潮| 日本操b| 国产亚洲AV| 国产一级片免费视频| 北条麻妃黄色视频| av无码在线观看| 91色秘乱码一区二区| 啊啊啊网站| 日韩一级一级一级| 国产精品国产精品国产专区不52 | 日韩婬乱片A片AAA真人视频| 热99精品| 揄拍成人国产精品视频| 久激情内射婷内射蜜桃欧美一级| 大肉大捧一进一出两腿| 亚洲俺去了| av中文字幕无码| 天天干夜夜骑| 91香蕉视频在线看| 婷婷国产在线| 人妻无码精品| 高清在线无码视频| 喷水在线观看| 亚洲黄色在线| 一级特黄毛片| 麻豆视频一区二区| 人妻无码中文久久久久专区| jizz久久| 91探花视频精选在线播放| 亚洲天堂在线观看网站| 亚洲无码免费播放| 欧美、日韩、中文、制服、人妻| 人与鲁牲交| 九色PORN视频成人蝌蚪自拍| 91热| 成人精品秘久久久按摩下载| 午夜无码人妻AV大片| 日韩无码人妻一区二区三区| 日日搔AV一区二区三区| 色二区| 成人国产精品秘欧美高清| 黄色电影一区二区| 刘玥91精品一区二区三区| 免费的黄色视频网站| 成人免看一级a一片A片| 一级a片激情啪啪免费观|