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

億級異構任務調度框架設計與實踐

開發 新聞
日志服務平臺作為可觀測性平臺提供了數據導入、數據加工、聚集加工、告警、智能巡檢、導出等功能。

一、背景

阿里云日志服務作為云原生可觀測與分析平臺。提供了一站式的數據采集、加工、查詢分析、可視化、告警、消費與投遞等功能。全面提升用戶的研發、運維、運營、安全場景的數字化能力。

日志服務平臺作為可觀測性平臺提供了數據導入、數據加工、聚集加工、告警、智能巡檢、導出等功能,這些功能在日志服務被稱為任務,并且具有大規模的應用,接下來主要介紹下這些任務的調度框架的設計與實踐。

圖片

本次介紹主要分為四個部分:

  • 任務調度背景
  • 可觀測性平臺的億級任務調度框架設計
  • 任務調度框架在日志服務的大規模應用
  • 展望

任務調度背景

通用調度

調度在計算機里面是一個非常常見的技術,從單機到分布式再到大數據系統,調度的身影無處不在。這里嘗試總結出調度的一些共同特征。

  • 操作系統:從單機操作系統Linux來看,內核通過時間片的方式來控制進程在處理器上的執行時間,進程的優先級與時間片掛鉤,簡單來說,進程的在單CPU或者某個CPU的執行由調度器來掌握;K8s被稱為分布式時代的操作系統,在Pod創建后,K8s的控制面調度器通過對節點進行打分排序,最終選出適合的Node來運行Pod。
  • 大數據分析系統:從最早的MapReduce使用公平調度器支持作業的優先級和搶占,到SQL計算引擎Presto通過Coordinator的調度器將執行計劃中的任務分配到適合的worker上來執行,Spark通過DAGScheduler拆分成Stage,TaskScheduler將Stage對應的TaskSet最終調度到適合的Worker上來執行。
  • 任務調度框架:在數據處理中常見的ETL處理任務、定時任務,這些任務具有多模的特點:定時執行、持續運行、一次性執行等。在任務執行過程中需要考慮任務的編排和狀態一致性問題。

圖片

這里簡單的對調度做一個抽象,如上圖所示,調度負責將不同的Task分配到不同的Resource上執行,Task可以是進程、Pod、子任務;Resource為具體執行Task任務的資源,可以是處理器、線程池、節點、機器。通過這個抽象,可以看出調度在系統中的位置。

調度的覆蓋面很廣,本文主要集中在任務調度框架的設計與實踐,這里先通過一些例子來看下任務調度的一些特點,以下主要講任務分為定時類的任務和依賴類的任務兩種來展開。

任務調度

定時類任務

圖片

定時執行可以理解為每個任務之間有時間先后順序,并且要在特定的時間點執行,比如每隔1小時對日志進行監控,00點的監控任務需要首先執行,01點的監控任務需要在01點準時執行;同樣,類似的定時場景,還有儀表盤訂閱、定時計算等。

?依賴類任務

圖片

除了定時執行,還有另外一種編排形式,比如順序依賴,各個任務之間有先后執行的依賴,也叫Pipeline方式,還有一種比較常見的編排形式,拓撲依賴,也稱為DAG,比如Task2/Task3需要等到Task1執行完成才可以執行,Task5需要等到Task3/Task4執行完才可以執行。

?任務調度特點

任務調度在執行的過程中需要盡可能均衡的將任務分派到合適的機器或者執行器上去執行,比如要根據執行器的當前負載情況,要根據任務自身的特征進行分派執行;在執行器執行的過程中也可能會崩潰,退出,這時候需要將任務遷移到其他的執行器中。整個調度過程需要考慮到調度策略、FailOver、任務遷移等。接下來來看下任務調度的一個簡單應用。

任務調度應用:一條日志的歷險

圖片

上圖中原始日志為一條Nginx訪問日志,其中包括IP、時間、Method、URL、UserAgent等信息,這樣一些原始日志并不利于我們進行分析,比如我們想統計訪問最高的Top 10 URL,通過命令處理是這樣的:

cat nginx_access.log |awk '{print $7}'| sort|uniq -c| sort -rn| head -10 | more

