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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GRPC协议的相关原理

發布時間:2023/12/13 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GRPC协议的相关原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? GRPC的Client與Server,均通過Netty Channel作為數據通信,序列化、反序列化則使用Protobuf,每個請求都將被封裝成HTTP2的Stream,在整個生命周期中,客戶端Channel應該保持長連接,而不是每次調用重新創建Channel、響應結束后關閉Channel(即短連接、交互式的RPC),目的就是達到鏈接的復用,進而提高交互效率。

? ??1、Server端

? ? 我們通常使用NettyServerBuilder,即IO處理模型基于Netty,將來可能會支持其他的IO模型。Netty Server的IO模型簡析:

? ? 1)創建ServerBootstrap,設定BossGroup與workerGroup線程池

? ? 2)注冊childHandler,用來處理客戶端鏈接中的請求成幀

? ? 3)bind到指定的port,即內部初始化ServerSocketChannel等,開始偵聽和接受客戶端鏈接。

? ? 4)BossGroup中的線程用于accept客戶端鏈接,并轉發(輪訓)給workerGroup中的線程。

? ? 5)workerGroup中的特定線程用于初始化客戶端鏈接,初始化pipeline和handler,并將其注冊到worker線程的selector上(每個worker線程持有一個selector,不共享)

? ? 6)selector上發生讀寫事件后,獲取事件所屬的鏈接句柄,然后執行handler(inbound),同時進行拆封package,handler執行完畢后,數據寫入通過,由outbound handler處理(封包)通過鏈接發出。 ? ?注意每個worker線程上的數據請求是隊列化的。

? ? GRPC而言,只是對Netty Server的簡單封裝,底層使用了PlaintextHandler、Http2ConnectionHandler的相關封裝等。具體Framer、Stream方式請參考Http2相關文檔。

? ? 1)bossEventLoopGroup:如果沒指定,默認為一個static共享的對象,即JVM內所有的NettyServer都使用同一個Group,默認線程池大小為1。

? ? 2)workerEventLoopGroup:如果沒指定,默認為一個static共享的對象,線程池大小為coreSize * 2。這兩個對象采用默認值并不會帶來問題;通常情況下,即使你的application中有多個GRPC Server,默認值也一樣能夠帶來收益。不合適的線程池大小,有可能會是性能受限。

? ? 3)channelType:默認為NioServerSocketChannel,通常我們采用默認值;當然你也可以開發自己的類。如果此值為NioServerSocketChannel,則開啟keepalive,同時設定SO_BACKLOG為128;BACKLOG就是系統底層已經建立引入鏈接但是尚未被accept的Socket隊列的大小,在鏈接密集型(特別是短連接)時,如果隊列超過此值,新的創建鏈接請求將會被拒絕(有可能你在壓力測試時,會遇到這樣的問題),keepalive和BACKLOG特性目前無法直接修改。

