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

微服務(wù)改造那些痛!蘇寧數(shù)據(jù)中臺基于Spring Cloud架構(gòu)實踐

原創(chuàng)
開發(fā) 架構(gòu) 開發(fā)工具 中臺
從單體程序到微服務(wù),再到當下流行的服務(wù)網(wǎng)格概念,Spring 連接起了這兩個時代。它曾是單體程序的代名詞,但是卻在微服務(wù)時代浴火重生,給我們帶來了 Spring Cloud。

【51CTO.com原創(chuàng)稿件】從單體程序到微服務(wù),再到當下流行的服務(wù)網(wǎng)格概念,Spring 連接起了這兩個時代。它曾是單體程序的代名詞,但是卻在微服務(wù)時代浴火重生,給我們帶來了 Spring Cloud。

[[233881]]

借助于 Spring Cloud,蘇寧大數(shù)據(jù)中心完成了微服務(wù)架構(gòu)轉(zhuǎn)型,在實踐中并不是一帆風順,有思索、有迷茫,更有解決問題的樂趣。

為什么要微服務(wù)化?

為什么是 Spring Cloud?

蘇寧數(shù)據(jù)中臺后端是傳統(tǒng)的開發(fā)架構(gòu), VIP 負載均衡 + Nginx + SpringMVC,代碼以單體程序為主。

正常情況下一個項目使用統(tǒng)一域名,在蘇寧現(xiàn)有開發(fā)架構(gòu)下,統(tǒng)一域名導(dǎo)致后端只能有一個 war 包,程序變成單體程序變成必然。

如下圖所示是典型的舊式項目代碼目錄:

  • 項目名稱-web:對外 war 包模塊
  • 項目名稱-interface:統(tǒng)一定義接口
  • 項目名稱-service:統(tǒng)一定義接口實現(xiàn)

整個項目管理、開發(fā)思路,圍繞單體程序開發(fā)模型設(shè)計,帶來的弊端很明顯:

  • 代碼職責不清晰,每個人都在同一模塊下提交代碼
  • 違反高內(nèi)聚低耦合
  • 服務(wù)擴展不方便

首先微服務(wù)化思路,并不高大上,我們?yōu)槭裁催x擇微服務(wù)化,首要原因是管理問題。

結(jié)合蘇寧現(xiàn)有開發(fā)架構(gòu),整個微服務(wù)架構(gòu)如圖:域名解析 + VIP 負載均衡 + Nginx + 服務(wù)網(wǎng)關(guān) + 各個服務(wù)。

下圖是某個項目采用微服務(wù)化后的工程代碼目錄:

  • 項目名稱-模塊1
  • 項目名稱-模塊2

整個代碼目錄更清晰,利于模塊拆分、人員職責安排。

數(shù)據(jù)中臺項目背景介紹

蘇寧數(shù)據(jù)中臺是一個大項目群:

  • OLAP 是底層的加速、查詢引擎,底層支持 Druid、ES、PGCitus 集群,類似 Presto,跟 Presto 不同的是 OLAP 會主動對數(shù)據(jù)進行 Cube 預(yù)加速。
  • 百川是指標平臺層,讓用戶建模、定義指標,對外提供指標查詢服務(wù)。百川主要支持的建模方式是:星型模型。
  • 數(shù)據(jù)建模自然離不開維表維度,UDMS 系統(tǒng)就是來定義、管理所有維度、維表,目前收錄了整個集團近 200 多個維度,對外提供維度、維表信息服務(wù)。
  • 天工是類似 Tableau、Superset 的可視化報表設(shè)計平臺,與這些 BI 軟件***的不同點是,天工基于百川的指標、UDMS 的維度來制作報表,數(shù)據(jù)來源已經(jīng)高度標準化、歸一化。

目前商業(yè)報告分析工具:Cognos、阿里 QuickBI 等,是將數(shù)據(jù)建模、可視化設(shè)計能力放到一起,這是天工與它們的***區(qū)別。

  • 慧眼,是統(tǒng)一報表門戶,所有的報表統(tǒng)一發(fā)布到慧眼面向業(yè)務(wù)。慧眼***的挑戰(zhàn)在于報表權(quán)限管控與自動匹配,總共 4000 多張報表,用戶 2w 多,一張報表開放給8000+人員是很常見的。

