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

深度剖析CloudFoundry的架構設計

云計算
本文會分為兩個部份:第一部份主要介紹CloudFoundry的架構設計,從它所包含的模塊介紹起,到各部份的消息流向,各模塊如何協調合作;第二部份會在第一部份的基礎上,以如何在你的數據中心里面用CloudFoundry部署一個私有PaaS為目標,把第一部分介紹到的架構知識使用起來。

VMware在今年4月份突然發布了業內第一個開源的PaaS——CloudFoundry。發布至今的這幾個月里,筆者一直關注它的演進,并從它的架構設計中獲益良多,覺得有必要寫出來與大家分享一下。

本文會分為兩個部份:第一部份主要介紹CloudFoundry的架構設計,從它所包含的模塊介紹起,到各部份的消息流向,各模塊如何協調合作;第二部份會在第一部份的基礎上,以如何在你的數據中心里面用CloudFoundry部署一個私有PaaS為目標,把第一部分介紹到的架構知識使用起來。

第一部份講的很多內容,會引用Pat在10月12日的VMwareCloud Forum上面關于CloudFoundry架構的演講。Pat是CloudFoundry Core的負責人,他的那次演講很值得一聽。如果你當時在場,并且理解他所說的內容,本部份可以選擇直接跳過。我除了會把說的內容講具體點外,不太可能可以講得比他好。

一、架構及模塊

從總體地看,CloudFoundry的架構如下:

 

 

這個架構圖以及下文所用到的各模塊架構圖均來自Pat的PPT。從上圖能夠看到CloudFoundry主要有以下幾大組件組成:

1、 Router:顧名思義,Router組件在CloudFoundry中是對所有進來的Request進行路由。進入Router的request主要有兩類:首先是來自VMCClient或者STS的,由CloudFoundry使用者發出的,管理型指令。

例如:列出你所有apps的vmcapps,提交一個apps等等。這類request會被路由到AppLife Management組件,又叫CloudController組件去;第二類是外界對你所部署的apps訪問的request。這部份requests會被路由到Appexecution,又或者叫做DEAs的組件去。所有進入CloudFoundry系統的requests都會經過Router組件,看到這里可能會有朋友會擔心Router成為單點,從而成為整個云的瓶頸。

但是CloudFoundry作為云系統,其設計的核心就是去單點依賴,組件平行擴充,且可替代的以保證擴展性,這是CloudFoundry,甚至所有云計算系統的設計原則,后文會討論CloudFoundry如何做到這點,目前只要知道,系統可以部署多個Routers共同處理進來的requests,但是Router上層的LoadBalance不在CloudFoundry的實現范圍,CloudFoundry只保證所有的request是無狀態的,這樣就使上層均衡附載選擇面非常非常大了,例如可以通過DNS做,也可以部署硬件的LoadBalancer,或者簡單點,弄臺ngnix作負載均衡器,都是可行的。

#p#

Router組件,目前版本是對nginx的一個簡單封裝。熟悉ngnix的朋友應該知道,它可以一個套接字文件(.sock文件)作為輸入輸出。所有安裝CloudFoundry的Router組件服務器都會安裝一個nginx,其ngnix.conf文件有以下配置:

 

從整體的來看,Router組件的結構如下:

 

 

2、DEA(Droplet Execution Agency): 首先要解析下什么叫做Droplet。Droplet在CloudFoundry的概念里面是指一個把你提交的源代碼,以及CloudFoundry配套好的運行環境,再加上一些管理腳本,例如Start/Stop這些小腳本全部壓縮好在一起的tar包。還有一個概念,叫做Stagingapp,就是指制作上面描述這個包,然后把它存儲好的過程。CloudFoundry會自動保存這個Droplet,直到你start一個app的時候,一臺部署了DEA模塊的服務器會來拿一個Droplet的copy去運行。所以如果你擴展你的app到10個instances,那這個Droplet就被會復制十份,讓10個DEA服務器拿去運行。

#p#

下圖是DEA模塊的架構圖:

 