拋開命令的復雜性和原始日志的數據量不談,即使需求稍微變化,命令就需要大量的改動,非常不利于維護,對日志進行分析的正確方式必然是使用分布式日志平臺進行日志分析,原始日志蘊含著大量“信息”,但是這些信息的提取是需要一系列的流程。

首先是數據采集、需要通過Agent對分布在各個機器上的數據進行集中采集到日志平臺,日志采集上來后需要進行清洗,比如對于Nginx訪問日志使用正則提取,將時間、Method、URL等重要信息提取出來作為字段進行存儲并進行索引構建,通過索引,我們可以使用類SQL的分析語法對日志進行分析、例如查看訪問的Top 10 URL,用SQL來表達就會非常簡潔清晰:

select url, count(1) as cnt from log group by url order by cnt desc limit 10

業務系統只要在服務,日志就會不斷產生,可以通過對流式的日志進行巡檢,來達到系統異常的檢測目的,當異常發生時,我們可以通過告警通知到系統運維人員。

?通用流程提取

從這樣一個日志分析系統可以提取出一些通用的流程,這些通用的流程可以概括為數據攝入、數據處理、數據監測、數據導出。

除了日志,系統還有Trace數據、Metric數據,它們是可觀測性系統的三大支柱。這個流程也適用于可觀測性服務平臺,接下來來看下一個典型的可觀測服務平臺的流程構成。

?典型可觀測服務平臺數據流程

圖片

  • 數據攝入:在可觀測服務平臺首先需要擴展數據來源,數據源可能包括各類日志、消息隊列Kafka、存儲OSS、云監控數據等,也可以包括各類數據庫數據,通過豐富數據源的攝入,可以對系統有全方位的觀測。
  • 數據處理:在數據攝入到平臺后,需要對數據進行清洗、加工,這個過程我們把他統稱數據處理,數據加工可以理解為數據的各種變換和富華等,聚集加工支持對數據進行定時rolling up操作,比如每天計算過去一天匯總數據,提供信息密度更高的數據。
  • 數據監測:可觀測性數據本身反應了系統的運行狀態,系統通過對每個組件暴露特定的指標來暴露組件的健康程度,可以通過智能巡檢算法對異常的指標進行監控,比如QPS或者Latency的陡增或陡降,當出現異常時可以通過告警通知給相關運維人員,在指標的基礎上可以做出各種運維或者運營的大盤,在每天定時發送大盤到群里也是一種場景的需求。
  • 數據導出:可觀測性數據的價值往往隨著時間產生衰減,那么對于長時間的日志類數據出于留檔的目的可以進行導出到其他平臺。

從以上四個過程我們可以抽象出各類任務,分別負責攝入、處理、檢測等,比如數據加工是一種常駐任務,需要持續對數據流進行處理,儀表盤訂閱是一種定時任務,需要定時發出儀表盤到郵件或者工作群中。接下來將要介紹對各類任務的調度框架。

可觀測性平臺的億級任務調度框架設計可觀測平臺任務特點

根據上面對可觀測平臺任務的介紹,可以總結一個典型的可觀測平臺的任務的特點:

  • 業務復雜,任務類型多:數據攝入,僅數據攝入單個流程涉及數據源可能有幾十上百個之多。
  • 用戶量大,任務數數量多:由于是云上業務,每個客戶都有大量的任務創建需求。
  • SLA要求高:服務可用性要求高,后臺服務是升級、遷移不能影響用戶已有任務的運行。
  • 多租戶:云上業務客戶相互直接不能有影響。?

可觀測平臺任務調度設計目標

圖片