所有這一切靠人工維護,既容易出錯又不利于數(shù)據(jù)安全,也不能及時響應(yīng)用戶需求,這些都是慧眼系統(tǒng)要解決的問題。

微服務(wù)框架選型

Dubbo 架構(gòu)介紹

Dubbo 主要有四個模塊:

  • Monitor(監(jiān)控)
  • Regsitry(注冊中心)
  • Provider(服務(wù)方)
  • Consumer(消費方)

Provider 注冊服務(wù)到 Regsitry,Consumer 向 Regsitry 訂閱服務(wù)信息,Monitor服務(wù)監(jiān)控服務(wù)調(diào)用情況。

整個服務(wù)調(diào)用流程如下:

  • 消費方在本地發(fā)起服務(wù)調(diào)用
  • 動態(tài)代理將調(diào)用交給 Loadbalance 模塊
  • Loadbalance 從 Registry 拿到服務(wù)實例信息
  • 將請求發(fā)送到一臺服務(wù)實例
  • 記錄監(jiān)控日志等信息

Spring Cloud 架構(gòu)介紹

Spring Cloud 整個架構(gòu)與 Dubbo 非常類似:

  • Eureka(注冊中心)
  • Gateway(服務(wù)網(wǎng)關(guān))
  • Provider(服務(wù)方)
  • Consumer(消費方)
  • Zipkin(監(jiān)控)

不同的有如下幾點:

  • Spring Cloud 是 Http Rest 接口,Dubbo 不是。
  • Spring Cloud 注冊中心不使用 Zookeeper,使用自研的 Eureka。

關(guān)于 Zookeeper 是否適合做注冊中心,請參考文章:《Eureka! Why You Shouldn’t Use ZooKeeper for Service Discovery》、《阿里巴巴為什么不用 ZooKeeper 做服務(wù)發(fā)現(xiàn)》

  • Spring Cloud 提供了 Gateway 網(wǎng)關(guān)組件。
  • 與 Spring 生態(tài)兼容,生態(tài)鏈豐富,自定義 Filter、攔截器,來加強功能, 如:權(quán)限校驗、日志打印等;Spring Cloud Netflix 提供了熔斷、限流等組件。

綜合以上幾點,考慮到架構(gòu)統(tǒng)一,未來發(fā)展趨勢,我們選擇了 Spring Cloud。

Spring Cloud 主要幫助我們做系統(tǒng)內(nèi)部服務(wù)化,REST 接口形式,不會破壞現(xiàn)有服務(wù),前端服務(wù)調(diào)用無需做任何調(diào)整。

選擇 Spring Cloud 還有一個重要原因是 Dubbo 與蘇寧 RSF 服務(wù)框架高度重合,在對外服務(wù)接口上,我們還是以 RSF 接口為主。

基于 Spring Cloud 的服務(wù)化實踐

整體架構(gòu)介紹

整體有幾個組件:注冊中心、服務(wù)網(wǎng)關(guān)、服務(wù)監(jiān)控、負載均衡器。注冊中心使用 Spring Cloud 提供的 Eureka,服務(wù)網(wǎng)關(guān)使用 Spring Cloud 提供的 Zuul 組件,負載均衡器使用 Ribbon 組件。

服務(wù)網(wǎng)關(guān)的負載均衡策略選擇的是:WeightedResponseTimeRule,根據(jù)服務(wù)器響應(yīng)時間來決定路由到哪個節(jié)點。

服務(wù)監(jiān)控組件,用來監(jiān)控服務(wù)性能、調(diào)用情況,最重要的一點,是將整個服務(wù)鏈路能串聯(lián)起來。

服務(wù)監(jiān)控設(shè)計

監(jiān)控是一個系統(tǒng)的眼睛,是斷然不可缺少的一部分,Zipkin 提供了很好的服務(wù)鏈路監(jiān)控,結(jié)合我們自身的使用場景,最終我們沒有選擇 Zipkin,為什么?