Cloud Controller模塊(下面會介紹)會發送start/stop等基本的apps管理請求給DEA,dea.rb接收這些請求,然后從NFS里面找到合適的Droplet。前面說到Droplet其實是一個帶有運行腳本的,帶運行環境的tar包,DEA只需要把它拿過來解壓,并即行里面的start腳本,就可以讓這個app跑起來。到此,app算是可以訪問,并start起來了,換句話說就是有這臺服務器的某一個端口已經在待命,只要有request從這個端口進來,這個app就可以接收并返回正確的信息。

接著dea.rb要做些善后的工作:1、把這個信息告訴Router模塊。我們前面說到,所有進入CloudFoundry的requests都是由Router模塊處理并轉發的,包括用戶對app的訪問request,一個app起來后,需要告訴router,讓它根據loadbalance等原則,把合適的request轉進來,使這個app的instance能夠干起活;2、一些統計性的工作,例如要把這個用戶又新部署了一個app告訴CloudController,以作quota控制等;3、把運行信息告訴HealthManager模塊,實時報告該app的instance運行情況。另外DEA還要負責部份對Droplet的查詢工作,譬如,如果用戶通過CloudController想查詢一個app的log信息,那DEA需要從該Droplet里面取到log返回等等。

3、CloudController:CloudController是CloudFoundry的管理模塊。主要工作包括:

a) 對apps的增刪改讀;

b) 啟動、停止應用程序;

c) Staging apps(把apps打包成一個droplet);

d) 修改應用程序運行環境,包括instance、mem等等;

e) 管理service,包括service與app的綁定等;

f) Cloud環境的管理;

g) 修改Cloud的用戶信息;

h) 查看Cloud Foundry,以及每一個app的log信息。

這似乎有點復雜,但簡單的說,可以很簡單:就是與VMC和STS交互的服務器端。VMC和STS與CloudFoundry通信采用的是restful接口,另一方面CloudController是一個典型的Rubyon Rails項目,從VMC或者STS接到JSON格式的協議,然后寫入CloudController Database,并發消息到各模快去控制管理整個云。和其他ROR項目一樣,CloudController的所有API可以從conf/routes.rb里看到。開放的Restful接口好處在于第三方應用開發和集成,企業在用CloudFoundry部署私有云的時候,可以通過這些接口來自動化控制管理整個Cloud環境。這部份內容將在第二部份論述。

#p#

下圖是Cloud Controller的架構圖:

 

圖中Health Manager和DEA是外部模塊,CCDatabase就是CloudController Database,這個是整個CloudFoundry不能做HP的地方。CloudController Database的并發性不會很多,應用級別的數據庫訪問是由底下的Service模塊處理的,這個數據庫存的是Cloud的配置信息。讀操作主要來自DEA啟動,作為初始化DEA的依據;以及healthmanager模塊會從這里讀取預期的狀態信息,這部份數據會與從DEA得到的實際狀態信息進行比對。

NFS是多個CloudController的共享存儲,CloudController其中一個重要工作就是StagingApps。Droplets的存儲是在集群環境的唯一的。而CloudController是集群運行,換言之,就是每一個控制Request可能由不同的CloudController處理,假設一個簡單的用戶場景:我們需要部署一個app到CloudFoundry中。我們在敲完那條簡單的push命令后,VMC開始工作,在做完一輪的用戶鑒權、查看所部署的apps數量是否超過預定數額,問了一堆相關app的問題后,需要發4個指令:

1.發一個POST到”apps”,創建一個app;

2.發一個PUT到”apps/:name/application”,上傳app;

3.發一個GET到”apps/:name/”,取得app狀態,看看是否已經啟動;

4.如果沒有啟動,發一個PUT到”apps/:name/”,使其啟動。

如果第2和第4步由不同的Cloud Controller來處理,而又無法保證他們能找到同一個Droplet,那第4步將會因為找不到對應的Droplet而啟動失敗。如何保證這一連串指令過來所指向的Droplet都是同一個呢?使用NFS,使CloudController共享存儲是最簡單的方法。但是這個方法在安全性等方面并不完美。在10月12日的VMwareCloud Forum上,Pat告訴我們下一版本的CloudFoundry這里將會有大調整,但是在那部份代碼公開前,我不方便在這評價太多。