根據平臺任務的特點,對于其調度框架,我們需要達到上圖中的目標

  • 支持異構任務:告警、儀表盤訂閱、數據加工、聚集加工每種任務的特點不一樣,比如告警是定時類任務、數據加工是常駐類任務,儀表盤訂閱預覽是一次性任務。
  • 海量任務調度:對于單個告警任務,假如每分鐘執行一次,一天就會有1440次調度,這個數量乘以用戶數再乘以任務數,將是海量的任務調度;我們需要達到的目標是任務數的增加不會對打爆機器的性能,特別是要做到水平擴縮容,任務數或者調度次數增加只需要線性增加機器即可。
  • 高可用:作為云上業務,需要達到后臺服務升級或者重啟、甚至宕機對用戶任務運行無影響的目的,在用戶層面和后臺服務層面都需要具有任務運行的監控能力。
  • 簡單高效的運維:對于后臺服務需要提供可視化的運維大盤,可以直觀的展示服務的問題;同時也要對服務進行告警配置,在服務升級、發布過程中可以盡量無人值守。
  • 多租戶:云上環境是天然有多租戶場景,各個租戶之間資源要做到嚴格隔離,相互之間不能有資源依賴、性能依賴。
  • 可擴展性:面對客戶的新增需求,未來需要支持更多的任務類型,比如已經有了MySQL、SqlServer的導入任務,在未來需要更多其他的數據庫導入,這種情況下,我們需要做到不修改任務調度框架,只需要修改插件即可完成。
  • API化:除了以上的需求,我們還需要做到任務的API化管控,對于云上用戶,很多海外客戶是使用API、Terraform來對云上資源做管控,所以要做到任務管理的API化。?

可觀測平臺任務調度框架總體概覽

圖片

基于上述的調度設計目標,我們設計了可觀測性任務調度框架,如上圖所示,下面從下到上來介紹。

  • 存儲層:主要包括任務的元數據存儲和任務運行時的狀態和快照存儲。任務的元數據主要包括任務類型,任務配置、任務調度信息,都存儲在了關系型數據庫;任務的運行狀態、快照存儲在了分布式文件系統中。
  • 服務層:提供了任務調度的核心功能,主要包括任務調度和任務執行兩部分,分別對應前面講的任務編排和任務執行模塊。任務調度主要針對三種任務類型進行調度,包括常駐任務、定時任務、按需任務。任務執行支持多種執行引擎,包括presto、restful接口、K8s引擎和內部自研的ETL 2.0系統。
  • 業務層:業務層包括用戶直接在控制臺可以使用到的功能,包括告警監控、數據加工、重建索引、儀表盤訂閱、聚集加工、各類數據源導入、智能巡檢任務、和日志投遞等。
  • 接入層:接入層使用Nginx和CGI對外提供服務,具有高可用,地域化部署等特性。
  • API/SDK/Terraform/控制臺:在用戶側,可以使用控制臺對各類任務進行管理,對于不同的任務提供了定制化的界面和監控,同時也可以使用API、SDK、Terraform對任務進行增刪改查。
  • 任務可視化:在控制臺我們提供了任務執行的可視化和任務監控的可視化,通過控制臺用戶可以看出看到任務的執行狀態、執行歷史等,還可以開啟內置告警對任務進行監控。

任務調度框架設計要點

接下來從幾方面對任務調度框的設計要點進行介紹,主要包括以下幾方面來介紹:

  • 異構任務模型抽象
  • 調度服務框架
  • 大規模任務支持
  • 服務高可用設計
  • 穩定性建設

任務模型抽象

圖片

接下來看下任務模型的抽象:

  • 對于告警監控、儀表盤訂閱、聚集加工等需要定時執行的任務,抽象為定時任務,支持定時和Cron表達式設置。
  • 對于數據加工、索引重建、數據導入等需要持續運行的任務,抽象為常駐任務,這類任務往往只需要運行一次,可以有也可以沒有結束狀態。
  • 對于數據加工的預覽、儀表盤訂閱的預覽等功能,是在用戶點擊時才會需要創建一個任務來執行,執行完成即可退出,不需要保存任務狀態,這類任務抽象為DryRun類型,或者按需任務。

調度服務框架

圖片

服務基礎框架使用了Master-Worker架構,Master負責任務的分派和Worker的管控,Master將數據抽象為若干Partitions,然后將這些Partitions分派給不同的Worker,實現了對任務的分而治之,在Worker執行的過程中Master還也可以根據Worker的負載進行Partitions的動態遷移,同時在Worker重啟升級過程中,Master也會對Partition進行移出和移入;