首先了解下 Zipkin 整體架構(gòu):

  • 數(shù)據(jù)采集(Brave、Sleuth)
  • Tranport 數(shù)據(jù)傳輸(支持 Kafka、直接發(fā)送 Collector)
  • Collector(數(shù)據(jù)收集)
  • Storage(存儲:ES)
  • Search + Webui(監(jiān)控展示)

整體架構(gòu)如下圖所示,Zipkin 監(jiān)控數(shù)據(jù)格式如下:

Zipkin 有如下缺點:

  • 我們不止是監(jiān)控 Spring Cloud 服務(wù)調(diào)用,如:蘇寧 RSF 服務(wù)調(diào)用、SQL 的執(zhí)行時間、本地方法執(zhí)行時間等。
  • 監(jiān)控數(shù)據(jù)格式不滿足業(yè)務(wù)需要。
  • Collector 節(jié)點容易出現(xiàn)性能瓶頸,ES 聚合查詢性能較差。
  • 跨線程,鏈路無法串聯(lián)。

基于以上幾點,我們決定自研服務(wù)鏈路監(jiān)控系統(tǒng),整個系統(tǒng)架構(gòu)如下,我們利用 Kafka、Druid,原則上提供了***擴展性。

Druid 對應(yīng) Zipkin 中的角色:Collector(數(shù)據(jù)收集) + Storage(存儲:ES)。

我們結(jié)合業(yè)務(wù)的需要,設(shè)計了監(jiān)控日志格式,如下圖所示:

一條調(diào)用鏈路,有相同的根 ID,服務(wù)名由三部分組成:

  • 系統(tǒng)名
  • 一級名稱
  • 二級名稱

一級名稱有 7 種值:

  • url:http 接口
  • url-call:調(diào)用 http 接口
  • rs:rsf 接口
  • rsf-call:調(diào)用 rsf 接口
  • sql:執(zhí)行 sql
  • cache:操作緩存
  • method:本地方法

你可能會問,沒有存儲父 ID,如何判斷一條鏈路中的父子關(guān)系?這里我們設(shè)計一個特殊的事務(wù) ID 生成規(guī)則,通過事務(wù) ID 本身即能判斷父子關(guān)系,如下圖所示:

下圖監(jiān)控系統(tǒng)的鏈路展示頁面:

基于 Hystrix 的熔斷設(shè)計

Hystrix 對應(yīng)的中文名字是“豪豬”,豪豬周身長滿了刺,能保護自己不受天敵的傷害,代表了一種防御機制,這與 Hystrix 本身的功能不謀而合。

因此 Netflix 團隊將該框架命名為 Hystrix,并使用了對應(yīng)的卡通形象作為 Logo。

在一個分布式系統(tǒng)里,許多依賴會不可避免的調(diào)用失敗,比如超時、異常等。

如何能夠保證在一個依賴出問題的情況下,不會導(dǎo)致整體服務(wù)失敗,這個就是 Hystrix 需要做的事情。

Hystrix 提供了熔斷、隔離、Fallback、Cache、監(jiān)控等功能,它能夠在一個、或多個依賴同時出現(xiàn)問題時保證系統(tǒng)依然可用。