Java代碼??
  • [root@sh149?~]#?sysctl?-a|grep?tcp_keepalive??
  • net.ipv4.tcp_keepalive_time?=?60??##單位:秒??
  • net.ipv4.tcp_keepalive_probes?=?9??
  • net.ipv4.tcp_keepalive_intvl?=?75?##單位:秒??
  • ##可以在/etc/sysctl.conf查看和修改相關值??
  • ##tcp_keepalive_time:最后一個實際數據包發送完畢后,首個keepalive探測包發送的時間。??
  • ##如果首個keepalive包探測成功,那么鏈接會被標記為keepalive(首先TCP開啟了keepalive)??
  • ##此后此參數將不再生效,而是使用下述的2個參數繼續探測??
  • ##tcp_keepalive_intvl:此后,無論通道上是否發生數據交換,keepalive探測包發送的時間間隔??
  • ##tcp_keepalive_probes:在斷定鏈接失效之前,嘗試發送探測包的次數;??
  • ##如果都失敗,則斷定鏈接已關閉。??
  • ? ? 對于Server端,我們需要關注上述keepalive的一些設置;如果Netty Client在空閑一段時間后,Server端會主動關閉鏈接,有可能Client仍然保持鏈接的句柄,將會導致RPC調用時發生異常。這也會導致GRPC客戶端調用時偶爾發生錯誤的原因之一。

    ? ? 4)followControlWindow:流量控制的窗口大小,單位:字節,默認值為1M,HTTP2中的“Flow Control”特性;連接上,已經發送尚未ACK的數據幀大小,比如window大小為100K,且winow已滿,每次向Client發送消息時,如果客戶端反饋ACK(攜帶此次ACK數據的大小),window將會減掉此大小;每次向window中添加亟待發送的數據時,window增加;如果window中的數據已達到限定值,它將不能繼續添加數據,只能等待Client端ACK。

    ? ? 5)maxConcurrentCallPerConnection:每個connection允許的最大并發請求數,默認值為Integer.MAX_VALUE;如果此連接上已經接受但尚未響應的streams個數達到此值,新的請求將會被拒絕。為了避免TCP通道的過度擁堵,我們可以適度調整此值,以便Server端平穩處理,畢竟buffer太多的streams會對server的內存造成巨大壓力。

    ? ? 6)maxMessageSize:每次調用允許發送的最大數據量,默認為100M。

    ? ? 7)maxHeaderListSize:每次調用允許發送的header的最大條數,GRPC中默認為8192。

    ? ? 對于其他的比如SSL/TSL等,可以參考其他文檔。

    ? ? GRPC Server端,還有一個最終要的方法:addService。【如下文service代理模式】

    ? ? 在此之前,我們需要介紹一下bindService方法,每個GRPC生成的service代碼中都有此方法,它以硬編碼的方式遍歷此service的方法列表,將每個方法的調用過程都與“被代理實例”綁定,這個模式有點類似于靜態代理,比如調用sayHello方法時,其實內部直接調用“被代理實例”的sayHello方法(參見MethodHandler.invoke方法,每個方法都有一個唯一的index,通過硬編碼方式執行);bindService方法的最終目的是創建一個ServerServiceDefinition對象,這個對象內部位置一個map,key為此Service的方法的全名(fullname,{package}.{service}.{method}),value就是此方法的GRPC封裝類(ServerMethodDefinition)。

    Java代碼?
  • private?static?final?int?METHODID_SAY_HELLO?=?0;??
  • private?static?class?MethodHandlers<Req,?Resp>?implements??
  • ??????...?{??
  • ????private?final?TestRpcService?serviceImpl;//實際被代理實例??
  • ????private?final?int?methodId;??
  • ??
  • ????public?MethodHandlers(TestRpcService?serviceImpl,?int?methodId)?{??
  • ??????this.serviceImpl?=?serviceImpl;??
  • ??????this.methodId?=?methodId;??
  • ????}??
  • ??
  • ????@java.lang.SuppressWarnings("unchecked")??
  • ????public?void?invoke(Req?request,?io.grpc.stub.StreamObserver<Resp>?responseObserver)?{??
  • ??????switch?(methodId)?{??
  • ????????case?METHODID_SAY_HELLO:????????//通過方法的index來判定具體需要代理那個方法??
  • ??????????serviceImpl.sayHello((com.test.grpc.service.model.TestModel.TestRequest)?request,??
  • ??????????????(io.grpc.stub.StreamObserver<com.test.grpc.service.model.TestModel.TestResponse>)?responseObserver);??
  • ??????????break;??
  • ????????default:??
  • ??????????throw?new?AssertionError();??
  • ??????}??
  • ????}??
  • ????....??
  • ??}??
  • ??
  • ??public?static?io.grpc.ServerServiceDefinition?bindService(??
  • ??????final?TestRpcService?serviceImpl)?{??
  • ????return?io.grpc.ServerServiceDefinition.builder(SERVICE_NAME)??
  • ????????.addMethod(??
  • ??????????METHOD_SAY_HELLO,??
  • ??????????asyncUnaryCall(??
  • ????????????new?MethodHandlers<??
  • ??????????????com.test.grpc.service.model.TestModel.TestRequest,??
  • ??????????????com.test.grpc.service.model.TestModel.TestResponse>(??
  • ????????????????serviceImpl,?METHODID_SAY_HELLO)))??
  • ????????.build();??
  • ??}??
  • ? ? addService方法可以添加多個Service,即一個Netty Server可以為多個service服務,這并不違背設計模式和架構模式。addService方法將會把service保存在內部的一個map中,key為serviceName(即{package}.{service}),value就是上述bindService生成的對象。

    ? ? 那么究竟Server端是如何解析RPC過程的?Client在調用時會將調用的service名稱 + method信息保存在一個GRPC“保留”的header中,那么Server端即可通過獲取這個特定的header信息,就可以得知此stream需要請求的service、以及其method,那么接下來只需要從上述提到的map中找到service,然后找到此method,直接代理調用即可。執行結果在Encoder之后發送給Client。(參見:NettyServerHandler)

    ? ??因為是map存儲,所以我們需要在定義.proto文件時,盡可能的指定package信息,以避免因為service過多導致名稱可能重復的問題。

    ? ??2、Client端

    ? ? 我們使用ManagedChannelBuilder來創建客戶端channel,ManagedChannelBuilder使用了provider機制,具體是創建了哪種channel有provider決定,可以參看META-INF下同類名的文件中的注冊信息。當前Channel有2種:NettyChannelBuilder與OkHttpChannelBuilder。本人的當前版本中為NettyChannelBuilder;我們可以直接使用NettyChannelBuilder來構建channel。如下描述則針對NettyChannelBuilder:

    ? ? 配置參數與NettyServerBuilder基本類似,再次不再贅言。默認情況下,Client端默認的eventLoopGroup線程池也是static的,全局共享的,默認線程個數為coreSize * 2。合理的線程池個數可以提高客戶端的吞吐能力。

    ? ??ManagedChannel是客戶端最核心的類,它表示邏輯上的一個channel;底層持有一個物理的transport(TCP通道,參見NettyClientTransport),并負責維護此transport的活性;即在RPC調用的任何時機,如果檢測到底層transport處于關閉狀態(terminated),將會嘗試重建transport。(參見TransportSet.obtainActiveTransport())

    ? ? 通常情況下,我們不需要在RPC調用結束后就關閉Channel,Channel可以被一直重用,直到Client不再需要請求位置或者Channel無法真的異常中斷而無法繼續使用。當然,為了提高Client端application的整體并發能力,我們可以使用連接池模式,即創建多個ManagedChannel,然后使用輪訓、隨機等算法,在每次RPC請求時選擇一個Channel即可。(備注,連接池特性,目前GRPC尚未提供,需要額外的開發)

    ? ? 每個Service客戶端,都生成了2種stub:BlockingStub和FutureStub;這兩個Stub內部調用過程幾乎一樣,唯一不同的是BlockingStub的方法直接返回Response Model,而FutureStub返回一個Future對象。BlockingStub內部也是基于Future機制,只是封裝了阻塞等待的過程:

    Java代碼?
  • try?{??
  • ????????//也是基于Future??
  • ??????ListenableFuture<RespT>?responseFuture?=?futureUnaryCall(call,?param);??
  • ??????//阻塞過程??
  • ??????while?(!responseFuture.isDone())?{??
  • ????????try?{??
  • ??????????executor.waitAndDrain();??
  • ????????}?catch?(InterruptedException?e)?{??
  • ??????????Thread.currentThread().interrupt();??
  • ??????????throw?Status.CANCELLED.withCause(e).asRuntimeException();??
  • ????????}??
  • ??????}??
  • ??????return?getUnchecked(responseFuture);??
  • ????}?catch?(Throwable?t)?{??
  • ??????call.cancel();??
  • ??????throw?t?instanceof?RuntimeException???(RuntimeException)?t?:?new?RuntimeException(t);??
  • }??
  • ? ??創建一個Stub的成本是非常低的,我們可以在每次請求時都通過channel創建新的stub,這并不會帶來任何問題(只不過是創建了大量對象);其實更好的方式是,我們應該使用一個Stub發送多次請求,即Stub也是可以重用的;直到Stub上的狀態異常而無法使用。最常見的異常,就是“io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED”,即表示DEADLINE時間過期,我們可以為每個Stub配置deadline時間,那么如果此stub被使用的時長超過此值(不是空閑的時間),將不能再發送請求,此時我們應該創建新的Stub。很多人想盡辦法來使用“withDeadlineAfter”方法來實現一些奇怪的事情,此參數的主要目的就是表明:此stub只能被使用X時長,此后將不能再進行請求,應該被釋放。所以,它并不能實現類似于“keepAlive”的語義,即使我們需要keepAlive,也應該在Channel級別,而不是在一個Stub上。

    ? ? 如果你使用了連接池,那么其實連接池不應該關注DEADLINE的錯誤,只要Channel本身沒有terminated即可;就把這個問題交給調用者處理。如果你也對Stub使用了對象池,那么你就可能需要關注這個情況了,你不應該向調用者返回一個“DEADLINE”的stub,或者如果調用者發現了DEADLINE,你的對象池應該能夠移除它。

    ? ? 1)實例化ManagedChannel,此channel可以被任意多個Stub實例引用;如上文說述,我們可以通過創建Channel池,來提高application整體的吞吐能力。此Channel實例,不應該被shutdown,直到Client端停止服務;在任何時候,特別是創建Stub時,我們應該判定Channel的狀態。

    Java代碼??
  • synchronized?(this)?{??
  • ????if?(channel.isShutdown()?||?channel.isTerminated())?{??
  • ????????channel?=?ManagedChannelBuilder.forAddress(poolConfig.host,?poolConfig.port).usePlaintext(true).build();??
  • ????}??
  • ????//new?Stub??
  • }??
  • ??
  • //或者??
  • ManagedChannel?channel?=?(ManagedChannel)client.getChannel();??
  • if(channel.isShutdown()?||?channel.isTerminated())?{??
  • ????client?=?createBlockStub();??
  • }??
  • client.sayHello(...)??
  • ? ? 因為Channel是可以多路復用,所以我們用Pool機制(比如commons-pool)也可以實現連接池,只是這種池并非完全符合GRPC/HTTP2的設計語義,因為GRPC允許一個Channel上連續發送對個Requests(然后一次性接收多個Responses),而不是“交互式”的Request-Response模式,當然這么使用并不會有任何問題。

    ? ? 2)對于批量調用的場景,我們可以使用FutureStub,對于普通的業務類型RPC,我們應該使用BlockingStub。

    ? ? 3)每個RPC方法的調用,比如sayHello,調用開始后,將會為每個調用請求創建一個ClientCall實例,其內部封裝了調用的方法、配置選項(headers)等。此后將會創建Stream對象,每個Stream都持有唯一的streamId,它是Transport用于分揀Response的憑證。最終調用的所有參數都會被封裝在Stream中。

    ? ? 4)檢測DEADLINE,是否已經過期,如果過期,將使用FailingClientStream對象來模擬整個RPC過程,當然請求不會通過通道發出,直接經過異常流處理過程。

    ? ? 5)然后獲取transport,如果此時檢測到transport已經中斷,則重建transport。(自動重練機制,ClientCallImpl.start()方法)

    ? ? 6)發送請求參數,即我們Request實例。一次RPC調用,數據是分多次發送,但是ClientCall在創建時已經綁定到了指定的線程上,所以數據發送總是通過一個線程進行(不會亂序)。

    ? ? 7)將ClientCall實例置為halfClose,即半關閉,并不是將底層Channel或者Transport半關閉,只是邏輯上限定此ClientCall實例上將不能繼續發送任何stream信息,而是等待Response。

    ? ? 8)Netty底層IO將會對reponse數據流進行解包(Http2ConnectionDecoder),并根據streamId分揀Response,同時喚醒響應的ClientCalls阻塞。(參見ClientCalls,GrpcFuture)

    ? ? 9)如果是BlockingStub,則請求返回,如果響應中包含應用異常,則封裝后拋出;如果是網絡異常,則可能觸發Channel重建、Stream重置等。

    ?

    轉載自:http://shift-alt-ctrl.iteye.com/blog/2292862

    轉載于:https://www.cnblogs.com/junjiang3/p/9164513.html

    總結

    以上是生活随笔為你收集整理的GRPC协议的相关原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    91c网站色版视频 | av综合在线观看 | 99热精品国产 | 久久精品视频在线 | 免费看国产视频 | 日本三级吹潮在线 | 日韩精品久久久久久久电影竹菊 | 国产精品视频久久久 | 激情视频一区 | 国产中文字幕亚洲 | 国产亚洲精品成人av久久影院 | se视频网址 | 91丨九色丨丝袜 | 国产日韩欧美中文 | 国产精品成人一区 | 在线视频麻豆 | 成人在线免费视频 | 日韩欧美在线视频一区二区三区 | 欧美一区中文字幕 | www天天干com | 激情小说网站亚洲综合网 | 在线免费观看黄 | 日韩理论电影在线观看 | 国产精品美女毛片真酒店 | 久久久久久久久网站 | 国产精品成人aaaaa网站 | 国产午夜视频在线观看 | 免费a级观看 | 欧美成人精品三级在线观看播放 | 福利在线看片 | 亚洲精品乱码久久久久久蜜桃欧美 | 欧美日韩高清一区二区 国产亚洲免费看 | 中文字幕在线视频一区 | 波多野结衣在线观看一区 | 午夜av免费看 | 人人爽人人av | 欧美成年黄网站色视频 | 国产日韩欧美视频在线观看 | 欧美午夜精品久久久久久浪潮 | 九九色视频| 一级片在线 | 日韩精品亚洲专区在线观看 | 特级毛片爽www免费版 | 亚洲黄色av网址 | 涩涩资源网 | 性色av免费观看 | 亚洲精品欧美视频 | 国产一区免费在线 | 成人在线黄色 | 国产免费一区二区三区网站免费 | 在线视频日韩一区 | 一区二区三区国 | 亚洲免费观看视频 | 91最新视频在线观看 | 欧美成年人在线观看 | 视频二区在线 | 中文字幕电影在线 | 就要色综合 | 日韩免费区| 日韩va亚洲va欧美va久久 | 久久天堂影院 | 91福利视频久久久久 | 中文字幕成人一区 | 你操综合 | 欧美激情在线看 | 欧美在线视频第一页 | 日韩视频二区 | 成人网在线免费视频 | 日本性高潮视频 | 国产黄视频在线观看 | 婷婷在线色 | 国产一级淫片免费看 | 依人成人综合网 | 色av色av色av | 国产精品一区二区在线免费观看 | 中文字幕在线观看网 | 日韩免费福利 | 日韩va欧美va亚洲va久久 | 网站免费黄色 | 毛片美女网站 | 91精品老司机久久一区啪 | 国产精品国产三级国产 | 人人cao| 色综合天天天天做夜夜夜夜做 | 国产精品第7页 | 亚洲国产精品久久久 | 在线免费观看视频一区二区三区 | 中文字幕久久亚洲 | 精品一区二区视频 | 97超碰人人干| 美女视频免费精品 | 91精品免费| 国产精品欧美日韩在线观看 | 97视频免费看 | 久久黄色片子 | 成人小视频在线播放 | 91av原创 | 午夜精品视频一区 | 国产成人精品一区二区三区在线 | 婷婷久月 | 中文一二区 | 狠狠的干狠狠的操 | 亚洲专区欧美 | 91福利国产在线观看 | 成人中文字幕av | 亚洲人毛片 | 美女免费视频黄 | av中文字幕不卡 | 亚洲成人精品影院 | 亚洲精品中文在线观看 | 中文字幕乱码电影 | 久久综合狠狠狠色97 | 综合久久影院 | 国产精品久久久久久999 | 亚洲精品久久视频 | 中文字幕视频免费观看 | 久色小说 | 久草精品电影 | 天天操天天怕 | 中文字幕精品一区久久久久 | 天天操天天操天天操天天操天天操天天操 | 久久久精品网站 | 久久精品国产免费看久久精品 | 免费日韩 精品中文字幕视频在线 | 色综合久久久久综合99 | 黄a网站 | 日本色小说视频 | 国产美腿白丝袜足在线av | 91cn国产在线 | 91精品久久久久久 | 国产欧美综合视频 | 国产123区在线观看 国产精品麻豆91 | 久久人人爽人人片 | 一区在线电影 | 亚洲精品美女在线观看 | 又黄又爽的视频在线观看网站 | 久久久久久久久亚洲精品 | 国产一区二区三区高清播放 | 国产字幕在线观看 | 视频91在线 | 亚洲免费成人av电影 | 国产精品乱码在线 | 2019av在线视频 | 欧美激情精品一区 | 国产精品久久久久av免费 | 九九视频免费观看视频精品 | 九九精品在线观看 | 四虎影视成人精品 | 特级免费毛片 | 精品一区二区三区久久 | a在线视频v视频 | 久久久久成人精品免费播放动漫 | 激情久久一区二区三区 | 国产高清不卡在线 | 亚洲精品h | 久久九九视频 | 亚洲精品久久久久久国 | 国产成人精品午夜在线播放 | 一区二区三区在线观看免费视频 | 中文字幕最新精品 | 午夜视频免费 | 精品播放 | 午夜精品一区二区三区视频免费看 | 亚洲综合情 | 在线观看网站你懂的 | 探花在线观看 | 亚洲精品午夜国产va久久成人 | 亚洲天堂毛片 | 午夜精品视频一区二区三区在线看 | 日日爱网址 | 国产日韩欧美在线观看视频 | 久久国产精品影视 | 日韩av看片 | 亚洲精选视频在线 | 国产精品日韩欧美 | 国产在线免费av | 波多野结衣电影一区二区 | 西西4444www大胆视频 | 91人人插| 中文av一区二区 | 日韩高清激情 | 免费看黄20分钟 | 色婷婷狠狠五月综合天色拍 | 久久免费av电影 | 久久精品香蕉视频 | 98超碰在线观看 | 久久久影院 | av中文字幕网址 | 国产精品毛片久久久久久久久久99999999 | 国产精品免费久久久久 | 国内精品久久久久影院日本资源 | 成人av地址 | 日韩黄色在线观看 | 成人av电影在线播放 | 国内三级在线观看 | 香蕉久草 | 五月天六月丁香 | 久久国产区 | 青青河边草免费观看 | av免费观看高清 | 亚洲综合成人专区片 | 久草免费在线视频 | 亚洲国产欧美在线人成大黄瓜 | 九九热在线免费观看 | 国产欧美久久久精品影院 | 国产精品igao视频网入口 | 99国产精品久久久久老师 | 国产成人av电影在线 | 久久久久免费看 | 黄色午夜网站 | 国产超碰在线观看 | 免费黄色网止 | 香蕉视频在线网站 | 久久国产精品网站 | 超碰大片 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 欧美日韩视频网站 | 中文字幕高清av | 天天综合五月天 | 免费激情在线电影 | 国产色在线观看 | 久久免费视频这里只有精品 | 一区二区三区四区精品 | 国产精品女人久久久 | 日韩在线高清 | 五月婷婷丁香在线观看 | 激情欧美xxxx | 不卡av电影在线观看 | 日韩精品免费在线播放 | 色综合久久久网 | 国产高清成人 | 久久狠狠一本精品综合网 | 欧美精品在线观看一区 | 99视频在线精品国自产拍免费观看 | 日韩视频一二三区 | 日韩大片免费观看 | 草久久精品 | 在线精品观看 | 久久精品一二三区 | 最新av电影网址 | 中文字幕免费高清在线观看 | 在线影视 一区 二区 三区 | 久久久96 | 国产成人免费网站 | 亚洲精品色婷婷 | 国产96精品| 亚洲成a人片77777kkkk1在线观看 | 狠狠激情中文字幕 | 国产精品久久久99 | 欧美日韩高清一区二区 | 在线天堂日本 | 久久成年视频 | 国产美女在线精品免费观看 | 国产精品不卡在线观看 | 综合色久 | 曰韩在线 | 天天插伊人 | 亚洲一区二区视频 | 特级大胆西西4444www | 天天曰 | 久久久在线视频 | 久草在线免费新视频 | 中文字幕在线网址 | 免费又黄又爽 | 欧美射射射 | 在线日韩中文字幕 | 粉嫩一区二区三区粉嫩91 | 夜添久久精品亚洲国产精品 | 99国内精品| 亚洲综合色站 | 激情网综合 | 999成人国产| 精品一二三四在线 | 免费色视频网址 | 久久久国产一区 | 一区二区成人国产精品 | 操久在线 | 国产精品99久久久久久人免费 | 国产成人精品一区二区在线观看 | 亚洲激情影院 | 日韩视频三区 | 91成人短视频在线观看 | 在线观看一级视频 | 波多野结衣最新 | aaa黄色毛片| 五月开心婷婷网 | 久久久久色 | 亚洲精品456在线播放 | 91在线日本 | 国产视频日韩视频欧美视频 | 黄网av在线| 黄色毛片网站在线观看 | 亚州视频在线 | 国产色婷婷 | 香蕉在线观看视频 | 久久99精品久久久久久 | 日韩免费网站 | 久久99久久99久久 | 91精品视频播放 | 欧美日韩在线观看不卡 | 六月丁香在线观看 | 久久人人爽人人爽人人片av免费 | 欧美日韩国产成人 | 欧美精品三级在线观看 | 久久97精品 | 天天色天天操天天爽 | 午夜精品一区二区国产 | 天天操天天操天天操天天 | 成人免费视频视频在线观看 免费 | a黄色 | 亚洲精品www久久久 www国产精品com | 69夜色精品国产69乱 | 欧美日韩一二三四区 | 人人超碰免费 | 91av免费看 | 国产a免费 | 亚洲精品美女视频 | 免费观看性生交大片3 | 色鬼综合网 | 91精品视频导航 | 91精品国自产在线 | 男女全黄一级一级高潮免费看 | 久久久久伊人 | 国产手机视频精品 | 日韩精品91偷拍在线观看 | 精品视频网站 | av高清在线观看 | 亚洲视频高清 | 欧美先锋影音 | 99av在线视频 | 少妇资源站| 黄色av一级片 | 久久开心激情 | 日韩欧美一区二区三区视频 | 午夜视频在线观看一区二区 | 国产在线精品二区 | 日本女人在线观看 | 色狠狠综合天天综合综合 | 欧美一级高清片 | 国产黄色看片 | 中文字幕在线观看第一区 | 免费电影播放 | 久久天天拍 | 日韩视频免费观看高清完整版在线 | 精品视频在线免费观看 | 日韩成年视频 | 三级黄色免费片 | a视频在线 | 欧美一级淫片videoshd | 久草在线免费新视频 | 在线一二区| 99在线观看免费视频精品观看 | 天天插天天爱 | 日韩欧美精品在线观看视频 | 久久黄色影视 | 一区二区欧美在线观看 | 久久精品123| 久久日本视频 | 国产成人亚洲精品自产在线 | 国产午夜亚洲精品 | 日韩一级成人av | av 在线观看| 国产一线天在线观看 | 日韩久久一区 | 欧美一级日韩免费不卡 | av中文字幕不卡 | 97超碰在线播放 | 99视频在线精品免费观看2 | 一本一道久久a久久综合蜜桃 | 99欧美 | 99精品国产aⅴ | 六月婷婷色 | 色com网| www.亚洲视频 | 国产丝袜美腿在线 | 黄色毛片一级 | 91精品久 | 又黄又爽又湿又无遮挡的在线视频 | 欧美一区免费观看 | 丁香婷婷在线观看 | 国产一级不卡视频 | 色诱亚洲精品久久久久久 | 亚洲最大av在线播放 | 婷婷久久一区二区三区 | 国产精品高清在线观看 | 一区二区三区观看 | 欧美日韩一区二区三区视频 | 97超碰在线人人 | 亚洲精品系列 | 国产一二三四在线视频 | 中文字幕乱码视频 | 久久综合九色综合欧美狠狠 | 欧美综合在线观看 | 国产三级视频 | www.com操| 国产精品第一页在线 | 在线观看视频黄色 | 午夜视频在线瓜伦 | 五月天电影免费在线观看一区 | 草草草影院 | 国产黄a三级三级三级三级三级 | 免费看成年人 | 精品1区2区 | 欧美日韩激情视频8区 | 国产乱对白刺激视频在线观看女王 | 免费精品国产 | 国产精品一区二区62 | 色久av| 日本久草电影 | 亚洲精品av中文字幕在线在线 | 最近免费中文字幕 | 日韩高清在线不卡 | 天天操天天干天天爱 | 有码中文在线 | 中文字幕 国产精品 | 久久ww | 香蕉视频亚洲 | 3d黄动漫免费看 | 亚洲一区二区高潮无套美女 | 91精品办公室少妇高潮对白 | 中日韩欧美精彩视频 | 天天射色综合 | 欧美性直播| 在线免费观看欧美日韩 | 日本精品久久久久中文字幕 | 国产一卡久久电影永久 | 久草久草视频 | 亚洲精品视频在线观看免费视频 | 又黄又色又爽 | 亚洲精品欧美精品 | 天天天天色综合 | 操操操人人 | 日韩一区二区三区免费视频 | 国产一区二区高清视频 | 在线电影av| 黄色国产在线观看 | 国产一级视频免费看 | 欧美精选一区二区三区 | 91精品国自产在线 | 亚洲va韩国va欧美va精四季 | 久久婷婷色综合 | 成人久久久久 | 亚洲 欧美 变态 国产 另类 | 免费看v片网站 | 久久免费的视频 | 欧美成人免费在线 | 91最新地址永久入口 | 亚洲精品乱码久久久久久高潮 | 99久久精品国产亚洲 | 久久av中文字幕片 | 91豆花在线观看 | 日日爱av| 伊人视频 | 成人免费大片黄在线播放 | 深夜免费福利在线 | 国产精品视频线看 | 看v片 | 日韩av一区二区在线影视 | 国产高清在线一区 | 丁香婷婷电影 | 天天av在线播放 | 人人澡av | 久久久午夜精品福利内容 | 日韩一区二区三区视频在线 | 亚洲精品乱码久久久久久按摩 | 青青河边草免费 | av在线一二三区 | 国产婷婷在线观看 | 2019国产精品 | 91毛片在线 | 麻豆免费视频网站 | 91在线一区 | 综合五月婷婷 | 草久久久| 国产精品美女999 | 久久高清国产视频 | 日韩网站视频 | 91伊人| 在线黄色国产电影 | 最新av电影网址 | 日韩欧美综合精品 | 久久在线精品视频 | 在线视频福利 | 最近中文字幕免费视频 | 亚洲人成人在线 | 色天天综合久久久久综合片 | av中文字幕网站 | 一区二区三区在线免费 | 成人动漫一区二区三区 | 天天操天天爱天天干 | 久久国产精品网站 | 国产v亚洲v | 91毛片在线观看 | 成人影音在线 | 亚洲免费在线视频 | 国产一级大片在线观看 | 国产精品一区在线观看你懂的 | 婷婷色吧 | 99久久精品国产亚洲 | 国产在线久久久 | 少妇bbw搡bbbb搡bbbb | 四虎国产精品永久在线国在线 | 亚洲少妇天堂 | 欧美国产日韩一区二区三区 | 不卡视频一区二区三区 | 欧美资源 | 免费在线观看污网站 | 人人澡人人添人人爽一区二区 | 日韩欧美高清在线观看 | 免费在线视频一区二区 | 国内揄拍国内精品 | 五月婷婷欧美视频 | 婷婷色站 | 国产成人精品久 | 91免费观看网站 | 99精品国产一区二区三区麻豆 | 国产精品久久麻豆 | 日日操操 | 国产激情电影综合在线看 | 在线观看福利网站 | 欧美精品久久久久久久亚洲调教 | 97在线观看免费视频 | 碰超在线97人人 | 国产成人精品一区二区三区福利 | 在线成人性视频 | 久久久久免费精品视频 | 国产小视频在线观看 | 在线蜜桃视频 | 亚洲一区黄色 | 欧美另类xxxx| 久久久久久久久久久综合 | 中文在线字幕观看电影 | av在线等 | 久久国产精品电影 | 日韩在线看片 | 一级特黄aaa大片在线观看 | 福利视频一二区 | 97视频久久久 | 午夜久久影视 | 黄色大片av | 色狠狠婷婷 | 在线电影91 | 五月婷婷毛片 | 久久综合欧美精品亚洲一区 | 成片人卡1卡2卡3手机免费看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 久草在线资源观看 | 欧美三人交 | 成年人免费电影在线观看 | 日韩高清www | 国产免费一区二区三区网站免费 | 国产精品私拍 | 国产精品乱码久久久久 | 在线中文字幕av观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 日日夜夜草 | 久久人人添人人爽添人人88v | 久久99久久99精品免观看软件 | 国产最新精品视频 | 91亚洲网| av在线影视 | 超碰在线98| 91黄视频在线 | 日本公乱妇视频 | 日日夜夜综合网 | 国产尤物一区二区三区 | 国产亚洲精品久久久久久久久久久久 | 国产精品99久久久久久有的能看 | 亚洲 欧美 日韩 综合 | 成年人毛片在线观看 | 午夜视频在线观看一区 | 欧美在线日韩在线 | 精品一区二区在线免费观看 | 伊人影院在线观看 | 婷婷九月激情 | 亚洲国产精品小视频 | 国产精品毛片一区视频 | 国产成人在线网站 | 黄色aaa级片 | 91九色在线观看 | 精品国产精品久久一区免费式 | 国产精品久久久久久久免费观看 | 成人精品99 | 中文字幕久久久精品 | 国产成人精品女人久久久 | 国产精品久久久久毛片大屁完整版 | 九九热在线视频免费观看 | 天天艹天天干天天 | 成人黄色小说视频 | 色综合色综合久久综合频道88 | 日韩成人在线一区二区 | a午夜电影| 国内亚洲精品 | 欧美十八 | 色噜噜在线观看视频 | 精品国产伦一区二区三区 | 精品国产一区二区三区男人吃奶 | 毛片永久免费 | 久久精品a | 国产高清av免费在线观看 | 丁香在线视频 | 日韩一区二区久久 | 亚洲精品国产拍在线 | 日韩有色| 亚洲免费一级电影 | 一本一本久久a久久 | 青青久草在线 | 99免费在线| av高清在线观看 | 99久久激情视频 | av 一区二区三区四区 | 18久久久久 | 五月婷婷六月丁香 | 999国产在线 | 久久新 | 99精品免费久久久久久日本 | 久久免费黄色大片 | 久久综合亚洲鲁鲁五月久久 | 在线观看精品国产 | 91九色porn在线资源 | 一级性生活片 | 天操夜夜操 | 天天操月月操 | 黄色片免费在线 | 91污污视频在线观看 | 综合精品在线 | 国产视频一区二区在线观看 | 91最新视频 | 69视频在线播放 | 91精品国产成 | 国产精品免费观看久久 | 成人午夜黄色 | 五月婷网 | 欧美日韩精品免费观看 | 中文亚洲欧美日韩 | 欧美久久久久久久久中文字幕 | 久青草国产在线 | 黄色1级毛片 | 日韩高清一二区 | 黄色a三级| 超碰97在线看| 五月天婷亚洲天综合网精品偷 | 九月婷婷人人澡人人添人人爽 | 超碰在线观看97 | 亚洲人成网站精品片在线观看 | www.夜夜爽 | 激情五月***国产精品 | 日韩专区在线观看 | 视频精品一区二区三区 | 又长又大又黑又粗欧美 | 日韩和的一区二在线 | 香蕉影视在线观看 | 91精品一区国产高清在线gif | 国产成人精品一区一区一区 | 一区二区三高清 | 精品999在线观看 | 亚洲精品福利在线 | 黄色一级免费网站 | 在线免费观看黄色 | 欧美性生交大片免网 | 色吧久久 | 91九色蝌蚪国产 | 亚洲码国产日韩欧美高潮在线播放 | 黄色av一级| 毛片在线播放网址 | 91色在线观看视频 | 亚洲综合激情 | 麻豆国产视频下载 | 伊香蕉大综综综合久久啪 | 成人av资源站| 操操操影院| 国产成人精品午夜在线播放 | av在线电影免费观看 | 五月天激情综合 | 99热精品久久 | 日韩a在线看 | 天天狠狠 | 精品国产乱码一区二 | 久久成人一区二区 | 天天爱天天射天天干天天 | 久久综合九色综合97婷婷女人 | 在线综合 亚洲 欧美在线视频 | 99久久婷婷国产一区二区三区 | 亚洲一区二区视频在线播放 | 久久国产剧场电影 | 国产成人精品亚洲日本在线观看 | 国产欧美精品在线观看 | 亚洲欧美日韩精品一区二区 | 成人免费在线观看电影 | 午夜色大片在线观看 | 婷婷深爱五月 | 黄色大片国产 | 91视频在线观看免费 | 日韩美一区二区三区 | 在线观看片| 国产精品剧情 | 丰满少妇在线 | av在线影视 | 欧美日韩3p | 免费看的黄色录像 | av在线电影免费观看 | 911精品视频| 碰超在线 | 亚洲伦理一区 | 久久免费美女视频 | 国产又黄又爽无遮挡 | 国内精品久久影院 | 久久99热精品这里久久精品 | 狠狠搞,com | 国产精品第一视频 | 欧美综合色 | 久久99亚洲网美利坚合众国 | 五月开心综合 | 欧日韩在线视频 | 99久免费精品视频在线观看 | 亚洲成人资源在线观看 | 欧美日韩成人一区 | 天天干天天射天天爽 | 久久久成人精品 | 亚洲精品在线看 | 天天操天天射天天插 | 免费在线观看午夜视频 | 国产精品综合久久久久久 | 超碰人人在线观看 | 婷婷在线视频观看 | 久久免视频 | 日本丶国产丶欧美色综合 | 国产视频一 | 超碰人人超 | 久草在线观看资源 | 三级动态视频在线观看 | 国产高清99| 日韩精品一区二区在线 | 日韩一区二区三区免费视频 | 亚洲3级 | 韩国三级av在线 | 午夜精品剧场 | 香蕉久草 | 在线观看亚洲免费视频 | 国产精品美女久久久网av | 国产美女网站在线观看 | 久久桃花网| 探花视频免费观看高清视频 | 精品国产亚洲日本 | 国产伦精品一区二区三区四区视频 | 99精品一区| 在线高清av| 91在线国产观看 | 在线观看aaa | 国产精品一码二码三码在线 | 中文字幕视频播放 | 成人av片免费看 | .精品久久久麻豆国产精品 亚洲va欧美 | 久久精品99国产精品日本 | 国产在线第三页 | 亚洲精品动漫成人3d无尽在线 | 中文字幕在线观看不卡 | www.伊人网 | 欧美日韩国产精品一区 | 激情网第四色 | 天天操夜夜摸 | www激情com| 欧美午夜a | 久久精品直播 | 美女在线免费视频 | 国产va饥渴难耐女保洁员在线观看 | 婷婷精品国产欧美精品亚洲人人爽 | 久久久免费观看完整版 | 日韩字幕在线观看 | 亚洲 中文 在线 精品 | 99免费在线观看 | 亚洲精品一区二区三区在线观看 | 国产视频一区二区在线观看 | 久久精品资源 | 黄色在线免费观看网址 | 国产精品久久久久av免费 | 欧美一区二区精美视频 | 国产精品对白一区二区三区 | 久久国产亚洲 | 免费观看性生活大片3 | 亚洲无吗天堂 | 五月综合久久 | www.国产在线 | 午夜成人免费影院 | 国产视频 久久久 | 999成人免费视频 | 日本最新高清不卡中文字幕 | 在线色亚洲 | 国产精品久久久久aaaa | 免费看黄在线 | 天海冀一区二区三区 | 亚洲欧美国产精品久久久久 | 国产精品久久久久久超碰 | 精品一区二区三区久久久 | 免费男女羞羞的视频网站中文字幕 | 国产一区二区不卡在线 | 国产高清免费在线观看 | 激情欧美在线观看 | 精品麻豆入口免费 | 久久超碰网 | 国产精品一区二区av影院萌芽 | 久久精品视频免费观看 | 在线观看中文字幕dvd播放 | 日日日干 | 91香蕉视频720p | 国产精品精品国产 | 色婷婷久久久综合中文字幕 | 欧美一二三在线 | 亚洲成年片 | 天天插天天狠 | 亚洲国产精品人久久电影 | 中文字幕在线观看你懂的 | 久久久久五月天 | 2022中文字幕在线观看 | 91传媒免费在线观看 | 成人黄色片免费 | 亚洲一一在线 | 在线激情影院一区 | 97香蕉久久超级碰碰高清版 | 五月婷婷操| 国产精品乱码一区二区视频 | 免费a v视频 | 丝袜美腿在线 | 麻豆久久久 | 色中色亚洲 | 五月综合色婷婷 | 国产亚洲成av片在线观看 | 天天干夜夜擦 | 成年人免费看 | 久久这里只有精品视频首页 | aaa毛片视频 | 麻豆91在线播放 | 成年人精品 | www.天天综合 | 国产特级毛片aaaaaa | 久99久在线 | 国产天天综合 | 午夜精品久久久久久久久久久久久久 | 日本在线观看中文字幕无线观看 | 蜜臀av免费一区二区三区 | 91成版人在线观看入口 | 色爱区综合激月婷婷 | 久草视频免费观 | 天天综合导航 | 天天操月月操 | 久草久| 丁香五月网久久综合 | 国产精品日韩精品 | 久久不卡国产精品一区二区 | 天天操天天舔天天爽 | 久久综合五月天婷婷伊人 | 国产精品久久一卡二卡 | 精品视频在线播放 | 亚洲欧美国产精品18p | 久久久免费av | www91在线观看 | 久久精品视频免费播放 | 日韩aⅴ视频 | 久久综合精品一区 | 超碰人人做| 国产999精品久久久影片官网 | 国产免费高清 | 久久99精品久久久久婷婷 | 久草热视频 | 手机av在线网站 | 天天弄天天操 | 麻豆极品| 久久国产精品影视 | www黄色com| 97av免费视频| 日本久久久久久久久久久 | 在线观看免费成人av | 91最新网址 | 欧美日韩成人一区 | 天天色天天干天天色 | 日韩在线视频免费播放 | 色久天| 在线之家免费在线观看电影 | 亚洲精品国产综合99久久夜夜嗨 | 高清视频一区 | av在线播放国产 | 中文字幕资源网在线观看 | 日韩网站视频 | 国产麻豆精品在线观看 | 久久国产网站 | 永久免费的av电影 | 日韩综合第一页 | 久草av在线播放 | 国产特级毛片 | av电影在线不卡 | 国产精品午夜av | 亚洲精品视频中文字幕 | 久久久国产精品免费 | 五月天久久综合 | 男女免费视频观看 | 国产馆在线播放 | 久操免费视频 | 亚洲午夜精品久久久久久久久 | 黄色亚洲大片免费在线观看 | 亚洲 欧美 另类人妖 | 欧美日韩一区二区三区在线免费观看 | 91精品久久久久久久99蜜桃 | 午夜精品一区二区三区四区 | 日本中文字幕观看 | 蜜臀av性久久久久av蜜臀三区 | 国产超碰在线观看 | 亚洲区精品视频 | 欧美日韩一区二区免费在线观看 | 91av在线免费视频 | 久久久久 免费视频 | 亚洲综合黄色 | 久久综合色一综合色88 | 日本电影久久 | 最新av在线网站 | 正在播放亚洲精品 | 久久久精品影视 | 黄色网在线播放 | 国产不卡免费 | 久久再线视频 | av资源网在线播放 | 久久综合精品国产一区二区三区 | 欧美综合在线视频 | 国产精品1024| 国产精久久久久久妇女av | 日韩欧美在线综合网 | 日韩国产高清在线 | 国产黄色一级片 | 色多多污污 | 黄a网站 | 国产一级91 | av丝袜在线 | 国产不卡在线 | 日韩在线播放视频 | 国产精品久久久电影 | 天天色图| 亚洲精品午夜一区人人爽 | 日本一区二区三区免费观看 | 在线免费视 | 久久毛片网站 | 久久久久久久久久免费 | 国产精品美女免费 | 日韩在线观看网站 | 成人午夜精品久久久久久久3d | 日韩深夜在线观看 | 成人高清在线观看 | 久久久久久久亚洲精品 | 91片在线观看| 欧美色道 | v片在线播放| 久久毛片网 | 久久久久国产一区二区 | 免费精品久久久 | 亚洲2019精品| 欧美视频不卡 | 日韩激情小视频 | 人人艹人人 | 啪嗒啪嗒免费观看完整版 | 色网站免费在线观看 | 六月天综合网 | 黄色影院在线播放 | 日日日视频 | 国产特级毛片 | 天天操偷偷干 | 精品国产视频一区 | 超碰在线人 | 久久久久久久久黄色 | 国产精品欧美精品 | 国产精品高清免费在线观看 | 五月花激情 | 麻豆 videos | 福利精品在线 | 狠狠狠狠狠狠狠 | 超碰在线97免费 | 麻豆一区在线观看 | www.色婷婷| 亚洲综合日韩在线 | 9在线观看免费高清完整 | 欧美日韩二区三区 | 在线午夜电影神马影院 | 毛片网站免费 | 国产精品成人国产乱 | 欧美综合在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 麻豆传媒在线免费看 | 成人午夜精品福利免费 | 亚洲精品久久久久中文字幕二区 | 日本中文在线 | 视频成人永久免费视频 | 首页av在线 | 99精品视频免费看 | 中午字幕在线观看 | 一区二区 精品 | 日韩一区二区三区不卡 | 九九天堂| 国产精品24小时在线观看 | 国产美女网| 色综合天天综合 | 国产色 在线|