任務的調度主要在Worker層來實現,每個Worker負責拉取對應Partitions的任務,然后通過JobLoader對任務進行加載,注意:這里只會加載當前Worker對應Partitions的任務列表,然后Scheduler對任務進行調度的編排,這里會涉及常駐任務、定時任務、按需任務的調度,Scheduler將編排好的任務發送到JobExecutor進行執行,JobExecutor在執行的過程中需要實時對任務的狀態進行持久化保存到RedoLog中,在下次Worker升級重新啟動的過程中,需要從RedoLog中加載任務的狀態,從而保證任務狀態的準確性。

?大規模任務支持

圖片

通過任務服務框架的介紹,我們知道Partitions是Master與Worker溝通的橋梁,也是對大規模任務進行分而治之的介質。如上圖所示,假設有N個任務,按照一定的哈希算法將N個任務映射到對應的Partition,因為Worker關聯特定的Partition,這樣Worker就可以跟任務關聯起來,比如任務j1、j2對應的partition是p1,而p1對應的Worker是worker1,這樣j1、j2就可以在worker1上執行。需要說明的如下:

  • Worker與Partition的對應關系并非一成不變,是一個動態的映射,在Worker重啟或者負載較高時,其對應的Partition會遷移到其他的Worker上,所以Worker需要實現Partition的移入和移出操作。
  • 任務數量增加的時候,因為有Partition這個中間層,只需要增加Worker的數量就可以滿足任務增長時的需求,達到水平擴展的目的。增加新Worker后,可以分擔更多的Partition

服務高可用設計

服務的高可用主要是服務的可用性時間,作為后臺服務肯定有重啟、升級的需求,高可用場景主要涉及到Partition遷移的處理,在Worker重啟、Worker負載較高時、Worker異常時,都會有Partition遷移的需求,在Partition遷移的過程中,任務也需要進行遷移,任務的遷移就涉及到狀態的保留,類似CPU上進程的航線文切換。

圖片

對于任務的切換,我們使用了RedoLog的方式來保存任務的狀態,一個任務可以被分為多個階段,對應任務執行的狀態機,在每個階段執行時都對其進行內存Checkpoint的更新和RedoLog的更新,RedoLog是持久化到之前提到的分布式文件系統中,使用高性能的Append的方式進行順序寫入,在Partition遷移到新的Worker后,新的Worker在對RedoLog進行加載,就可以完成任務狀態的恢復。

這里涉及一個優化,RedoLog如果一直使用Append的方式進行寫入,勢必會造成RedoLog越來越膨脹,也會造成Worker加載Partition時速度變慢,對于這種情況,我們使用了Snapshot的方式,將過去一段時間的RedoLog進行合并,這樣只需要在加載Partition時,加載Snapshot和Snaphost之后的RedoLog就可以減少文件讀取的次數和開銷,提高加載速度。

穩定性建設

穩定性建設主要涉及以下幾方面內容:

  • 發布流程:
  • 從編譯到發布全Web端白屏化操作,模板化發布,每個版本都可跟蹤、回退。
  • 支持集群粒度、任務類型粒度的灰度控制,在發布時可以進行小范圍驗證,然后全量發布。
  • 運維流程:
  • 提供內部運維API、Web端操作,對于異常Job進行修復、處理。減少人工介入運維。
  • On-Call:
  • 在服務內部,我們開發了內部巡檢功能,查找異常任務,例如某些任務啟動時間過長、停止時間過長都會打印異常日志,可以對異常日志進行跟蹤和監控。
  • 通過異常日志,使用日志服務告警進行監控,出現問題可以及時通知運維人員。
  • 任務監控:
  • 用戶側:在控制臺我們針對各類任務提供了監控儀表盤和內置告警配置。
  • 服務側:在后臺,可以看到集群粒度任務的運行狀態,便于后臺運維人員進行服務的監控。
  • 同時,對于任務的執行狀態和歷史都會存入特定的日志庫中,以便出現問題時進行追溯和診斷。

下面是一些服務側的部分大盤示例,展示的是告警的一些執行狀態。

圖片

下面是用戶側的任務監控狀態和告警的展示。

圖片

圖片

大規模應用

在日志服務,任務的調度已經有了大規模的應用,下面是某地域單集群的任務的運行狀態,因為告警是定時執行且使用場景廣泛,其單日調度次數達到了千萬級別,聚集加工在Rolling up場景中有很高場景的應用,也達到了百萬級別;對于數據加工任務因為是常駐任務,調度頻率低于類似告警類的定時任務。

