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

帶你手把手實操一個RPC框架

開發(fā) 開發(fā)工具
本文從整體名詞介紹、內(nèi)部組件組件介紹等兩個方面闡述了RPC的框架模型,從技術(shù)選型、具體代碼等實現(xiàn)了一個RPC框架并應用到項目中。

這篇文章我們來聊一聊RPC框架,為什么要聊RPC呢 ?

首先從個人成長角度,如果一個新時代碼農(nóng)能清楚的了解RPC框架所具備的要素,掌握RPC框架中涉及的服務注冊發(fā)現(xiàn)、負載均衡、序列化協(xié)議、RPC通信協(xié)議、Socket通信、異步調(diào)用、熔斷降級等技術(shù),可以全方位的提升基本素質(zhì)。

其次,目前市面上也有非常多優(yōu)秀的框架,GitHub上也有相關源碼,但好記性不如爛筆頭,只有自己真正了解并且動手去嘗試寫一個RPC框架,才是我們?nèi)フ莆者@門技術(shù)的最優(yōu)路徑。

一、介紹

研究一個概念或者框架,帶著三個W去考慮,可能會對他有更加深刻的了解:

1)What,什么是RPC框架,RPC是 Remote Procedure Call 的簡稱,遠程過程調(diào)用,那么什么叫遠程過程調(diào)用呢,你可以理解為我們調(diào)用外部(遠程)服務就像調(diào)用自己本地方法一樣。

2)Where,RPC框架用在什么地方,在分布式系統(tǒng)和微服務盛行的今天,各業(yè)務系統(tǒng)會被獨立拆分出來成為一個個獨立的web應用,應用之間的交互和數(shù)據(jù)傳輸就成了必不可少的一環(huán),RPC就是為了實現(xiàn)獨立服務之間遠程交互的框架。

3)Why,為什么需要一個RPC框架,服務之間的調(diào)用需要各種場景和因素的考慮,內(nèi)部原理非常復雜和繁瑣,同時在集群情況下,服務的負載均衡,熔斷,限流等都是需要去考慮的,這時候就需要一個集服務注冊發(fā)現(xiàn)、負載均衡、序列化協(xié)議、RPC通信協(xié)議、Socket通信、異步調(diào)用、熔斷降級等技術(shù)為一體的技術(shù)去完成這些公共功能,RPC框架就是在這種情況下應運而生。

目前比較主流的RPC框架包括谷歌開源的GRPC、阿里巴巴的Dubbo、Netflix 的SpringCloud等。

二、RPC框架基本組成

RPC框架需要的最基本的三個要素:

ServiceProvider: 服務提供方,提供相關服務接口。

ServiceConsumer: 服務消費方,消費服務提供方的接口。

Registry: 注冊中心,用于進行服務的注冊、發(fā)現(xiàn)、治理、高可用。

基于三個最基本要素,還會延伸出包括負載均衡器、熔斷降級器、通信協(xié)議組件、序列化協(xié)議等等組件。

一個最簡單的RPC調(diào)用模型圖如下所示:

圖片

下面做一些名詞的介紹和解釋:

2.1 注冊中心

注冊中心是RPC框架中的管理者和協(xié)調(diào)者角色,雖然在遠程過程調(diào)用中服務消費者會不經(jīng)過注冊中心,會直接向服務提供者發(fā)送請求,但是隨著我們的服務方越來越多,每個服務的實例也不斷變化的,且每個服務的地址,端口等信息是需要通知到消費方的,所以我們需要一個類似“管家”的角色,來負責管理服務注冊和發(fā)現(xiàn)的工作,這個“管家”我們稱之為注冊中心。

一個合格的注冊中心需要具備包括緩存和持久化服務提供方數(shù)據(jù),動態(tài)更新服務提供者信息,動態(tài)監(jiān)聽服務提供方節(jié)點變化,推送節(jié)點變化到消費方,查詢服務提供方數(shù)據(jù)等功能。