4、HealthManager: 做的事情不復雜,簡單的說是從各個DEA里面拿到運行信息,然后進行統計分析,報告等。統計數據會與CloudController的設定指標進行比對,并提供Alert等。HealthManager模塊目前還不是十分完善,但是CloudManage棧里面,自動化health管理、分析是一個很重要的領域,而這方面可以擴展的地方也很多,結合OrchestrationEngine可以使云自管理、自預警;而與BI方面技術結合,可以統計運營情況,合理分配資源等。這方面CloudFoundry還在發展之中。

5、Services:Cloud Foundry的Service模塊從源代碼控制上看就知道是一個獨立的、可Plugin的模塊,以方便第三方把自己的服務整合入CloudFoundry生態系統。在Github上看到service是與CloudFoundry Core項目vcap獨立的一個repository,為vcap-service。Service模塊其中設計原則是方便第三方服務提供商提供服務。在這方面CloudFoundry做得很成功,從Github上看,已經有以下服務提供:a)MongoDB; b) mysql; c) neo4j; d) PostgreSql; e) RabbitMQ; f) Redis; g)vBlob。基類都是放在base文件夾中。

#p#

第三方如果需要自己開發CloudFoundry的服務,需要繼承改寫它里面的兩個基礎類:Node和Gateway;而里面一些操作,如:Provision,可以在base的provisioner.rb基礎上加入自己的邏輯,同樣的還有Service_Error和Service_Message等。關于如何寫自己的Service,ELC的博客會推出相應文章詳細論述,并不在本文的討論范圍里面,從架構了解上來說,只要知道服務間的關系,知道個服務與base間透過繼承關系來橫向擴充,而CloudFoundry與apps調用Service是通過base來完成這一簡單的架構方法即可。

6、NATS(Message bus): 從CloudFoundry的總架構圖看,位于各模塊中心位置的是一個叫nats的組件。NATS是由CloudFoundry的架構師Derek開發的一個輕量級的,支持發布、訂閱機制的消息系統。Github開源地址是:https://github.com/derekcollison/nats。其核心基于EventMachine開發,代碼量不多,可以下載下來慢慢研究。

CloudFoundry是一個多模塊的分布式系統,支持模塊自發現,錯誤自檢,且模塊間低耦合。其核心原理就是基于消息發布訂閱機制。每個臺服務器上的每個模塊會根據自己的消息類別,向MessageBus發布多個消息主題;而同時也向自己需要交互的模塊,按照需要的信息內容的消息主題訂閱消息。譬如:一個DEA被加入CloudFoundry集群中,它需要向大家吼一下,以表明它已經準備好服務了,它會發布一個主題是”dea.start”的消息:

@ hello_message_json中包括DEA的UUID,ip, port, 版本信息等內容。

再例如,CloudController需要啟動一個Droplet的instance:

a)首先一個DEA在啟動的時候,會首先會對自己UUID的消息主題進行訂閱。

 

其他模塊需要通過’’dea.#{uuid}.start”這個主題發送消息來使它啟動,一旦這個DEA接收到消息,就會觸發process_dea_start(msg)這個方法來處理啟動所需要的工作。

b)Cloud Controller或者其他模塊發送消息,讓UUID為xxx的DEA啟動。

c)DEA模塊接收到消息后,就會觸發process_dea_start(msg)方法。msg是由其他模塊發送過來的消息內容,包括:droplet_id,instance_index, service, runtime等內容,process_dea_start會取得這些啟動DEA必須的信息,然后進行一系列操作,例如從NFS中取得Droplet,解壓,修改必要環境配置,運行啟動腳本等等。等一切都準備好后,然后需要給Router發個消息,告訴它這個Droplet已經隨時準備好報效國家,以后有相應的request記得讓它來處理。

 

 

d)Router模塊在啟動時就已經訂閱”router.register”消息主題。

 

 

收到前面DEA發出的信息后,會觸發register_droplet方法,去綁定Droplet。到此啟動一個Droplet的instance工作完成。

#p#

我們可以看到整個CloudFoundry的核心就是一套消息系統,如果想了解CloudFoundry的來龍去脈,去跟蹤它里面復雜的消息機制是非常好的方法。另一方面,CloudFoundry是一套基于消息的分布式系統,面向消息的架構是它節點橫向擴展,組件自發現等云特性的基礎。