接下來以一個聚集加工為例來看下任務的調度場景。

典型任務:聚集加工

圖片

聚集加工是通過定時對一段時間的數據進行聚集查詢,然后將結果存入到另一個庫中,從而將高信息密度的信息進行提取,相對于原始數據具有降維、低存儲、高信息密度的特點。適合于定時分析、全局聚合的場景。

圖片

這里是一個聚集加工的執行狀態示例,可以看到每個時間區間的執行情況,包括處理行數、處理數據量、處理結果情況,對于執行失敗的任務,還可以進行手動重試。

對于聚集加工并非定時執行這么簡單的邏輯,在過程中需要處理超時、失敗、延遲等場景,接下來對每種場景進行一個簡單介紹。

?調度場景一:實例延遲執行

無論實例是否延遲執行,實例的調度時間都是根據調度規則預先生成的。雖然前面的實例發生延遲時,可能導致后面的實例也延遲執行,但通過追趕執行進度,可逐漸減少延遲,直到恢復準時運行。 

圖片

調度場景二:從某個歷史時間點開始執行聚集加工作業

在當前時間點創建聚集加工作業后,按照調度規則對歷史數據進行處理,從調度的開始時間創建補運行的實例,補運行的實例依次執行直到追上數據處理進度后,再按照預定計劃執行新實例。 圖片

調度場景三:固定時間內執行聚集加工作業

如果需要對指定時間段的日志做調度,則可設置調度的時間范圍。如果設置了調度的結束時間,則最后一個實例(調度時間小于調度結束時間)執行完成后,不再產生新的實例。

圖片

調度場景四:修改調度配置對生成實例的影響

修改調度配置后,下一個實例按照新配置生成。一般建議同步修改SQL時間窗口、調度頻率等配置,使得實例之間的SQL時間范圍可以連續。 

圖片

調度場景五:重試失敗的實例

  • 自動重試
  • 如果實例執行失敗(例如權限不足、源庫不存在、目標庫不存在、SQL語法不合法),系統支持自動重試
  • 手動重試
  • 當重試次數超過您配置的最大重試次數或重試時間超過您配置的最大運行時間時,重試結束,該實例狀態被置為失敗,然后系統繼續執行下一個實例。

展望

  • 動態任務類型:增加對于動態任務類型的支持,例如更復雜的具有任務間依賴關系的任務調度。
  • 多租戶優化:目前對于任務使用簡單的Quota限制,未來對多租戶的QoS進行的進一步細化,以支持更大的Quota設置。
  • API優化、完善:目前的任務類型也在快速更新中,任務API的迭代速度還有些差距,需要增強任務API的優化,達到增加一種任務類型,不需要修改或者少量更新API的目的。
責任編輯:張燕妮 來源: 阿里開發者
相關推薦

2022-12-16 12:16:21

2012-06-25 12:43:26

.NET框架

2024-10-15 16:31:30

2012-06-25 09:28:42

.NET可逆框架

2023-05-04 08:23:03

AI基礎設施機器學習

2019-06-27 09:55:36

微服務架構滴滴出行

2021-12-29 10:38:35

運維框架KubeNest

2022-04-03 15:44:55

Vue.js框架設計設計與實現

2016-03-23 11:05:58

Socket開發框架分析

2022-09-16 11:23:59

Python框架Celery

2023-06-26 00:14:28

Openjob分布式任務

2012-01-18 10:20:42

框架設計

2024-11-20 19:56:36

2009-09-08 09:12:12

LINQ構建框架設計

2020-07-30 10:35:32

Java反射框架設計

2023-02-09 08:08:01

vivoJenkins服務器

2021-03-02 07:54:18

流量網關設計

2025-06-17 08:20:00

2019-04-08 17:11:46

大數據框架Spark

2010-09-25 13:09:39

UISymbian
點贊
收藏

51CTO技術棧公眾號