目前市面上比較流行的注冊中心有:Zookper、 Nacos、Consul、Eurake等,針對于上面功能的實現(xiàn)方式也有所不同,以下是注冊中心的對比:


Zookeeper

Nacos

Consul

Eurake

一致性協(xié)議

CP

CP + AP

CP

AP

雪崩保護

多數(shù)據(jù)中心

不支持

支持

支持

支持

自動注銷實例

支持

支持

支持

支持

2.2 服務提供方(RPC服務端)

其需要對外提供服務接口,一個服務方需要包括啟動連接注冊中心,注冊相關信息到注冊中心,提供服務下線和更新機制,維護服務名和服務的映射,序列化和反序列化,啟動通信等。

目前服務提供方有兩種服務提供維度,基于接口的服務提供和基于服務的服務提供,Dubbo3.0 之前是基于接口維度做的服務注冊,Dubbo3.0之后漸漸向服務維度的服務注冊發(fā)現(xiàn)靠攏,SpringCloud是基于服務來進行注冊發(fā)現(xiàn)的,在云原生和容器化越來越火的今天,基于服務可以更好的適配容器化和云原生。

2.3 服務消費方(RPC消費端)

服務消費方需要具備可以從注冊中心拉取服務列表,緩存服務列表,動態(tài)監(jiān)聽和更新服務列表的功能,還需要具備針對于服務的負載均衡策略,序列化和反序列化,根據(jù)約定的通信協(xié)議進行調(diào)用等。

目前Dubbo是基于代理和Spring的BeanDefination來實現(xiàn)的,在消費啟動的時候會去掃描基于自定義注解或配置的信息,然后生成一個相應的代理對象,注冊到Spring容器中,在調(diào)用的時候直接通過代理類進行相關一系列調(diào)用。SpringCloud是基于HTTP協(xié)議和增強版的RestTemplate來實現(xiàn)的,內(nèi)部實現(xiàn)了Ribbon的負載均衡,消費方可以通過Feign或者RestTemplate實現(xiàn)遠程調(diào)用。

2.4 通訊框架

通訊框架是服務之間進行IO交互和傳輸?shù)谋WC,消費端需要通過通訊框架和提供方進行交互,獲取數(shù)據(jù),目前市面上主流的基于Java的NIO通訊框架就是Netty。

2.5 通訊協(xié)議

通訊協(xié)議是消費端和服務端約定好一種交互協(xié)議,當消費端拿到服務端提供的IO流之后,需要根據(jù)通訊協(xié)議獲取具體的數(shù)據(jù)內(nèi)容,目前TCP通訊協(xié)議比較通用的是HTTP、FTP、SMTP協(xié)議等,SpringCloud是基于HTTP的通訊協(xié)議實現(xiàn)的,Dubbo內(nèi)部自己集成了一套通訊協(xié)議。

業(yè)界的主流協(xié)議的解決方案可以歸納如下:

消息定長,例如每個報文的大小為固定長度100字節(jié),如果不夠用空格補足。

在包尾特殊結(jié)束符進行分割。

將消息分為消息頭和消息體,消息頭中包含表示消息總長度(或者消息體長度)的字段。

通過對比,我們發(fā)現(xiàn)第三點是最為靈活和可拓展的,一般推薦都會使用第三種。

2.6 序列化

2.6.1 概念介紹

序列化(serialization)就是將對象序列化為二進制形式(字節(jié)數(shù)組),一般也將序列化稱為編碼(Encode),主要用于網(wǎng)絡傳輸、數(shù)據(jù)持久化等。

反序列化(deserialization)則是將從網(wǎng)絡、磁盤等讀取的字節(jié)數(shù)組還原成原始對象,以便后續(xù)業(yè)務的進行,一般也將反序列化稱為解碼(Decode),用于網(wǎng)絡傳輸對象的解碼,以便完成遠程調(diào)用。

2.6.2 序列化協(xié)議XML & SOAP

