精品欧美一区二区三区在线观看 _久久久久国色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精品久久久久久琪琪| 6080国产精品一区二区| 欧美日韩一区在线视频| 中文字幕乱码在线观看| 综合激情在线| 亚洲精品美女久久| av丝袜天堂网| 免费男女羞羞的视频网站在线观看| jizz一区二区| 国产在线日韩在线| 国产精品美女毛片真酒店| 蜜桃tv一区二区三区| 这里只有精品电影| 欧美精品成人网| 欧美性猛片xxxxx免费中国| 久久午夜羞羞影院免费观看| 91久久精品国产91久久性色| 啦啦啦免费高清视频在线观看| 99久久综合| 亚洲精品自拍视频| 日本55丰满熟妇厨房伦| 视频二区不卡| 亚洲综合一二区| 色综合久久久久久久久五月| 日本免费一区视频| 精品一区二区三区av| 国产91精品久久久久久| 69av视频在线| 久久综合电影| 亚洲午夜精品视频| 国产精品手机在线观看| 国产成人免费视频网站视频社区 | 蜜臀av国产精品久久久久| 欧美激情精品久久久久久黑人| 国产1区2区在线观看| 久久中文字幕导航| 日韩欧美国产成人一区二区| 亚洲黄色小视频在线观看| 97蜜桃久久| 伊人色综合久久天天人手人婷| 亚洲精品二区| 国产精品免费播放| 久久综合狠狠综合久久综合88| 国产成人亚洲欧美| 亚洲av无码乱码国产麻豆| 久久国产三级精品| 国产精品天天狠天天看| 性高潮视频在线观看| 免费看黄裸体一级大秀欧美| 97国产精品人人爽人人做| 日本 欧美 国产| 久久高清免费| 精品国产一区av| 亚洲欧美精品久久| 午夜影院欧美| 免费91麻豆精品国产自产在线观看| 人与动物性xxxx| 98精品视频| 久久精品2019中文字幕| 成年人视频软件| 99久久精品费精品国产| 日韩在线中文字幕| 少妇高潮一区二区三区喷水| 欧美国产一级| 欧美日本啪啪无遮挡网站| 久久精品视频免费在线观看| 欧美日韩国产欧| 高清欧美性猛交| 欧美三日本三级少妇99| 欧美一级久久| 国产精品欧美亚洲777777| 真实的国产乱xxxx在线91| 理论电影国产精品| 亚洲一区二区三区sesese| wwwxxxx国产| av毛片久久久久**hd| 久久人人爽爽人人爽人人片av| 性xxxxbbbb| 国产欧美一区二区精品性色超碰| 亚洲国产精品久久久久婷婷老年 | 国产精品天干天干在观线| 亚洲欧美日韩国产yyy| 蜜芽在线免费观看| 一区二区三区中文字幕精品精品 | 日韩一级完整毛片| 91九色蝌蚪porny| 女厕嘘嘘一区二区在线播放 | 亚洲第一国产精品| 少妇特黄一区二区三区| 久久在线视频| 97久久超碰福利国产精品…| 亚洲婷婷久久综合| 国产精品一卡二卡| 欧美极品视频一区二区三区| 欧美69xxxx| 欧美日韩免费看| 毛片毛片毛片毛| 色婷婷狠狠五月综合天色拍| 日韩中文字幕在线看| 精品少妇theporn| 日韩不卡在线观看日韩不卡视频| 亚洲综合色激情五月| 色资源在线观看| 国产精品剧情在线亚洲| 精品久久一二三| 亚洲综合资源| 亚洲三级免费看| 强乱中文字幕av一区乱码| 久久久久久久欧美精品| 91久久爱成人| 91av资源在线| 欧美色欧美亚洲高清在线视频| 婷婷中文字幕在线观看| 久久爱www成人| 欧美黄色片免费观看| 怡红院男人天堂| 91视频免费播放| 欧美久久久久久久久久久久久久| 欧美福利在线播放| 亚洲精品美女在线| 久久机热这里只有精品| 久久精品国产精品亚洲红杏| 欧美理论一区二区| 四虎亚洲精品| 69p69国产精品| 五月婷婷婷婷婷| 久久成人亚洲| 久久艳妇乳肉豪妇荡乳av| av网址在线免费观看| 欧美日韩综合在线| 欧美 日韩 国产 成人 在线观看 | 韩国19禁主播vip福利视频| 中文字幕视频二区| 国产色爱av资源综合区| 春日野结衣av| 无码日韩精品一区二区免费| 欧美精品www| 亚洲风情第一页| 亚洲男人电影天堂| 亚洲精品国产一区二区三区| 日韩成人影院| 国产日韩欧美夫妻视频在线观看| 国产福利片在线| 在线亚洲高清视频| 人人人妻人人澡人人爽欧美一区| 亚洲在线电影| 欧美日韩国产综合在线| 亚洲v.com| 日韩精品高清在线观看| 日本黄色片视频| 白白色 亚洲乱淫| 分分操这里只有精品| 成午夜精品一区二区三区软件| 久久国产视频网站| 国产高清免费av| 亚洲香肠在线观看| 欧美夫妇交换xxx| 99视频一区| 欧美性bbwbbwbbwhd| 婷婷综合六月| 中文字幕亚洲无线码在线一区| 亚洲中文一区二区三区| 成人欧美一区二区三区在线播放| 国产三级精品三级在线| 亚洲字幕久久| 国产伦精品一区二区三区高清| 超免费在线视频| 亚洲精品中文字幕女同| 黄色污污视频软件| 一区二区中文视频| 韩国三级在线播放| 亚洲日本视频| 日韩久久久久久久| 国产精品成人**免费视频| 欧美乱大交xxxxx| 十九岁完整版在线观看好看云免费| 色欲综合视频天天天| 日本视频在线免费| 国产成人av电影在线播放| 性欧美大战久久久久久久| 免费精品国产| 91网站在线免费观看| 国产又色又爽又黄刺激在线视频| 日韩成人在线视频| 在线观看日韩一区二区| 亚洲一区成人在线| www.狠狠爱| 国产精品资源在线| 日批视频在线免费看| 久久亚洲国产| 国产综合 伊人色| 欧美日韩五区| 欧美高清视频在线播放| 精品无人乱码| 日韩美一区二区三区| 台湾佬中文在线| 亚洲女厕所小便bbb| 国产精品亚洲无码| 国产精一区二区三区| 国产欧美高清在线| 欧美日韩国内| 亚洲精品乱码视频| 欧美三级电影在线| 亚洲最大激情中文字幕| 午夜无码国产理论在线| 欧美激情精品久久久久久变态| 国产中文字幕在线看| 欧美成人精精品一区二区频| 日本成人一级片| 午夜av电影一区| 欧美色图亚洲天堂| 国产精品乱码一区二区三区软件| 久久久久亚洲AV成人无码国产| 久久国产生活片100| 成人一区二区三| 伊人久久综合| www.18av.com| 国产精品久久占久久| 日本一区二区在线| 久久精品凹凸全集| 91青青草免费观看| 欧美午夜三级| 国产精品高潮呻吟久久av黑人| 国产中文在线播放| 欧美精品福利在线| 最新超碰在线| xxxx欧美18另类的高清| 国产中文在线视频| 亚洲欧美资源在线| 深夜福利免费在线观看| 亚洲福利在线视频| 高清国产mv在线观看| 欧美一区二区黄| 99久久久国产精品无码免费| 欧美日韩美少妇| 老熟妇一区二区三区啪啪| 欧美日韩中国免费专区在线看| 日韩免费不卡视频| 亚洲韩国精品一区| 久久综合亚洲色hezyo国产| 亚洲欧美另类久久久精品| 亚洲人做受高潮| 国产精品第五页| chinese全程对白| 亚洲日本成人在线观看| 国产小视频你懂的| 亚洲欧美视频在线观看视频| 很污很黄的网站| 中文字幕一区二区三区在线观看| 老司机福利在线观看| 国产精品久久久久永久免费观看| 内射毛片内射国产夫妻| 中文字幕巨乱亚洲| 91视频最新网址| 亚洲精选视频免费看| 久久精品这里只有精品| 亚洲最大成人网4388xx| 日本三级黄色大片| 欧美日韩另类视频| 午夜一区二区三区四区| 欧美私模裸体表演在线观看| 国产又大又长又粗| 日韩一区二区三区三四区视频在线观看 | 亚洲国产精品第一区二区| 亚洲人成无码网站久久99热国产 | 中文字幕亚洲影院| 国产精品 日产精品 欧美精品| 欧美日韩一区二区区| 成人福利视频在线看| 一级特级黄色片| 欧美国产一区在线| 少妇高潮在线观看| 一级特黄大欧美久久久| 日韩三级视频在线| 欧美在线观看视频一区二区 | 怡红院成人在线| 国产日产亚洲精品| 97久久综合精品久久久综合| 久久福利电影| 久久一区二区三区电影| 真实国产乱子伦对白视频| 欧美一级专区| 男人操女人下面视频| av亚洲精华国产精华精华| 最新中文字幕av| 亚洲五码中文字幕| 中文字幕免费高清网站| 91精品久久久久久久91蜜桃 | 色偷偷偷综合中文字幕;dd| 成人短视频在线观看| 欧美一性一乱一交一视频| 成人国产一区| 国产91精品一区二区绿帽| 欧美日韩有码| 妺妺窝人体色www看人体| 亚洲综合不卡| 亚洲成人手机在线观看| av一二三不卡影片| 中文字幕在线观看2018| 黄色一区二区三区| 国产精品一二三四五区| 日韩成人xxxx| 69成人在线| 国产精品亚洲精品| 欧美一区自拍| 久久免费一级片| 青青草国产精品亚洲专区无| 人妻换人妻a片爽麻豆| 欧美国产一区二区在线观看| 五月天综合在线| 欧美猛男超大videosgay| 香蕉视频国产在线| 欧美激情欧美激情| 日韩欧乱色一区二区三区在线| 久久综合九色欧美狠狠| 狠狠入ady亚洲精品| 亚洲欧美自偷自拍另类| 91免费观看国产| 国产一级黄色av| 欧美日韩不卡在线| 视频午夜在线| 97国产一区二区精品久久呦| 久久久久久久久成人| 亚洲精品成人三区| 日本在线不卡视频一二三区| 制服丝袜第二页| 亚洲图片欧美一区| 国产成人免费看一级大黄| 色综合影院在线| 成人看片网页| 日本a级片久久久| 一区二区高清| 国产污在线观看| 亚洲综合色丁香婷婷六月图片| 国产又粗又黄又爽的视频| 亚洲视频在线免费观看| 神马久久午夜| 久久99精品久久久久久久久久| 伊人久久亚洲影院| 国产婷婷在线观看| 亚洲一区二区视频| 亚洲精品.www| 久久久久久999| 大奶在线精品| www国产精品内射老熟女| 成人午夜视频免费看| 久久亚洲AV无码| 亚洲国产精品成人va在线观看| 久久香蕉av| 精品国产乱码久久久久| 国产视频欧美| 欧洲女同同性吃奶| 在线观看欧美黄色| 日本亚洲精品| 成人网在线观看| 欧美不卡高清| 99精品一区二区三区无码吞精| 亚洲va欧美va人人爽| 性xxxx视频播放免费| 日本一区二区在线播放| 精品大片一区二区| 天堂av8在线| 亚洲精品菠萝久久久久久久| 丰满少妇一级片| 欧美亚州一区二区三区| 亚洲ab电影| 在线视频日韩一区| 亚洲欧美日韩国产中文在线| 精品国产999久久久免费| 国模gogo一区二区大胆私拍| 日韩欧美在线精品| 北条麻妃在线视频| 1000精品久久久久久久久| 亚洲第一天堂影院| 日韩69视频在线观看| 99久久久久国产精品| 丰满熟女人妻一区二区三区| 欧美日韩亚洲一区二区三区| 成人亚洲综合天堂| 亚洲va久久久噜噜噜| 日韩图片一区| 亚洲色图日韩精品| 日韩一级高清毛片| 中文字幕在线看片| 一区不卡字幕| 99精品热视频| 在线免费看毛片| 国内精品小视频| 日韩久久综合| 国产一卡二卡三卡四卡| 欧美日韩一区二区欧美激情 | 国产精品va在线播放我和闺蜜| 99久久影视| 亚洲av片不卡无码久久| 欧美日韩一区成人| 狠狠操一区二区三区| 一区二区三区四区| 91在线看国产| jizz国产视频| 国产精品wwwwww|