亚洲一级黄色av| 国产色爱av资源综合区| 97视频在线观看免费| 亚洲欧美色图视频| 另类一区二区三区| 亚洲无人区一区| 欧洲一区二区日韩在线视频观看免费 | 怡红院av亚洲一区二区三区h| 精品推荐蜜桃传媒| 国产馆精品极品| 国产成人综合亚洲| 久久久久香蕉视频| 日韩成人a**站| 精品国产乱码久久久久久老虎| 东京热加勒比无码少妇| av免费在线网站| 久久久精品免费观看| 成人动漫在线观看视频| 国产精品第6页| 亚洲另类视频| 欧美精品亚州精品| 性少妇xx生活| 香蕉久久精品日日躁夜夜躁| 欧美一级高清片在线观看| 精品视频无码一区二区三区| 欧美1234区| |精品福利一区二区三区| 裸体丰满少妇做受久久99精品| 日韩在线综合网| 亚洲搞黄视频| 国产丝袜美腿一区二区三区| 国产精品一区二| 国产女人18毛片水真多| 日韩高清一区在线| 欧美亚洲成人xxx| 久久久久人妻一区精品色欧美| 久久亚洲精品中文字幕蜜潮电影| 日韩av一卡二卡| 精品国产免费久久久久久婷婷| 国产精品蜜月aⅴ在线| 色综合天天在线| 免费成人在线视频网站| 成人性生交大片免费看网站 | 国产奶水涨喷在线播放| 91精品福利| 少妇av一区二区三区| 国产成人一区二区在线观看| 少妇精品久久久一区二区三区| 亚洲精品国产成人| 亚洲激情 欧美| 久久黄色影视| 亚洲第一页中文字幕| 又色又爽又黄18网站| 在线精品国产亚洲| 日韩美一区二区三区| 麻豆av免费看| 高清日韩欧美| 亚洲国产天堂网精品网站| 在线中文字日产幕| 蜜桃av在线| 无码av免费一区二区三区试看| 美女扒开大腿让男人桶| www.综合网.com| 亚洲va韩国va欧美va精品| 欧美 日韩 亚洲 一区| 69av成人| 一本到一区二区三区| 三级a在线观看| 久久久免费人体| 欧美精品自拍偷拍| 在线观看欧美一区二区| 日韩中文一区二区| 亚洲成人精品在线| aaaaa一级片| 欧美日韩性在线观看| 日韩在线视频二区| 免费在线观看av网址| 99pao成人国产永久免费视频| 欧美一级高清免费播放| 日韩av免费播放| 蜜臀99久久精品久久久久久软件| 成人性生交xxxxx网站| 亚洲女人18毛片水真多| 91欧美一区二区| 亚洲永久激情精品| 伦理在线一区| 欧洲激情一区二区| 91人妻一区二区三区| 久久1电影院| 国产亚洲福利一区| 农村黄色一级片| 亚洲永久字幕| 91精品啪aⅴ在线观看国产| 日本xxxx人| 欧美国产欧美综合| 日韩成人三级视频| 欧美日韩在线精品一区二区三区激情综合 | 欧美黑人一区二区| 激情文学综合丁香| 8050国产精品久久久久久| 潘金莲一级淫片aaaaaa播放| 国产在线视频一区二区三区| 精品欧美国产| 国产理论在线观看| 色综合久久久久久久久| 色婷婷综合在线观看| 亚洲精品亚洲人成在线观看| 久久精品国产亚洲精品| 在线天堂中文字幕| 国产经典欧美精品| 日韩精品久久一区二区三区| 性欧美1819sex性高清大胸| 91激情在线视频| 深夜视频在线观看| 99精品在线观看| 日韩免费观看视频| 日本人妻熟妇久久久久久| 亚洲欧洲一区二区三区| 国产熟女高潮视频| 国产精品一区二区三区美女| 日韩视频精品在线| 男人天堂视频在线| 99久久99久久久精品齐齐| 国产成人精品免费看在线播放| 成人性教育av免费网址| 亚洲国内高清视频| 久久久久久久久久综合| 韩国女主播成人在线| 日本一区二区三区www| 手机在线理论片| 亚洲国产精彩中文乱码av在线播放| 精品国产视频一区二区三区| 青青草97国产精品免费观看无弹窗版| 精品一卡二卡三卡四卡日本乱码| 羞羞视频在线观看免费| 88在线观看91蜜桃国自产| 影音先锋男人在线| 日韩高清不卡一区二区| 国产精品日韩欧美一区二区| 性欧美1819sex性高清大胸| 91精品国产综合久久久久久| 久久久午夜电影| 成人黄色影片在线| wwwww在线观看免费视频| 狠狠干狠狠久久| 亚洲 欧美 日韩在线| 国内久久视频| 懂色中文一区二区三区在线视频 | 丁香婷婷综合色啪| 欧美大片免费播放| 亚洲电影二区| 午夜成人免费电影| 日本xxxx免费| 亚洲网站视频| 国产一区二区三区四区五区在线 | 欧美日韩一区二区区别是什么 | 国产精品国模大尺度视频| 少妇网站在线观看| 日韩国产欧美一区二区| 国产欧美在线视频| 老司机在线看片网av| 欧美一区二区三区系列电影| 岛国毛片在线观看| 成人免费毛片嘿嘿连载视频| 免费国产黄色网址| 国产伦精品一区二区三区千人斩| 国产精品久久久久不卡| 欧美精品hd| 亚洲777理论| 亚洲一区二区在线免费| 久久精品日产第一区二区| 成人xxxx视频| а√天堂资源地址在线下载| 日韩精品专区在线影院观看| 日本五十路女优| 久久精品日韩一区二区三区| 奇米视频888| 亚洲一级影院| 青青草成人网| 麻豆精品久久| 国产91精品青草社区| 最新97超碰在线| 精品区一区二区| www.com亚洲| 亚洲欧美另类图片小说| 国产又粗又猛又色| 美国一区二区三区在线播放 | 日韩高清av电影| 国产 日韩 欧美| 欧美一区第一页| 免费看美女视频在线网站| 亚洲成av人乱码色午夜| 看黄色一级大片| 一区二区视频在线| 一级片视频免费看| 国产东北露脸精品视频| 日本精品免费在线观看| 91嫩草亚洲精品| 国产在线欧美日韩| 亚洲一区导航| 欧美亚洲伦理www| 免费看a在线观看| 亚洲片在线观看| 亚洲精品久久久久久动漫器材一区| 日韩欧美中文免费| 国产亚洲欧美久久久久| 欧美国产日韩亚洲一区| 国产女人18毛片水真多18| 麻豆成人91精品二区三区| 国产成人精品视频免费看| 欧美日本亚洲韩国国产| 亚洲欧美日韩精品久久久| 任你躁在线精品免费| 97人人香蕉| 国产精品黄色片| 欧美综合在线第二页| 黄色小说在线播放| 久久高清视频免费| jzzjzzjzz亚洲成熟少妇| 精品亚洲国产视频| 人妻少妇一区二区三区| 337p亚洲精品色噜噜| 亚洲精品无码久久久久| 精品久久久久久亚洲精品| 欧美黑吊大战白妞| 18涩涩午夜精品.www| 人妻精品久久久久中文字幕| 成人av午夜电影| 黄页网站在线看| 国产福利一区二区三区视频在线 | 日韩一区二区三区精品| 国产精品尤物福利片在线观看| 成人av观看| 日本国产欧美一区二区三区| cao在线视频| 欧美激情乱人伦| 欧美1—12sexvideos| 欧美激情18p| 最爽无遮挡行房视频在线| 日韩视频免费看| 日本在线www| 色妞欧美日韩在线| 日本美女在线中文版| 日韩中文在线观看| 欧美成年黄网站色视频| 久久视频在线| 国产一区二区久久久| 国产厕拍一区| 国内精品二区| 欧美色图婷婷| 蜜桃精品久久久久久久免费影院 | 韩国av一区二区三区四区| 黄色永久免费网站| 麻豆专区一区二区三区四区五区| 欧美性猛交xxx乱久交| 免费观看在线综合| 久久久久久久高清| 国产一区二区不卡| 佐佐木明希电影| 91一区在线观看| 国产 欧美 在线| 国产精品久久久久久久久搜平片| 99re6热在线精品视频| 亚洲男人天堂av网| 免费中文字幕视频| 精品久久久久久电影| 五月婷婷激情视频| 欧美日韩在线播放三区| 国产乱码精品一区二区| 精品免费一区二区三区| 亚洲日本在线播放| 在线观看欧美日韩国产| 久草免费在线| 午夜精品久久久久久久久久久久| 在线毛片观看| 91精品久久久久久| 极品束缚调教一区二区网站| 久久婷婷人人澡人人喊人人爽| 精品国产一区二区三区四区| 中文字幕第50页| 99热在线精品观看| 亚洲一级片网站| 国产91精品精华液一区二区三区 | 欧美亚洲另类视频| 人人玩人人添人人澡欧美| www久久99| 欧美猛男做受videos| 免费观看国产视频在线| 午夜亚洲伦理| www.欧美激情.com| 99精品欧美一区二区蜜桃免费| 男女做爰猛烈刺激| 一区二区三区成人在线视频| 99精品人妻国产毛片| 欧美一区二区视频在线观看2022 | 日韩在线观看高清| 欧美男人天堂| 91成人理论电影| 欧美在线色图| 国内精品在线观看视频| 久久国产精品第一页| 欧美大喷水吹潮合集在线观看| 中文字幕一区二区视频| 影音先锋在线国产| 欧美一二三四在线| 91官网在线| 538国产精品一区二区免费视频| 国产亚洲亚洲国产一二区| 欧美高清性xxxxhd| 伊人激情综合| 国产在线观看中文字幕| 国产日韩欧美一区二区三区乱码 | 亚洲视频成人| 中文字幕一区二区三区四| 欧美激情综合在线| 中文字幕第四页| 亚洲精品在线免费观看视频| 国产原创在线观看| 国产精品无av码在线观看| 老牛影视av一区二区在线观看| 懂色av一区二区三区四区五区| 日韩精品一二三区| 人妻无码一区二区三区| 亚洲一区二区三区中文字幕在线| 97精品人妻一区二区三区香蕉| 亚洲欧美另类自拍| 中文字幕人成乱码在线观看| 成人看片视频| 亚洲欧美综合| 欧美国产在线一区| 亚洲色图欧美在线| 国产精品久久777777换脸| 亚洲日韩中文字幕在线播放| 不卡av影片| 久中文字幕一区| 新狼窝色av性久久久久久| 9.1成人看片| 欧美性感美女h网站在线观看免费| 午夜老司机福利| 欧美成人三级视频网站| 国产精品一区免费在线| 午夜探花在线观看| 国产一区二区三区av电影| www日韩在线| 日韩片之四级片| av免费在线网站| 成人在线观看av| 亚洲国产一区二区三区高清| 免费观看一区二区三区| 亚洲午夜久久久久久久久电影网| 性一交一乱一透一a级| 欧美黄色片视频| 卡通动漫精品一区二区三区| 精品中文字幕av| 国产三级欧美三级日产三级99| 久久精品国产亚洲av麻豆蜜芽| 深夜福利一区二区| 亚洲伦理网站| 成年人视频网站免费| 成人精品毛片| 在线播放日韩专区| 久久亚洲精品中文字幕| 亚洲日本精品国产第一区| 美国欧美日韩国产在线播放| 肉色超薄丝袜脚交69xx图片| 女仆av观看一区| 97在线免费公开视频| 国产午夜精品久久久久久久 | 婷婷精品进入| 韩国三级丰满少妇高潮| 亚洲成人自拍网| 黄色网址在线播放| 国产九九精品视频| 欧美国产精品| 亚洲国产果冻传媒av在线观看| 色综合久久久久综合| 欧美人xxx| 国新精品乱码一区二区三区18| 久久动漫亚洲| 免费高清在线观看电视| 亚洲电影免费观看| 视频精品导航| www成人免费| 国产午夜精品福利| 国产高清在线免费| 日本久久久久久久| 91免费精品| 国产制服丝袜在线| 欧美日本一区二区三区| 国产美女高潮在线观看| 亚洲 国产 欧美一区| 成人午夜免费电影| 精品国产www| 久久噜噜噜精品国产亚洲综合| 精品国产91| 黄色激情在线观看| 欧美日韩高清在线播放| 国模私拍一区二区国模曼安| 一本一生久久a久久精品综合蜜| 北岛玲一区二区三区四区|