使用 Hystrix 很簡單,只需要添加相應(yīng)依賴即可,最方便的方式是使用注解 HystrixCommand:

  • fallbackMethod:指定 Fallback 方法
  • threadPoolKey:線程池名稱
  • threadPoolProperties:指定線程池參數(shù)(線程池大小、***隊列排隊數(shù)量)
  • commandProperties:CIRCUIT_BREAKER 開頭的參數(shù)配置熔斷相關(guān)參數(shù),METRICS_ROLLING 開頭的參數(shù)設(shè)置指標計算相關(guān)參數(shù)
  • 相關(guān)參數(shù)定義,參考類:HystrixPropertiesManager
  1. @RestController 
  2. public class HystrixTest { 
  3.     @RequestMapping(value = "/query/user/name", method = RequestMethod.GET ) 
  4.     @HystrixCommand(fallbackMethod = "getDefaultUserName", threadPoolKey = "query_user"
  5.             threadPoolProperties = { 
  6.                     @HystrixProperty(name = CORE_SIZE, value = "10"), 
  7.                     @HystrixProperty(name = MAX_QUEUE_SIZE, value = "10"
  8.             }, 
  9.             commandProperties = { 
  10.                     @HystrixProperty(name = CIRCUIT_BREAKER_ENABLED, value = "true"), 
  11.                     @HystrixProperty(name = CIRCUIT_BREAKER_REQUEST_VOLUME_THRESHOLD, value = "1000"), 
  12.                     @HystrixProperty(name = CIRCUIT_BREAKER_ERROR_THRESHOLD_PERCENTAGE, value = "25"
  13.             } 
  14.     ) 
  15.     static String getUserName(String userID) throws InterruptedException { 
  16.         Thread.sleep(-1); 
  17.         return userID; 
  18.     } 
  19.  
  20.     public String getDefaultUserName(String userID) { 
  21.         return ""
  22.     } 

基于服務(wù)網(wǎng)關(guān) Zuul 實現(xiàn)的廣播功能

有些時候我們希望 url 請求被所有服務(wù)實例執(zhí)行,這里我們對 Zuul 做了一個改造,增加了一個 BroadCastFilter,在 url 請求 header 設(shè)置 gate_broadcast 為 true,那么這個請求,將被轉(zhuǎn)發(fā)給所有服務(wù)實例。

邏輯流程如下:

  • 判斷 gate_broadcast 參數(shù)為 true
  • 從 url 獲取 ServiceId
  • 從 Ribbon 獲取服務(wù)所有實例
  • 將請求發(fā)送給所有實例
  • 將所有實例返回結(jié)果封裝,返回

微服務(wù)帶來的問題

服務(wù)拆分粒度不好把握

Spring Cloud 的微服務(wù)有一個 ServiceId 的概念,通常一個 war 包對應(yīng)一個 ServiceId,這個 ServiceId 下可以有多個服務(wù)。粒度拆分方式主要有:橫向、縱向。

縱向切分主要有如下幾個方式:

  • 按功能切,如用戶管理、指標管理、模型管理等。
  • 按角色切,如管理員、商家、用戶。

橫向切分,一般用來提取公共的基礎(chǔ)服務(wù),比如:用戶名密碼校驗服務(wù)、用戶基本信息查詢。

運維、開發(fā)復(fù)雜度增加

單體程序時代只有一個 war 包,微服務(wù)鼓勵服務(wù)拆分,war 數(shù)量、部署節(jié)點大大增加。

此外,一個流程處理往往會由多個分布式服務(wù)協(xié)同完成,帶來了不少棘手的問題:

  • 需要通過分布式事務(wù)保障數(shù)據(jù)最終一致性
  • 防止單個服務(wù)問題造成雪崩

這些都給開發(fā)者提出了更高的要求。

調(diào)試難度增加

微服務(wù)方式鼓勵服務(wù)拆分,通過服務(wù)間依賴完成功能,給開發(fā)、測試帶來了挑戰(zhàn),合理選擇微服務(wù)、代碼復(fù)用兩種方案。

后續(xù)架構(gòu)演進

服務(wù)版本控制

沒有版本控制,意味著我們無法做灰度發(fā)布,毀滅性版本發(fā)布后,無法做到對老版本兼容,下圖為服務(wù) A、B、C、D 間的版本依賴關(guān)系:

我們實現(xiàn)思路是對 Zuul 進行改造:

  • 打版本標簽,在 Zuul 對訪問來源判斷(比如 App 版本 5.1 對應(yīng)的查詢接口版本為 2.1),打上版本標簽
  • 根據(jù)版本信息,路由到對應(yīng)版本服務(wù)實例

基于 Gateway 的服務(wù)熔斷、限流機制

目前有一些開源的框架如 ratelimit,通過在 Ruul 增加 filter 來實現(xiàn)限流熔斷。

但是有幾個問題:

  • 不支持動態(tài)配置
  • 不能滿足業(yè)務(wù)變化,如配合版本控制

綜上所述,我們已經(jīng)著手一些自研工作,能與我們業(yè)務(wù)場景貼合得更緊密。

總結(jié)

從 2016 年到現(xiàn)在,兩年的時間里,蘇寧大數(shù)據(jù)中心從傳統(tǒng)的單例開發(fā)模式,切換到基于 Spring Cloud 的微服務(wù)開發(fā)模式,并摸索出了一條適合自己的路,這不只是技術(shù)框架的切換,更是開發(fā)思維的升級。

令人欣喜的是,這兩年間 Spring Cloud 飛速發(fā)展,2018 年發(fā)布了革命性的 2.0 版本,這離不開社區(qū)的支持,許多像 Netflix 一樣的公司在筆耕不輟地為 Spring Cloud 生態(tài)添磚加瓦。

我們基于 Spring Cloud 開發(fā)出了一些服務(wù)于自己業(yè)務(wù)的組件,讓我們認識到自己也是有能力有責任去回饋社區(qū)。

路漫漫其修遠兮,好的架構(gòu)一定是適應(yīng)業(yè)務(wù)發(fā)展的架構(gòu),對于 Spring 這不是終點,對于我們更不是。

作者:王富平

簡介:蘇寧易購大數(shù)據(jù)中心數(shù)據(jù)中臺技術(shù)負責人,歷任百度大數(shù)據(jù)部高級工程師、1  號店搜索與精準化部門架構(gòu)師。多年來,一直從事大數(shù)據(jù)方向的研發(fā)工作,對大數(shù)據(jù)工具、機器學(xué)習有深刻的認知,在實時計算領(lǐng)域經(jīng)驗豐富,對 Storm、Spark Streaming 有深入了解。熱愛分享和技術(shù)傳播,目前關(guān)注數(shù)據(jù)分析平臺的建設(shè),旨在打通數(shù)據(jù)建模到數(shù)據(jù)分析,基于 Druid、Kylin 等 OLAP 技術(shù),提供一個平臺級別的數(shù)據(jù)指標服務(wù),打造"數(shù)據(jù)即服務(wù)"的一站式解決方案。

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2018-05-09 08:18:26

微服務(wù)改造架構(gòu)

2017-09-05 14:05:11

微服務(wù)spring clou路由

2018-05-04 10:04:47

Docker微服務(wù)架構(gòu)

2018-11-07 10:00:00

微服務(wù)Service MesIstio

2018-06-01 23:08:01

Spring Clou微服務(wù)服務(wù)器

2023-12-19 09:33:40

微服務(wù)監(jiān)控

2019-12-24 09:30:59

蘇寧高可用高并發(fā)

2018-04-20 10:38:25

2017-06-26 09:06:10

Spring Clou微服務(wù)架構(gòu)

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務(wù)

2017-09-04 16:15:44

服務(wù)網(wǎng)關(guān)架構(gòu)

2018-11-12 12:45:19

2019-01-11 09:41:56

網(wǎng)易考拉服務(wù)架構(gòu)微服務(wù)

2024-07-10 10:51:39

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

2017-08-10 11:15:05

Spring Clou微服務(wù)架構(gòu)

2017-08-09 15:50:47

Spring Clou微服務(wù)架構(gòu)

2017-07-03 09:50:07

Spring Clou微服務(wù)架構(gòu)

2018-01-25 11:31:29

IBM微服務(wù)架構(gòu)

2024-11-21 16:09:22

2017-12-20 15:37:39

Spring Clou微服務(wù)架構(gòu)
點贊
收藏

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

中文字幕1234区| 久久精品国产精品国产精品污| 97精品在线播放| 日韩欧美中文字幕一区二区三区| 一区二区三区色| 久久综合九色综合网站| 亚洲视频久久久| 国精品一区二区三区| 亚洲美女性生活视频| 奇米影视四色在线| caoporn-草棚在线视频最| 91在线看国产| 成人一区二区电影| 日韩免费视频一区二区视频在线观看| 成人羞羞网站入口| 亚洲电影天堂av | 丝袜a∨在线一区二区三区不卡| 日韩中文字幕视频在线| 免费的av网站| 亚洲欧美久久精品| 色综合天天天天做夜夜夜夜做| 亚洲免费视频播放| 青青久草在线| 国产成人日日夜夜| 国产精品中文字幕久久久| 日韩乱码人妻无码中文字幕| 婷婷激情图片久久| 亚洲人成伊人成综合网久久久 | 久久综合色之久久综合| 91青草视频久久| 亚洲精品国产精品国自产网站按摩| 亚洲视频一区| 欧美成人精品影院| 亚洲精品午夜视频| 一级欧美视频| 欧美三级乱人伦电影| 亚洲理论电影在线观看| 日本高清中文字幕在线| xf在线a精品一区二区视频网站| 成人精品在线视频| 亚洲精品无码久久久久| 亚洲影音先锋| 欧美福利在线观看| 亚洲一二三精品| 欧美午夜18电影| 日韩网站在线看片你懂的| 蜜桃免费在线视频| 625成人欧美午夜电影| 亚洲欧美成aⅴ人在线观看| 久久av一区二区| 亚洲国产999| 激情欧美一区二区三区在线观看| 日本成人免费在线| 国产无遮挡又黄又爽在线观看| 婷婷综合社区| 在线亚洲男人天堂| 亚洲精品成人无码| 台湾亚洲精品一区二区tv| 日韩你懂的在线播放| 日本免费色视频| 成人久久网站| 欧美视频一二三区| 黄色国产小视频| 日韩脚交footjobhd| 亚洲女性喷水在线观看一区| 视频一区二区综合| 婷婷丁香花五月天| 成人福利电影精品一区二区在线观看| 91视频免费在线| 中文字幕av久久爽| 天堂成人国产精品一区| 欧美做受高潮1| 久久亚洲天堂网| 亚洲资源av| 欧日韩在线观看| 一级片视频在线观看| 国产欧美日韩一级| 奇米四色中文综合久久| 国产一级做a爱免费视频| 欧美精品色网| 午夜精品视频网站| 亚洲va在线观看| 日韩成人精品在线观看| 国产成人在线亚洲欧美| 国产一级精品毛片| 久久av老司机精品网站导航| 成人高清视频观看www| 国产有码在线观看| 国产麻豆成人传媒免费观看| 亚洲综合日韩在线| 二区三区在线视频| 99国产一区二区三精品乱码| 欧美另类视频在线| yw193.com尤物在线| 综合久久国产九一剧情麻豆| 激情图片qvod| 精品捆绑调教一区二区三区| 午夜天堂影视香蕉久久| 一女被多男玩喷潮视频| 99欧美精品| 制服视频三区第一页精品| avtt中文字幕| 性欧美lx╳lx╳| 最新日韩中文字幕| 69xx绿帽三人行| 亚洲免费在线| 91免费人成网站在线观看18| 少妇无码一区二区三区| 国产婷婷精品av在线| 先锋影音日韩| 成人免费高清观看| 色婷婷综合久色| 亚洲成人手机在线观看| 久久97久久97精品免视看秋霞| 亚洲日韩中文字幕| 一级片一级片一级片| 99国产精品私拍| 国产精品视频免费在线观看| www天堂在线| 国产午夜精品在线观看| 日本精品福利视频| а√天堂8资源在线| 欧美日韩一二三区| 亚洲av无码一区二区三区观看| 日本不卡高清| 78m国产成人精品视频| 国产在线一级片| 高清视频一区二区| 亚洲精品在线免费| 日本不卡网站| 欧美一级高清片| 欧美黄色高清视频| 亚洲国产专区校园欧美| 成人a在线视频| 久久这里精品| 亚洲一区二区三区小说| mm131亚洲精品| 亚洲精品国产精品粉嫩| 久久人人爽人人爽人人片av高清| 这里只有精品免费视频| 91在线视频官网| 国产乱人伦精品一区二区三区| 写真福利精品福利在线观看| 精品成人佐山爱一区二区| 成人18视频免费69| 丝袜诱惑亚洲看片| 久久久com| 17videosex性欧美| 日韩视频一区二区三区| 色偷偷男人天堂| 久久久国产亚洲精品| 精品久久中出| 尤物在线网址| 欧美精品乱码久久久久久| av永久免费观看| 亚久久调教视频| 久久久久网址| av成人影院在线| 精品卡一卡二卡三卡四在线| 成人免费毛片东京热| 久久国产精品99久久久久久老狼| 日本精品国语自产拍在线观看| 天堂网在线最新版www中文网| 精品国产三级a在线观看| 三级影片在线看| 国产在线视频一区二区三区| 正在播放一区二区三区| 欧美高清xxx| 日韩在线观看高清| 亚洲av人无码激艳猛片服务器| 国产人伦精品一区二区| 午夜视频在线瓜伦| 日本欧美视频| 国产免费一区视频观看免费| 亚洲搞黄视频| 91.com视频| 亚洲一区电影在线观看| 久久99国产精品久久| 亚洲最新在线| 精品视频一二| 午夜精品一区二区三区av| 污污视频在线观看网站| 欧美性猛交xxxx久久久| 国产手机在线观看| 每日更新成人在线视频| 日本精品一区二区| 亚州精品国产| 欧美黑人巨大精品一区二区| 欧美特黄一级视频| 日韩欧美国产骚| 欧美波霸videosex极品| 九九在线精品视频| 97在线国产视频| 性欧美lx╳lx╳| 国产精品丝袜久久久久久不卡| 免费大片在线观看www| 日韩欧美激情四射| 国产成人无码一区二区在线播放| 国产精品进线69影院| 免费看91视频| 手机精品视频在线观看| 伊人久久大香线蕉av一区| 亚洲小说春色综合另类电影| 77777少妇光屁股久久一区| 福利在线视频导航| 91精品婷婷国产综合久久竹菊| 久久9999久久免费精品国产| 国产亚洲欧美日韩在线一区| 91网址在线观看精品| 午夜亚洲性色福利视频| 亚洲一区二区不卡视频| 成人免费直播在线| 国产精品福利久久久| 亚洲视频tv| 亚洲天堂av图片| 亚洲精品无码久久久| 在线免费精品视频| 久久中文字幕无码| 国产精品私房写真福利视频| 波多野结衣三级视频| 久久亚洲国产精品一区二区| 国产免费xxx| 精品国产1区| 国产视频精品网| 不卡的国产精品| 91av在线免费观看视频| 欧美xxxx免费虐| 中文字幕亚洲欧美| 偷拍自拍在线| 欧美不卡视频一区| 97超碰国产在线| 色综合久久66| 国产精品第108页| 国产精品国产馆在线真实露脸 | 国产在线精品观看| 国产精品灌醉下药二区| 波多野吉衣中文字幕| 国产成人av一区二区三区在线观看| 色婷婷综合久久久久中文字幕 | 日韩精品视频中文在线观看 | av资源中文在线| 美女av一区二区三区| 草碰在线视频| 亚洲久久久久久久久久久| 成人午夜免费在线观看| 日韩欧美一卡二卡| 国产日韩精品suv| 一本大道久久a久久综合| 国产一区二区播放| 亚洲日穴在线视频| 九九热视频在线免费观看| 国产欧美日韩综合| 亚洲欧美va天堂人熟伦| 久久久不卡网国产精品一区| 最近日本中文字幕| 97精品超碰一区二区三区| 88av在线播放| 成人午夜视频免费看| 黑人性生活视频| 国产精品99久久久久久久vr| 超碰超碰在线观看| 七七婷婷婷婷精品国产| 免费看污黄网站| 免费在线观看一区二区三区| 人人爽人人av| 日韩中文字幕91| 九热视频在线观看| 蜜桃在线一区二区三区| 亚州精品一二三区| 美女视频一区在线观看| 亚洲涩涩在线观看| 韩国欧美一区二区| 特级西西444www| 高清不卡在线观看av| www.美色吧.com| 成人爱爱电影网址| 亚洲国产欧美视频| 国产亚洲成aⅴ人片在线观看| www色com| 亚洲色图在线看| 欧美日韩一级在线观看| 亚洲高清视频中文字幕| 天天插天天操天天干| 色综合视频在线观看| 日韩人妻精品中文字幕| 在线观看不卡视频| 国产精品怡红院| 亚洲大胆美女视频| 欧洲天堂在线观看| zzijzzij亚洲日本成熟少妇| 性欧美ⅴideo另类hd| 久久免费高清视频| 欧美成人h版| 国产精品综合网站| 亚洲va欧美va人人爽成人影院| 国产美女精品在线观看| 老司机aⅴ在线精品导航| 亚洲精品中文字幕乱码三区不卡 | 国产福利一区二区| 极品粉嫩小仙女高潮喷水久久| 国产欧美日韩卡一| 欧美极品aaaaabbbbb| 都市激情亚洲色图| 亚洲一二区视频| 精品国产电影一区二区| 成人在线观看一区| 欧美国产日韩精品| 日本欧美韩国| 成人3d动漫一区二区三区91| 窝窝社区一区二区| 在线丝袜欧美日韩制服| 在线亚洲自拍| 中文字幕一区二区在线观看视频 | a级大片在线观看| 综合分类小说区另类春色亚洲小说欧美| 久久久久亚洲AV| 欧美亚洲国产一区二区三区va | 久88久久88久久久| 亚洲国产第一区| 日韩毛片一二三区| 国产精品第5页| 欧美变态tickle挠乳网站| 国产精品四虎| 久久久久女教师免费一区| 国产精品2区| 日本一区二区三区免费看| 国产精品激情电影| 久久婷五月综合| 91在线精品一区二区| 久久黄色小视频| 欧美日韩国产综合一区二区| 免费在线一级视频| 国模精品视频一区二区| 国产一精品一av一免费爽爽| 一区二区精品在线观看| 蘑菇福利视频一区播放| 黑森林av导航| 亚洲精品老司机| 一二三四区在线| 在线观看日韩www视频免费| 国产黄色大片在线观看| 91中文精品字幕在线视频| 日本道不卡免费一区| 日韩一级在线免费观看| 福利视频网站一区二区三区| 免费无遮挡无码永久在线观看视频| 欧美色图片你懂的| 国产在线观看免费网站| 欧美亚洲国产日韩2020| 噜噜噜天天躁狠狠躁夜夜精品 | 欧美 日韩 国产一区二区在线视频 | 亚洲乱码在线观看| 欧美另类在线播放| 福利一区三区| 热这里只有精品| 久久精品国产成人一区二区三区 | 石原莉奈一区二区三区在线观看 | 中文字幕日本人妻久久久免费 | 国际av在线| 日韩免费中文字幕| 嫩草影视亚洲| 美女喷白浆视频| 国产精品亲子乱子伦xxxx裸| 伊人网av在线| 日韩视频一区在线| 国产精品亚洲欧美日韩一区在线| 99热一区二区三区| 国产乱色国产精品免费视频| 免费视频一二三区| 精品免费国产一区二区三区四区| 污污影院在线观看| 国产欧美日韩伦理| 美女91精品| 日本美女xxx| 欧美丰满美乳xxx高潮www| 黄色片网站在线| 成人自拍视频网站| 亚洲毛片网站| xxxx日本免费| 欧美视频你懂的| 人人干在线视频| 成人黄色片视频网站| 国产亚洲在线| 久久精品国产亚洲av久| 欧美视频一区二区三区在线观看 | 欧美精品一二三区| 最爽无遮挡行房视频在线| 精品乱码一区二区三区| 日本免费在线视频不卡一不卡二 | 国产精品原创视频| 男同互操gay射视频在线看| 国产成人99久久亚洲综合精品| 草久视频在线观看| 亚洲人成欧美中文字幕| 天堂久久一区| 黄色一级视频在线播放| 久久精品亚洲精品国产欧美 | 色婷婷av久久久久久久| 日韩在线观看www| www日韩av|