Cloud Foundry的架構簡單介紹至此,其實作為第一款開源的PaaS,CloudFoundry架構有很多可以學習借鑒的地方,很多細節上的處理是很精妙的,這些內容如果有可能會在后續文章繼續探討,本文題雖為深入CloudFoundry,其實也只是淺嘗即止,把總體架構介紹一下,目標在于使我們有足夠的背景知識去用CloudFoundry搭建企業內部的私有PaaS。總結一下,筆者從CloudFoundry的結構中學到的東西:

1、基于消息的多組件架構是實現集群的簡單、且有效方法。消息可以使集群節點間解耦,使自注冊,自發現這些在大規模數據中心中很重要的功能得到實現;

2、適當的抽象層,模板模式的使用,方便第三方可以方便在CloudFoundry開發擴展功能。CloudFoundry在DEA及Service層都做了抽象層處理,相對應地使開發者可以容易地為CloudFoundry開發Runtime和Service。例如,在CloudFoundry剛推出的時候,只支持Node.js,Java, Ruby,但第三方提供商、開源社區快速跟進,為CloudFoundry添加了PHP,Python的支持。這得益于CloudFoundry精巧的DEA架構設計,如何開發新的Runtime支持,會在后續博文中有所論述.

二、源碼導讀

筆者一直覺得深入理解一個技術的最好方法就是讀它的源碼,而CloudFoundry是完全開源的PaaS平臺,而因為剛發展起來,代碼量不多,主要作者們的代碼功力也相當不錯,讀起來很舒服,很適合研讀。而不得不再次表揚一下它完全基于消息機制的架構設計,對組件擴展性,第三方接入等方面做得很好,讀者可以從中學到不少思想性的東西。筆者很推薦大家去讀一下它的源代碼。你可以在Github上找到CloudFoundry的全部代碼:https://github.com/cloudfoundry,你會看到幾個不同的Repositories,它們分別是:

1、vcap: Cloud Foundry的Core,又或者稱作Kernel;

2、vcap-service: Cloud Foundry的Service組件。Cloud Foundry的service是作為插件提供的,這出于它方便第三方開發service而設計的;

3、vmc: VMware Cloud CLI. 是一個Ruby應用,與Cloud Foundry的CLI交互。主要通過分析用戶輸入的CLI,向CloudFoundry發送Restful請求;

4、vcap-java: 如果你的app是用java開發,且需要與Cloud Foundry交互,例如取得當前serviceserver的ip地址等,你可能需要這個jar,里面對我們Java開發常用框架有所支持,它底層也是對CloudFoundry的Restful請求的包裝;

5、vcap-java-client: Cloud Foundry的Restful API的Java封裝,與上面的項目不一樣,它只是個簡單的讀取CloudFoundry信息,并放如JavaBean中;

6、vcap-test: Cloud Foundry的test cases;

7、vcap-test-assets: Cloud Foundry一些apps示例。

原文鏈接:http://qing.weibo.com/2294942122/88ca09aa330004r8.html

責任編輯:芳馨 來源: 博客
相關推薦

2024-03-14 08:33:13

kafka三高架構Zookeeper

2021-11-01 17:17:13

Kafka 高并發場景

2014-11-06 09:49:22

CloudFoundrPaaS

2025-01-15 08:10:29

Java架構代碼

2022-11-11 10:48:55

AQS源碼架構

2025-06-27 09:24:38

MCP服務器系統

2025-04-15 04:00:00

2022-11-07 09:25:02

Kafka存儲架構

2022-03-29 15:10:22

架構設計模型

2009-12-07 18:43:29

WCF框架

2010-02-06 15:32:30

Android架構

2024-03-12 12:57:07

Redis主從架構

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2023-05-12 08:06:46

Kubernetes多云架構

2023-07-03 17:15:12

系統架構設計

2021-07-07 10:00:03

深度學習系統機構

2016-08-24 16:23:36

服務架構

2015-06-02 04:17:44

架構設計審架構設計說明書

2025-05-09 08:45:13

2023-07-05 08:00:52

MetrAuto系統架構
點贊
收藏

51CTO技術棧公眾號