XML是一種常用的序列化和反序列化協(xié)議,具有跨機器,跨語言等優(yōu)點。XML歷史悠久,其1.0版本早在1998年就形成標準,并被廣泛使用至今,目前金融和銀行行業(yè)使用較多。

JSON

JSON 全程(Javascript Object Notation)起源于弱類型語言Javascript, 它的產(chǎn)生來自于一種稱之為”Associative array”的概念,其本質(zhì)是就是采用”Attribute-value”的方式來描述對象。實際上在Javascript和PHP等弱類型語言中,類的描述方式就是Associative array。JSON的具有數(shù)據(jù)簡單,可接受程度高,結(jié)構(gòu)簡潔,序列化包體小等特點,目前大部分的公司都是使用這種序列化協(xié)議來實現(xiàn)的。

Protobuf

由谷歌開發(fā)的一款高性能序列化框架,是一個純粹的展示層協(xié)議,可以和各種傳輸層協(xié)議一起使用,目前支持Java、C++、Python 等多種語言,他具有更小的數(shù)據(jù)量,更快的解析速度,簡單的調(diào)用等特點,目前得物使用的Dubbo2.7.7版本 默認使用這種序列化協(xié)議。

2.7 負載均衡

負載均衡是保證服務提供方在多實例的情況下保證負載的均衡的一種策略,目前大體有如下幾種負載均衡策略:

1)輪訓,采用計數(shù)器的方式,根據(jù)計數(shù)器的值和實例數(shù)量進行取余。

2)隨機,采用隨機請求的方式,隨機一個Random的數(shù)值,根據(jù)random進行取余。

3)加權(quán)輪訓,采用權(quán)重的方式,給每一個實例配置不同的權(quán)重比例,通過比例選擇合適的實例。

4) 一致性Hash,采用Hash環(huán)的方式,大體的實現(xiàn)思路是通過尋址的方式找到就近的一個節(jié)點,具體可以自行網(wǎng)上搜索一下相關文檔理解。

三、實現(xiàn)

既然是當作練手實現(xiàn)一個RPC框架,所以會盡量借鑒當前主流的框架,技術(shù)選型方面:

 注冊中心:選擇Zookeeper來實現(xiàn)。

服務提供方:選擇基于服務維度來實現(xiàn)服務發(fā)現(xiàn),目前主流框架都是基于這個來做的。

服務消費方:選擇Dubbo類似的基于代理Spring的BeanDefination來實現(xiàn)。

通訊框架:Netty。

通訊協(xié)議:采用上述的第三種方式。

序列化協(xié)議:支持JSON 和 Protobuf。

負載均衡:實現(xiàn)輪訓和隨機。

當然,上述的組件都是使用SpringBoot的SPI方式來進行選擇的,后續(xù)如果需要進行拓展和按不同配置加載,可以通過配置的方式來實現(xiàn)插件的可插拔。

廢話不多說,先貼上項目整體結(jié)構(gòu):

圖片

整體代碼結(jié)構(gòu)如上,下面針對模塊一一講解:

3.1 注冊中心

代碼實現(xiàn)如下:

因為我們是以可拓展和接口方式實現(xiàn)的,所以我們定義了一些接口,通過不同的實現(xiàn)來進行區(qū)分,后期可以通過不同的配置來選擇合適的注冊中心。

圖片

3.2 服務提供方

服務提供方通過使用Spring的事件來進行監(jiān)聽,同時根據(jù)聲明式的注解來進行解析和注冊,同時通過組裝元數(shù)據(jù),將自己的服務注冊到注冊中心,完成服務提供方的服務注冊,同時啟動Netty的客戶端,來進行客戶端的監(jiān)聽,從而進行服務調(diào)用,具體流程圖如下:

圖片

部分實現(xiàn)代碼如下:

自動裝備邏輯:

圖片

使用和服務注冊邏輯:

圖片

3.3 服務消費方

服務消費方的邏輯稍微復雜一些,需要通過自動裝配來創(chuàng)建新的BeanDefination, 然后從所有的Bean中找到相關的帶有RPC注解的參數(shù),重寫B(tài)eanDefination,重寫的Bean需要構(gòu)建新的元數(shù)據(jù)和存入客戶端緩存,然后通過動態(tài)代理的方式,創(chuàng)建一個代理對象,對象使用負載均衡在服務發(fā)現(xiàn)的時候選擇一個地址,通過Netty的方式進行通信和數(shù)據(jù)交互,最后返回相關數(shù)據(jù)對象,具體的流程如下圖:

圖片

部分實現(xiàn)代碼如下:

啟動開始類代碼:

圖片

圖片

代理類實現(xiàn)代碼:

圖片

負載均衡實現(xiàn)代碼:(SPI可拓展模式)

目前采用輪訓和隨機的方式實現(xiàn)的,后期可根據(jù)接口進行拓展。

圖片

3.4 通訊框架

我們使用Netty4實現(xiàn)了通訊框架,采用了NettyClient和NettyServer來實現(xiàn):

圖片

圖片

3.5 通訊協(xié)議

我們目前使用了自定義的通信協(xié)議來實現(xiàn):

第一個字節(jié)是魔法數(shù),比如我定義為0X35。

第二個字節(jié)代表協(xié)議版本號,以便對協(xié)議進行擴展,使用不同的協(xié)議解析器。

第三個字節(jié)是請求類型,如0代表請求1代表響應。

第四個字節(jié)表示消息長度,即此四個字節(jié)后面此長度的內(nèi)容是消息content。

圖片

3.6 序列化協(xié)議

目前支持JSON和ProtoBuf,后期我們可以通過SPI進行拓展和可配置。

圖片

整體核心調(diào)用流程:

圖片

四、總結(jié)

本文從整體名詞介紹、內(nèi)部組件組件介紹等兩個方面闡述了RPC的框架模型,從技術(shù)選型、具體代碼等實現(xiàn)了一個RPC框架并應用到項目中。目前RPC框架整體搭建完成,可以正常通過注解接入業(yè)務方使用,但還有很多細節(jié)需要更仔細地去考慮和思索,比如系統(tǒng)的可拓展性和框架的整體性能等。希望通過閱讀本篇文章,可以讓讀者對RPC有更清晰的了解,讓自己的基礎技能有一個更高的提升。

責任編輯:武曉燕 來源: 得物技術(shù)
相關推薦

2024-02-06 10:04:49

Express框架repo

2017-09-20 16:39:31

云主機網(wǎng)站MySQL

2017-09-20 12:36:50

云主機網(wǎng)站MySQL

2023-03-29 10:02:36

2017-11-27 15:17:24

PythonMonkey腳本

2023-01-30 09:27:57

開發(fā)自動化配置

2021-06-22 10:43:03

Webpack loader plugin

2022-10-19 14:30:59

2022-08-11 07:32:51

Starter自動裝配

2019-08-26 09:25:23

RedisJavaLinux

2022-06-28 15:29:56

Python編程語言計時器

2021-01-08 10:24:32

Python項目基礎

2021-12-15 07:24:57

人工神經(jīng)網(wǎng)絡翻譯

2022-08-26 08:01:38

DashWebJavaScrip

2022-09-22 12:38:46

antd form組件代碼

2016-11-01 09:46:04

2025-04-03 02:35:00

GoogleGemini工具

2022-05-18 08:51:44

調(diào)用模板后端并行

2021-08-31 10:02:10

KubernetesLinux集群

2023-03-22 09:00:38

點贊
收藏

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