菠萝蜜视频国产在线播放| 国产成人av免费| 91蜜桃臀久久一区二区| 精品福利免费观看| 午夜精品亚洲一区二区三区嫩草| 国产一区二区网站| 亚洲高清在线| 国产一区二区三区在线看 | 精品动漫3d一区二区三区免费| 亚洲成人网在线观看| 天天天干夜夜夜操| 免费在线看污片| 国产婷婷色一区二区三区四区| 亚洲a∨日韩av高清在线观看| 日韩污视频在线观看| 日韩午夜电影网| 日韩国产欧美区| www.日本久久| 先锋欧美三级| 性欧美疯狂xxxxbbbb| 伊人精品久久久久7777| 三级网站免费观看| 久草中文综合在线| 欧美孕妇孕交黑巨大网站| 丝袜美腿小色网| 国产真实有声精品录音| 欧美精品一区二区三区蜜臀| 岛国av在线免费| 在线精品亚洲欧美日韩国产| 一区二区三区色| 亚洲精品成人三区| 亚洲欧美色视频| 国产成人在线免费观看| 国产精品一香蕉国产线看观看| 国产一级片毛片| 亚洲无线一线二线三线区别av| 中文字幕精品在线视频| 欧美熟妇精品黑人巨大一二三区| 日韩精品一级毛片在线播放| 色婷婷久久一区二区三区麻豆| 日韩网站在线免费观看| 超碰在线caoporn| 国产精品欧美一区二区三区| 欧美在线播放一区| 天天躁日日躁狠狠躁伊人| 国产成人自拍网| 亚洲最大的网站| 999久久久久久| 狠狠色2019综合网| 国产日韩欧美日韩| 无码人妻精品一区二区三区蜜桃91| 在线成人欧美| 性欧美激情精品| 国产一级片免费| 欧美午夜在线| 欧美激情亚洲另类| 欧美日韩精品在线观看视频| 亚洲国产精品日韩专区av有中文| 日韩中文在线观看| 来吧亚洲综合网| 图片区亚洲欧美小说区| 日韩在线观看av| 欧美特黄一级片| 亚洲色图网站| 欧美激情综合色综合啪啪五月| 欧美日韩中文字幕在线观看| 色综合五月天| 伊人久久五月天| 三级影片在线观看| 国产精品国产三级国产在线观看| 久久夜精品va视频免费观看| 成年人av电影| 亚洲国产午夜| 日本精品在线视频| 中国精品一区二区| 久久er精品视频| caoporn国产精品免费公开| 高潮一区二区三区乱码| 97国产精品videossex| 欧美精品一区二区三区久久| shkd中文字幕久久在线观看| 亚洲欧洲在线观看av| 日本中文字幕一级片| av在线不卡免费| 色天使色偷偷av一区二区| 免费看污污网站| 久久伦理中文字幕| 亚洲第一黄色网| 超碰人人干人人| 欧美 日韩 国产精品免费观看| 91国偷自产一区二区三区的观看方式| 黄色片网站在线免费观看| 日本va欧美va精品| 91视频免费进入| 精品亚洲综合| 亚洲欧美欧美一区二区三区| 日本一区二区黄色| 青青青国产精品| 亚洲加勒比久久88色综合| 欧美午夜激情影院| 激情av一区| 国产精品xxxxx| 亚洲国产精品成人久久蜜臀| 久久精品夜色噜噜亚洲aⅴ| 只有这里有精品| 日本午夜大片a在线观看| 欧美日韩视频不卡| 国产麻豆剧传媒精品国产av| 久久中文视频| 亚州成人av在线| 国产一区二区在线不卡| 91一区二区在线观看| 一区二区不卡在线观看| 3344国产永久在线观看视频| 欧美日韩免费高清一区色橹橹| 亚洲精品国产成人av在线| 久久在线视频| 国产成人97精品免费看片| 亚洲黄色a级片| 国产精品欧美极品| 日本中文字幕片| 在线播放一区二区精品视频| 中文字幕欧美视频在线| 精品成人久久久| 国产精品中文字幕日韩精品| 97超碰欧美中文字幕| 国产激情偷乱视频一区二区三区| 91精品视频免费看| 国产鲁鲁视频在线观看免费| 亚洲高清不卡在线| 亚洲图片 自拍偷拍| 国产乱码精品一区二区三区四区| 欧美精品videosex极品1| 国产精品久久久久久久久毛片| 久久午夜免费电影| 国产乱淫av片杨贵妃| 国产午夜亚洲精品一级在线| 中文字幕亚洲图片| www.国产毛片| 久久色成人在线| 欧美成人免费在线观看视频| 1204国产成人精品视频| 久久91亚洲精品中文字幕| 国产乱码一区二区| 中文字幕中文字幕一区| 特级丰满少妇一级| 精品少妇av| 国产成人亚洲综合91| 极品美乳网红视频免费在线观看| 天天操天天综合网| 国产精品无码专区| 亚洲福利专区| 狠狠色综合一区二区| 日本不卡影院| 精品盗摄一区二区三区| 欧美成人黄色网| 从欧美一区二区三区| www.avtt| 女同久久另类99精品国产| 91精品国产91久久久久久| 深夜福利视频网站| 精品久久久久久亚洲精品| 91精品国产自产| 久久精品五月| 亚洲精品中字| 久久av偷拍| 久久免费视频在线| 图片区 小说区 区 亚洲五月| 亚洲国产一区视频| 一出一进一爽一粗一大视频| 亚久久调教视频| 蜜桃欧美视频| 成人av色网站| 欧美大尺度激情区在线播放| 日本高清视频www| 欧美性生活大片免费观看网址 | www.亚洲色图.com| 成人av一级片| 久久综合国产| 国产激情一区二区三区在线观看| 182在线视频观看| 亚洲欧美精品一区| 中国一区二区视频| 亚洲另类在线视频| 久久久久国产精品无码免费看| 老鸭窝91久久精品色噜噜导演| 日本在线观看一区| av在线亚洲一区| 韩国日本不卡在线| 国产一级片在线播放| 欧美一级免费大片| 亚洲婷婷综合网| 亚洲日本在线天堂| 亚洲av网址在线| 九九精品视频在线看| 91亚洲精品国产| 精品国产一级毛片| 97人人香蕉| 91成人抖音| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 一本一本久久| 伊人天天久久大香线蕉av色| 久本草在线中文字幕亚洲| 日本在线观看天堂男亚洲 | 国产成人亚洲精品无码h在线| 水蜜桃久久夜色精品一区| 国产美女在线精品免费观看| 欧美极品在线| 69久久夜色精品国产69乱青草| 91精彩在线视频| 日韩精品视频在线播放| 国产乱子伦精品无码码专区| 色综合天天天天做夜夜夜夜做| 波多野结衣亚洲色图| 久久亚洲综合色一区二区三区| 男女污污视频网站| 久久三级视频| 亚洲国产成人精品无码区99| 亚洲va在线| 日韩区国产区| 亚洲精品动态| 国产女主播一区二区| 精品一区91| 国产精品夜间视频香蕉| 中文字幕21页在线看| 久久久久久久久国产精品| 麻豆免费在线视频| 国产亚洲精品一区二555| 无码国产色欲xxxx视频| 日韩免费高清视频| 一级α片免费看刺激高潮视频| 日韩欧美在线视频日韩欧美在线视频| 久久久久久久久久久久国产| 亚洲色大成网站www久久九九| 四虎永久免费在线观看| 99久久婷婷国产| 成人性生活免费看| 成人免费高清视频| 中文字幕在线国产| 国产盗摄女厕一区二区三区| 91性高潮久久久久久久| 激情综合网av| 黄色a级三级三级三级| 韩国成人福利片在线播放| 8x8x成人免费视频| 久久9热精品视频| 中国黄色片一级| 精品一区二区综合| 色天使在线观看| 国产综合成人久久大片91| 九九九九九国产| 韩国理伦片一区二区三区在线播放 | 成人黄色网址| 不卡av电影在线观看| 中文字幕免费高清电视剧网站在线观看| 久久精彩免费视频| 国产黄色小视频在线| 久久99热这里只有精品国产| 污污视频在线| 久久久久久有精品国产| 美女在线视频免费| 国产不卡视频在线| 电影久久久久久| 国产在线不卡精品| 欧美激情精品| 国产精品日韩欧美一区二区| 日韩av不卡一区| 欧美日韩在线高清| 日韩精品一区二区三区免费观影 | 亚洲一区亚洲二区| 狂野欧美xxxx韩国少妇| 高清不卡一区二区三区| 日日天天久久| 亚洲开发第一视频在线播放| 亚洲精品国产首次亮相| 日本wwwcom| 日韩主播视频在线| 一级网站在线观看| fc2成人免费人成在线观看播放| 在线不卡av电影| 亚洲视频香蕉人妖| 日本熟妇毛茸茸丰满| 日本精品一区二区三区四区的功能| 国产一区二区在线播放视频| 欧美videofree性高清杂交| 天堂a√在线| 中文字幕久久亚洲| h片精品在线观看| 国产经典一区二区| 日韩高清在线观看一区二区| 久久亚洲午夜电影| 一区二区蜜桃| 黄色影院一级片| 久久国产剧场电影| 男人网站在线观看| 国产精品免费看片| 日本熟妇色xxxxx日本免费看| 欧美视频精品在线观看| 亚洲第一视频在线| 亚洲一级黄色av| 日本在线视频网址| 国产精品视频男人的天堂| 国产精品1luya在线播放| 天天爽天天狠久久久| 黑人一区二区三区四区五区| 亚洲免费看av| 久久尤物电影视频在线观看| 精品国产欧美日韩不卡在线观看| 欧美日韩在线免费| www.麻豆av| 丝袜情趣国产精品| 亚洲天堂电影| 风间由美久久久| 93在线视频精品免费观看| 看av免费毛片手机播放| 国产又黄又大久久| 午夜影院黄色片| 一本大道久久a久久综合| 亚洲av少妇一区二区在线观看| 视频在线观看99| 亚洲精品在线影院| 久久综合九九| 日韩网站在线| 在线xxxxx| 亚洲蜜臀av乱码久久精品蜜桃| 99成人精品视频| 精品亚洲精品福利线在观看| 国产白丝在线观看| 亚洲一区久久久| 91精品观看| 一区二区三区欧美精品| 国产欧美日韩视频一区二区| 波多野结衣视频网站| 亚洲国产精品久久久久久| 午夜成年人在线免费视频| 91美女高潮出水| 999久久久国产精品| 爱爱爱爱免费视频| 中文字幕国产精品一区二区| 国产女主播喷水视频在线观看 | 欧美日韩国产激情| 亚洲精品一级片| 久久99视频精品| 成人性生交大片免费看中文视频| 日韩最新中文字幕| 国产一区二区免费看| 欧美黑人性猛交xxx| 4438x成人网最大色成网站| 亚洲乱亚洲乱妇| 国产日产久久高清欧美一区| 99tv成人| 国产老头和老头xxxx×| 亚洲精品欧美激情| 性欧美一区二区三区| 欧美黑人巨大xxx极品| a看欧美黄色女同性恋| 久久久性生活视频| av在线不卡电影| 麻豆精品久久久久久久99蜜桃| 亚洲欧美日韩直播| 精品国模一区二区三区| 亚洲巨乳在线观看| 国产毛片精品视频| 国产亚洲精品成人| 日韩精品在线观看视频| 台湾佬中文娱乐久久久| 亚洲国产激情一区二区三区| 精品亚洲aⅴ乱码一区二区三区| 天天天天天天天天操| 精品欧美乱码久久久久久1区2区| 51漫画成人app入口| 欧美重口乱码一区二区| 久久国产精品99久久人人澡| 久热这里有精品| 亚洲精品第一国产综合精品| 影视一区二区三区| 日韩视频在线免费播放| 成人av中文字幕| 中文字幕日日夜夜| 久久91亚洲精品中文字幕奶水| 色婷婷综合久久久久久| 亚洲黄色小视频在线观看| 一区二区三区四区视频精品免费 | 色老头一区二区三区| 欧洲大片精品免费永久看nba| 国产96在线 | 亚洲| 国产欧美日韩卡一| 精品久久国产视频| 日韩美女毛茸茸| 亚洲国产精品91| 国产免费看av| 日韩视频免费观看高清完整版在线观看| 国模私拍一区二区国模曼安| 亚洲一区二区在| 99亚偷拍自图区亚洲| 一级黄色短视频| 欧美最猛性xxxxx亚洲精品| 希岛爱理av一区二区三区| 亚洲av成人片色在线观看高潮| 欧美美女喷水视频|