色七七影院综合| 在线精品观看国产| 九色综合日本| 亚洲专区在线播放| 99色在线观看| 国产视频911| 亚洲影院在线看| 亚洲第一网站在线观看| 亚洲自拍偷拍网| 亚洲一二在线观看| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 欧美在线三区| 亚洲四色影视在线观看| 亚洲成人av免费观看| 嫩草研究院在线观看| 久久er精品视频| 69精品小视频| 69xx绿帽三人行| 精品午夜久久| 亚洲国产精品女人久久久| 加勒比av中文字幕| 中国字幕a在线看韩国电影| 亚洲欧美日韩在线播放| 国产精品一区二区三区精品| 国产一区二区在线视频观看| 亚洲欧美日本国产专区一区| 久久久久久国产精品三级玉女聊斋| 天天操天天舔天天射| 精品少妇3p| 欧美一区二区视频在线观看 | 久久99最新地址| 91高清视频免费观看| 精品爆乳一区二区三区无码av| 日本大胆欧美| 精品伊人久久97| 天堂网成人在线| 精品福利在线| 在线日韩一区二区| 日韩视频第二页| 欧美男男tv网站在线播放| 国产精品不卡在线| 午夜视频久久久| 少妇又紧又色又爽又刺激视频| 国精品一区二区| 久久久国产精品x99av | 手机看片一区二区| 国产成人综合在线播放| 欧美大片免费看| 亚洲色图27p| 清纯唯美亚洲综合一区| 中文日韩电影网站| 国产毛片欧美毛片久久久| 性人久久久久| 欧洲一区二区三区在线| 日本精品免费在线观看| 中文字幕在线直播| 日韩欧美国产骚| 亚洲啪啪av| 777电影在线观看| 国产精品日产欧美久久久久| 四虎永久国产精品| www.中文字幕久久久| 国产欧美一区二区三区沐欲| 日韩高清av| 91伦理视频在线观看| 国产精品看片你懂得| 一区二区三区视频在线播放| 精品176二区| 亚洲欧洲精品天堂一级| 国产精品12p| 女人天堂av在线播放| 亚洲成人av一区二区| 无码精品a∨在线观看中文| 男人最爱成人网| 欧美亚洲动漫精品| 一级黄色片在线免费观看| 欧美.com| 亚洲精品久久在线| 亚洲一级黄色录像| 欧美成人久久| 欧美资源在线观看| 中文字幕天堂在线| 国产一区三区三区| 黄色99视频| 国产在成人精品线拍偷自揄拍| 精品亚洲免费视频| 国产精品国模大尺度私拍| 欧美色视频免费| 亚洲欧洲av一区二区三区久久| 国产精品亚洲天堂| sm久久捆绑调教精品一区| 91国内精品野花午夜精品| 人妻少妇精品久久| 免费亚洲电影| 日韩亚洲欧美一区二区三区| 麻豆国产精品一区| 国产高清久久| 色系列之999| 九九九免费视频| 日韩福利电影在线| av成人综合网| 91激情在线| 亚洲成av人在线观看| 男人天堂成人在线| 亚洲精品午夜| 视频在线观看一区二区| 国产真人真事毛片| 精品亚洲免费视频| 日韩免费一区二区三区| 色呦呦在线资源| 欧美日韩国产在线播放网站| 水蜜桃av无码| 一区二区三区午夜视频| 国产成人精品一区二区三区| 超碰在线观看av| 久久久精品影视| av在线观看地址| 高清一区二区中文字幕| 亚洲色图17p| 色网站在线播放| 国产乱人伦精品一区二区在线观看 | 99国产精品免费网站| 中文字幕久热精品在线视频| 国产成人亚洲精品自产在线| 国产精品一二一区| 亚洲精品国产精品国自产观看| 成人ssswww在线播放| 日韩亚洲欧美在线| 国产尤物在线播放| 欧美aaaaaa午夜精品| 鲁片一区二区三区| av资源中文在线| 欧美videofree性高清杂交| 国产乱子轮xxx农村| 色爱综合网欧美| 欧美亚洲视频一区二区| 中文字幕+乱码+中文乱码www| 成人99免费视频| 久久久天堂国产精品| 亚洲图片小说区| 中文字幕精品—区二区| 国产乱码77777777| 久久亚洲春色中文字幕久久久| 一本久道高清无码视频| 亚洲亚洲一区二区三区| 欧美二区在线播放| www五月婷婷| 亚洲一区二区五区| 国产人妖在线观看| 在线 亚洲欧美在线综合一区| 亚洲综合精品一区二区| 亚洲欧美成人影院| 欧美成人一区二区| 国产网友自拍视频| 99久久精品免费精品国产| 免费看日本毛片| 欧美日韩破处视频| www.色综合| 国产人妖在线播放| 91视频91自| 黄色片一级视频| 精品国产一区二区三区四区| 国产精品都在这里| 男人的天堂在线视频免费观看 | 天天影视综合色| 色综合天天综合网中文字幕| 国产精品一区二区三区毛片淫片| 理论片午午伦夜理片在线播放| 在线播放一区二区三区| 国产精品白嫩白嫩大学美女| 成人av网站免费观看| 奇米精品一区二区三区| 99tv成人影院| 色综合视频一区中文字幕| 黄频在线免费观看| 色综合久久天天| sm捆绑调教视频| 成人午夜电影久久影院| 北条麻妃69av| 日本一区二区在线看| 亚洲一区二区三区在线视频| 高清电影在线免费观看| 亚洲天堂日韩电影| 国产免费一区二区三区最新不卡 | 中文字幕观看视频| 亚洲色图在线视频| 呦呦视频在线观看| 精品一区二区三区在线播放 | 99自拍偷拍视频| 国产成人精品综合在线观看| 看av免费毛片手机播放| 欧美大黑bbbbbbbbb在线| 国产精品一区二| 素人一区二区三区| 欧美国产精品日韩| 成年人视频在线看| 欧美成人在线直播| 日韩乱码一区二区| 国产麻豆精品久久一二三| 18禁网站免费无遮挡无码中文 | 亚洲色图日韩av| 国产99视频在线| 国产精品丝袜在线| 绯色av蜜臀vs少妇| 奇米影视在线99精品| www.av蜜桃| 999成人网| 欧美动漫一区二区| 这里视频有精品| 国产欧美日韩精品在线观看 | 狠狠久久五月精品中文字幕| 国产精品亚洲一区二区无码| 日韩av成人高清| 日本www在线视频| 在线中文一区| 五月天色一区| 婷婷亚洲成人| 国产精品一区二区三区免费| 亚洲国产精选| 国产精品美女主播在线观看纯欲| 国产va在线视频| 久久久久久久久国产精品| 日本免费在线视频| 国产亚洲视频在线观看| 日批视频在线播放| 精品少妇一区二区| 国产视频一区二区三区四区五区| 欧美亚洲国产怡红院影院| www.av麻豆| 亚洲第一主播视频| 玖玖爱免费视频| 一级精品视频在线观看宜春院| 91精品又粗又猛又爽| 精品亚洲免费视频| 五月婷婷之婷婷| 奇米色一区二区三区四区| 国产精品亚洲a| 亚洲在线黄色| 丰满少妇被猛烈进入高清播放| 极品日韩av| 欧美日韩不卡在线视频| 欧美午夜电影在线观看 | 精精国产xxxx视频在线野外| 欧美黑人一级爽快片淫片高清| h片在线免费观看| 久久久精品欧美| 国产网友自拍视频导航网站在线观看| 中文字幕自拍vr一区二区三区| 国产在线观看网站| 尤物九九久久国产精品的分类| 国产在线资源| 在线色欧美三级视频| 在线观看av黄网站永久| 精品久久久999| 午夜羞羞小视频在线观看| 欧美黑人xxx| 国产夫妻在线播放| 欧美一级黄色网| 巨胸喷奶水www久久久免费动漫| 国产精品旅馆在线| 国产精一区二区| 岛国一区二区三区高清视频| 美女视频免费精品| 欧美日韩免费观看一区| 久久精品国产99久久| 中文字幕av久久| 极品少妇一区二区三区| 欧美亚洲一二三区| 男女男精品视频网| 久久婷婷中文字幕| av影院午夜一区| 午夜不卡福利视频| 国产风韵犹存在线视精品| 北京富婆泄欲对白| 欧美激情在线一区二区| 日本一级特级毛片视频| 中文一区一区三区免费在线观看| 九九精品视频在线看| 成人一区二区免费视频| 国产毛片一区| 中文字幕第38页| 丁香婷婷综合五月| 一区二区三区四区免费| 国产精品久久久久久户外露出| 欧美偷拍第一页| 无吗不卡中文字幕| 中文字幕人妻色偷偷久久| 日韩一区二区在线播放| 天堂在线中文| 久久精品这里热有精品| 欧美日韩国产观看视频| 国产精品一区二区三| 国产精品超碰| 亚洲欧美99| 在线视频日韩| 久久精品视频在线观看免费| 91原创在线视频| 9999热视频| 欧美主播一区二区三区美女| 韩国av电影在线观看| 中文国产亚洲喷潮| 色是在线视频| 91视频网页| 国产精品x453.com| 精品视频一区二区在线| 国产精品一区二区三区四区| 夫妇露脸对白88av| 精品成人久久av| 亚洲av无码一区二区三区性色 | 成人a在线视频| 久9re热视频这里只有精品| 婷婷视频在线播放| 久久亚洲国产精品一区二区| 日本50路肥熟bbw| 亚洲人成小说网站色在线 | av中文在线资源库| 91久久国产综合久久91精品网站 | 日韩久久一区| 日韩欧美手机在线| 99视频+国产日韩欧美| 国产伦精品一区二区三区妓女下载| 久久精品日产第一区二区三区高清版 | 国产自偷自偷免费一区| 国产精品88av| 潘金莲一级黄色片| 色狠狠桃花综合| 日本成人一区| 国内精品久久久久久影视8| 日韩成人18| 青青草原国产免费| 六月丁香婷婷久久| 日韩毛片无码永久免费看| 狠狠躁夜夜躁人人爽超碰91| 黑人乱码一区二区三区av| 欧美日韩xxxxx| 日韩电影精品| 一区二区高清视频| 蜜桃一区二区三区四区| 国产综合精品久久久久成人av| 色综合久久综合中文综合网| 欧美3p视频在线观看| 午夜精品久久久久久久久久久久 | 国产一区二区中文字幕| 小嫩苞一区二区三区| 欧美精品电影在线播放| 伊人精品一区二区三区| 国产午夜精品免费一区二区三区| 黑人巨大精品| 日本亚洲欧洲精品| 秋霞电影网一区二区| 国产福利在线导航| 欧美日韩一区高清| 欧美一级视频免费| 亚洲一级片在线看| 亚洲人体视频| 日韩av在线电影观看| 麻豆精品在线视频| 成年人午夜剧场| 欧美精品一区二区高清在线观看 | 中文天堂在线资源| 中文字幕一精品亚洲无线一区| 国产91在线播放精品| 只有这里有精品| 不卡欧美aaaaa| 色屁屁影院www国产高清麻豆| 亚洲欧美精品中文字幕在线| 素人一区二区三区| 欧美 日韩 国产 在线观看| 国产99精品国产| 久久久午夜影院| 在线精品91av| 欧美一级大片在线视频| 中国丰满熟妇xxxx性| 久久综合一区二区| 超碰在线97观看| 欧美成人高清视频| 色狼人综合干| 伊人色在线观看| 亚洲国产一区二区视频| 久久免费看视频| 亚洲va码欧洲m码| 国产精品三上| 侵犯稚嫩小箩莉h文系列小说| 亚洲精品一区二区三区蜜桃下载| 97成人资源| 99热这里只有精品免费| 久久青草欧美一区二区三区| 国产精品久久久国产盗摄| 国产69精品久久久| 日韩精品首页| 亚洲啪av永久无码精品放毛片| 在线一区二区三区四区五区 | 日本久久久久久久| 欧美影视一区| 国产视频三区四区| 亚洲国产精久久久久久久| 狠狠久久伊人中文字幕| 国产高清精品在线观看| 亚洲欧美日韩综合aⅴ视频| 毛片网站在线|