日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小规模流处理kata。 第1部分:线程池

發布時間:2023/12/3 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小规模流处理kata。 第1部分:线程池 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我再次為我的公司在GeeCON 2016上舉辦了編程競賽。 這次分配需要設計并根據以下要求選擇實施系統:

一個系統每秒傳送約一千個事件。 每個Event至少具有兩個屬性:

  • clientId –我們期望一個客戶端每秒最多可以處理幾個事件
  • UUID –全球唯一

消耗一個事件大約需要10毫秒。 設計此類流的使用者:

  • 允許實時處理事件
  • 與一個客戶端有關的事件應按順序進行處理,即,您不能并行處理同一clientId事件
  • 如果10秒鐘內出現重復的UUID ,請將其刪除。 假設10秒鐘后不會出現重復
  • 這些要求中沒有幾個重要的細節:

  • 1000個事件/秒和10毫秒消耗一個事件。 顯然,我們至少需要10個并發使用者才能實時消費。
  • 事件具有自然的聚合ID( clientId )。 在一秒鐘內,我們可以為給定的客戶預料到一些事件,并且不允許我們同時或無序處理它們。
  • 我們必須以某種方式忽略重復的消息,最有可能的是通過記住最近10秒鐘內的所有唯一ID。 這使大約一萬個UUID得以臨時保留。
  • 在本文中,我將指導您完成幾個正確的解決方案,并進行一些嘗試。 您還將學習如何使用少量精確定位的指標來解決問題。

    天真的順序處理

    讓我們通過迭代解決這個問題。 首先,我們必須對API進行一些假設。 想象一下:

    interface EventStream {void consume(EventConsumer consumer);}@FunctionalInterface interface EventConsumer {Event consume(Event event); }@Value class Event {private final Instant created = Instant.now();private final int clientId;private final UUID uuid;}

    典型的基于推送的API,類似于JMS。 一個重要的注意事項是EventConsumer正在阻止,這意味著直到EventConsumer消耗了前一個Event ,它才交付新的Event 。 這只是我所做的一個假設,并沒有徹底改變需求。 這也是JMS中消息偵聽器的工作方式。 天真的實現只附加了一個偵聽器,該偵聽器需要大約10毫秒才能完成:

    class ClientProjection implements EventConsumer {@Overridepublic Event consume(Event event) {Sleeper.randSleep(10, 1);return event;}}

    當然,在現實生活中,該消費者會將一些東西存儲在數據庫中,進行遠程調用等。我在睡眠時間分配中添加了一些隨機性,以使手動測試更加實際:

    class Sleeper {private static final Random RANDOM = new Random();static void randSleep(double mean, double stdDev) {final double micros = 1_000 * (mean + RANDOM.nextGaussian() * stdDev);try {TimeUnit.MICROSECONDS.sleep((long) micros);} catch (InterruptedException e) {throw new RuntimeException(e);}}}//...EventStream es = new EventStream(); //some real implementation here es.consume(new ClientProjection());

    它可以編譯并運行,但是為了確定未滿足要求,我們必須插入少量指標。 最重要的度量標準是消息消耗的延遲,以消息創建到開始處理之間的時間來衡量。 我們將為此使用Dropwizard指標 :

    class ClientProjection implements EventConsumer {private final ProjectionMetrics metrics;ClientProjection(ProjectionMetrics metrics) {this.metrics = metrics;}@Overridepublic Event consume(Event event) {metrics.latency(Duration.between(event.getCreated(), Instant.now()));Sleeper.randSleep(10, 1);return event;}}

    提取ProjectionMetrics類以分離職責:

    import com.codahale.metrics.Histogram; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.Slf4jReporter; import lombok.extern.slf4j.Slf4j;import java.time.Duration; import java.util.concurrent.TimeUnit;@Slf4j class ProjectionMetrics {private final Histogram latencyHist;ProjectionMetrics(MetricRegistry metricRegistry) {final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry).outputTo(log).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build();reporter.start(1, TimeUnit.SECONDS);latencyHist = metricRegistry.histogram(MetricRegistry.name(ProjectionMetrics.class, "latency"));}void latency(Duration duration) {latencyHist.update(duration.toMillis());} }

    現在,當您運行幼稚的解決方案時,您會很快發現中值延遲以及99.9%的百分數無限增長:

    type=HISTOGRAM, [...] count=84, min=0, max=795, mean=404.88540608274104, [...]median=414.0, p75=602.0, p95=753.0, p98=783.0, p99=795.0, p999=795.0 type=HISTOGRAM, [...] count=182, min=0, max=1688, mean=861.1706371990878, [...]median=869.0, p75=1285.0, p95=1614.0, p98=1659.0, p99=1678.0, p999=1688.0[...30 seconds later...]type=HISTOGRAM, [...] count=2947, min=14, max=26945, mean=15308.138585757424, [...]median=16150.0, p75=21915.0, p95=25978.0, p98=26556.0, p99=26670.0, p999=26945.0

    30秒后,我們的應用程序平均會延遲15秒處理事件。 并非完全實時 。 顯然,缺少并發是任何原因。 我們的ClientProjection事件使用者大約需要10毫秒才能完成,因此它每秒可以處理多達100個事件,而我們還需要一個數量級。 我們必須以某種方式擴展ClientProjection 。 而且我們甚至都沒有觸及其他要求!

    天真線程池

    最明顯的解決方案是從多個線程調用EventConsumer 。 最簡單的方法是利用ExecutorService :

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;class NaivePool implements EventConsumer, Closeable {private final EventConsumer downstream;private final ExecutorService executorService;NaivePool(int size, EventConsumer downstream) {this.executorService = Executors.newFixedThreadPool(size);this.downstream = downstream;}@Overridepublic Event consume(Event event) {executorService.submit(() -> downstream.consume(event));return event;}@Overridepublic void close() throws IOException {executorService.shutdown();} }

    我們在這里使用裝飾器模式 。 實現EventConsumer的原始ClientProjection是正確的。 但是,我們使用EventConsumer另一個實現來包裝它,該實現增加了并發性。 這將使我們能夠編寫復雜的行為而無需更改ClientProjection本身。 這樣的設計促進:

    • 松散耦合:各種EventConsumer彼此都不了解,可以自由組合
    • 單一職責:每個人都做一份工作,然后委派給下一個組成部分
    • 開放/封閉原則 :我們可以在不修改現有實現的情況下更改系統的行為。

    打開/關閉原理通常通過注入策略和模板方法模式來實現。 在這里,它甚至更簡單。 整體接線如下:

    MetricRegistry metricRegistry =new MetricRegistry(); ProjectionMetrics metrics =new ProjectionMetrics(metricRegistry); ClientProjection clientProjection =new ClientProjection(metrics); NaivePool naivePool =new NaivePool(10, clientProjection); EventStream es = new EventStream(); es.consume(naivePool);

    我們精心設計的指標表明情況確實好得多:

    type=HISToOGRAM, count=838, min=1, max=422, mean=38.80768197277468, [...]median=37.0, p75=45.0, p95=51.0, p98=52.0, p99=52.0, p999=422.0 type=HISTOGRAM, count=1814, min=1, max=281, mean=47.82642776789085, [...]median=51.0, p75=57.0, p95=61.0, p98=62.0, p99=63.0, p999=65.0[...30 seconds later...]type=HISTOGRAM, count=30564, min=5, max=3838, mean=364.2904915942238, [...]median=352.0, p75=496.0, p95=568.0, p98=574.0, p99=1251.0, p999=3531.0

    但是,我們仍然看到延遲的規模越來越小,在30秒后,延遲達到了364毫秒。 它一直在增長,所以問題是系統的。 我們……需要……更多……指標。 請注意, NaivePool (您很快就會知道為什么它是naive )有正好有10個線程NaivePool 。 這應該足以處理數千個事件,每個事件需要10毫秒來處理。 實際上,我們需要一點額外的處理能力,以避免垃圾收集后或負載高峰時出現問題。 為了證明線程池實際上是我們的瓶頸,最好監視其內部隊列。 這需要一些工作:

    class NaivePool implements EventConsumer, Closeable {private final EventConsumer downstream;private final ExecutorService executorService;NaivePool(int size, EventConsumer downstream, MetricRegistry metricRegistry) {LinkedBlockingQueue<Runnable> queue = new LinkedBlockingQueue<>();String name = MetricRegistry.name(ProjectionMetrics.class, "queue");Gauge<Integer> gauge = queue::size;metricRegistry.register(name, gauge);this.executorService = new ThreadPoolExecutor(size, size, 0L, TimeUnit.MILLISECONDS, queue);this.downstream = downstream;}@Overridepublic Event consume(Event event) {executorService.submit(() -> downstream.consume(event));return event;}@Overridepublic void close() throws IOException {executorService.shutdown();} }

    這里的想法是手動創建ThreadPoolExecutor ,以提供自定義的LinkedBlockingQueue實例。 我們稍后可以使用該隊列來監視其長度(請參閱: ExecutorService – 10個技巧 )。 Gauge將定期調用queue::size并將其報告給您需要的地方。 度量標準確認線程池大小確實是一個問題:

    type=GAUGE, name=[...].queue, value=35 type=GAUGE, name=[...].queue, value=52[...30 seconds later...]type=GAUGE, name=[...].queue, value=601

    容納待處理任務的隊列的大小不斷增加,這會損害延遲。 將線程池大小從10增加到20最終會報告出不錯的結果,并且沒有停頓。 但是,我們仍然沒有解決重復項,也沒有針對同一clientId防止事件的同時修改。

    模糊鎖定

    讓我們從避免對同一clientId的事件進行并發處理開始。 如果兩個事件接連發生,并且都與同一個clientId相關,那么NaivePool將同時選擇它們并開始同時處理它們。 首先,我們至少通過為每個clientId設置一個Lock來發現這種情況:

    @Slf4j class FailOnConcurrentModification implements EventConsumer {private final ConcurrentMap<Integer, Lock> clientLocks = new ConcurrentHashMap<>();private final EventConsumer downstream;FailOnConcurrentModification(EventConsumer downstream) {this.downstream = downstream;}@Overridepublic Event consume(Event event) {Lock lock = findClientLock(event);if (lock.tryLock()) {try {downstream.consume(event);} finally {lock.unlock();}} else {log.error("Client {} already being modified by another thread", event.getClientId());}return event;}private Lock findClientLock(Event event) {return clientLocks.computeIfAbsent(event.getClientId(),clientId -> new ReentrantLock());}}

    這肯定是朝錯誤的方向前進。 復雜程度不計其數,但運行此代碼至少表明存在問題。 事件處理管道如下所示,一個裝飾器包裝了另一個裝飾器:

    ClientProjection clientProjection =new ClientProjection(new ProjectionMetrics(metricRegistry)); FailOnConcurrentModification failOnConcurrentModification =new FailOnConcurrentModification(clientProjection); NaivePool naivePool =new NaivePool(10, failOnConcurrentModification, metricRegistry); EventStream es = new EventStream();es.consume(naivePool);

    有時會彈出錯誤消息,告訴我們其他一些線程已經在處理同一clientId事件。 對于每個clientId我們關聯一個我們檢查的Lock ,以便確定當前是否有另一個線程不在處理該客戶端。 盡管丑陋,但實際上我們已經接近殘酷的解決方案。 而不是因為另一個線程已經在處理某個事件而無法獲得Lock時失敗,讓我們稍等一下,希望Lock可以被釋放:

    @Slf4j class WaitOnConcurrentModification implements EventConsumer {private final ConcurrentMap<Integer, Lock> clientLocks = new ConcurrentHashMap<>();private final EventConsumer downstream;private final Timer lockWait;WaitOnConcurrentModification(EventConsumer downstream, MetricRegistry metricRegistry) {this.downstream = downstream;lockWait = metricRegistry.timer(MetricRegistry.name(WaitOnConcurrentModification.class, "lockWait"));}@Overridepublic Event consume(Event event) {try {final Lock lock = findClientLock(event);final Timer.Context time = lockWait.time();try {final boolean locked = lock.tryLock(1, TimeUnit.SECONDS);time.stop();if(locked) {downstream.consume(event);}} finally {lock.unlock();}} catch (InterruptedException e) {log.warn("Interrupted", e);}return event;}private Lock findClientLock(Event event) {return clientLocks.computeIfAbsent(event.getClientId(),clientId -> new ReentrantLock());}}

    這個想法非常相似。 但是, tryLock()失敗,它最多等待1秒,以希望釋放給定客戶端的Lock 。 如果兩個事件很快相繼發生,則一個事件將獲得一個Lock并繼續執行,而另一個事件將阻止等待unlock()發生。

    不僅這些代碼確實令人費解,而且還可能以許多微妙的方式被破壞。 例如,如果同一個clientId兩個事件幾乎完全同時發生,但顯然是第一個事件,該怎么辦? 這兩個事件將同時請求Lock ,并且我們無法保證哪個事件會首先獲得不公平的Lock ,從而可能會亂序使用事件。 肯定有更好的辦法…

    專用線程

    讓我們退后一步,深吸一口氣。 您如何確保事情不會同時發生? 好吧,只需使用一個線程! 事實上,這是我們一開始所做的,但是吞吐量并不令人滿意。 但是我們不關心不同的clientId的并發性,我們只需要確保具有相同clientId事件始終由同一線程處理即可!

    也許您會想到創建從clientId到Thread的映射? 好吧,這將過于簡單化。 我們將創建成千上萬個線程,大部分時間根據需求空閑(對于給定的clientId每秒只有很少的事件)。 一個不錯的折衷方案是固定大小的線程池,每個線程負責clientId的眾所周知的子集。 這樣,兩個不同的clientId可以結束在同一線程上,但是同一clientId將始終由同一線程處理。 如果出現同一clientId兩個事件,則它們都將被路由到同一線程,從而避免了并發處理。 實現非常簡單:

    class SmartPool implements EventConsumer, Closeable {private final List<ExecutorService> threadPools;private final EventConsumer downstream;SmartPool(int size, EventConsumer downstream, MetricRegistry metricRegistry) {this.downstream = downstream;List<ExecutorService> list = IntStream.range(0, size).mapToObj(i -> Executors.newSingleThreadExecutor()).collect(Collectors.toList());this.threadPools = new CopyOnWriteArrayList<>(list);}@Overridepublic void close() throws IOException {threadPools.forEach(ExecutorService::shutdown);}@Overridepublic Event consume(Event event) {final int threadIdx = event.getClientId() % threadPools.size();final ExecutorService executor = threadPools.get(threadIdx);executor.submit(() -> downstream.consume(event));return event;} }

    關鍵部分就在最后:

    int threadIdx = event.getClientId() % threadPools.size(); ExecutorService executor = threadPools.get(threadIdx);

    這個簡單的算法將始終對相同的clientId使用相同的單線程ExecutorService 。 不同的ID可在同一池中結束,例如,當池大小是20 ,客戶機7 , 27 , 47等,將使用相同的線程。 但這可以,只要一個clientId始終使用同一線程即可。 此時,不需要鎖定,并且可以保證順序調用,因為同一客戶端的事件始終由同一線程執行。 旁注:每個clientId一個線程無法擴展,但是每個clientId一個角色(例如,在Akka中)是一個很好的主意,它可以簡化很多工作。

    為了更加安全,我在每個線程池中插入了平均隊列大小的指標,從而使實現更長:

    class SmartPool implements EventConsumer, Closeable {private final List<LinkedBlockingQueue<Runnable>> queues;private final List<ExecutorService> threadPools;private final EventConsumer downstream;SmartPool(int size, EventConsumer downstream, MetricRegistry metricRegistry) {this.downstream = downstream;this.queues = IntStream.range(0, size).mapToObj(i -> new LinkedBlockingQueue<Runnable>()).collect(Collectors.toList());List<ThreadPoolExecutor> list = queues.stream().map(q -> new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, q)).collect(Collectors.toList());this.threadPools = new CopyOnWriteArrayList<>(list);metricRegistry.register(MetricRegistry.name(ProjectionMetrics.class, "queue"), (Gauge<Double>) this::averageQueueLength);}private double averageQueueLength() {double totalLength =queues.stream().mapToDouble(LinkedBlockingQueue::size).sum();return totalLength / queues.size();}//...}

    如果您偏執狂,甚至可以為每個隊列創建一個指標。

    重復數據刪除和冪等

    在分布式環境中,當生產者至少有一次保證時,接收重復事件是很常見的。 這種行為背后的原因不在本文討論范圍之內,但我們必須學習如何解決該問題。 一種方法是將全局唯一標識符( UUID )附加到每封郵件,并在使用方確保具有相同標識符的郵件不會被處理兩次。 每個Event都有這樣的UUID 。 根據我們的要求,最直接的解決方案是簡單地存儲所有可見的UUID并在到達時驗證接收到的UUID從未見過。 按原樣使用ConcurrentHashMap<UUID, UUID> (JDK中沒有ConcurrentHashSet )會導致內存泄漏,因為隨著時間的推移,我們將不斷積累越來越多的ID。 這就是為什么我們僅在最近10秒內查找重復項。 從技術上講,您可以擁有ConcurrentHashMap<UUID, Instant> ,在遇到該問題時可以將其從UUID映射到時間戳。 通過使用后臺線程,我們可以刪除10秒鐘以上的元素。 但是,如果您是快樂的Guava用戶,則具有聲明驅逐策略的Cache<UUID, UUID>可以解決此問題:

    import com.codahale.metrics.Gauge; import com.codahale.metrics.Meter; import com.codahale.metrics.MetricRegistry; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder;import java.util.UUID; import java.util.concurrent.TimeUnit;class IgnoreDuplicates implements EventConsumer {private final EventConsumer downstream;private Cache<UUID, UUID> seenUuids = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build();IgnoreDuplicates(EventConsumer downstream) {this.downstream = downstream;}@Overridepublic Event consume(Event event) {final UUID uuid = event.getUuid();if (seenUuids.asMap().putIfAbsent(uuid, uuid) == null) {return downstream.consume(event);} else {return event;}} }

    為了保證生產安全,我至少認為有兩個指標可能會有用:緩存大小和發現的重復項數量。 讓我們也插入以下指標:

    class IgnoreDuplicates implements EventConsumer {private final EventConsumer downstream;private final Meter duplicates;private Cache<UUID, UUID> seenUuids = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build();IgnoreDuplicates(EventConsumer downstream, MetricRegistry metricRegistry) {this.downstream = downstream;duplicates = metricRegistry.meter(MetricRegistry.name(IgnoreDuplicates.class, "duplicates"));metricRegistry.register(MetricRegistry.name(IgnoreDuplicates.class, "cacheSize"), (Gauge<Long>) seenUuids::size);}@Overridepublic Event consume(Event event) {final UUID uuid = event.getUuid();if (seenUuids.asMap().putIfAbsent(uuid, uuid) == null) {return downstream.consume(event);} else {duplicates.mark();return event;}} }

    最終,我們擁有了構建解決方案的所有要素。 這個想法是由相互封裝的EventConsumer實例組成管道:

  • 首先,我們應用IgnoreDuplicates拒絕重復項
  • 然后,我們調用SmartPool ,它將始終將給定的clientId到同一線程,并在該線程中執行下一階段
  • 最后,調用ClientProjection ,它執行真實的業務邏輯。
  • 您可以選擇在SmartPool和ClientProjection之間放置FailOnConcurrentModification步驟,以提高安全性(設計時不應進行并發修改):

    ClientProjection clientProjection =new ClientProjection(new ProjectionMetrics(metricRegistry)); FailOnConcurrentModification concurrentModification =new FailOnConcurrentModification(clientProjection); SmartPool smartPool =new SmartPool(12, concurrentModification, metricRegistry); IgnoreDuplicates withoutDuplicates =new IgnoreDuplicates(smartPool, metricRegistry); EventStream es = new EventStream(); es.consume(withoutDuplicates);

    我們花了很多工作才能提出相對簡單且結構合理的解決方案(我希望您同意)。 最后,解決并發問題的最佳方法是……避免并發并在一個線程中運行受競爭條件約束的代碼。 這也是Akka actor(每個actor處理單個消息)和RxJava( Subscriber處理的一條消息)背后的思想。 在下一部分中,我們將在RxJava中看到聲明式解決方案。

    翻譯自: https://www.javacodegeeks.com/2016/10/small-scale-stream-processing-kata-part-1-thread-pools.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的小规模流处理kata。 第1部分:线程池的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产精品综合久久久久久 | 99热国产在线观看 | 激情伊人五月天久久综合 | 日本黄色大片免费 | 国产中文在线视频 | 日韩一级理论片 | 93久久精品日日躁夜夜躁欧美 | 成人宗合网 | 成人资源在线播放 | 亚洲一级片在线看 | 久久视频一区二区 | 欧美大香线蕉线伊人久久 | 五月激情丁香 | 91麻豆精品国产91久久久久 | 国产在线毛片 | 精品国产一区二 | 免费在线看成人av | 久久免费的精品国产v∧ | 精品久久久久国产免费第一页 | 久草在线免费资源 | 国产精品免费成人 | 亚洲影音先锋 | 欧美日韩一级在线 | 天天五月天色 | 免费黄色av片 | 免费观看黄 | 日韩美一区二区三区 | 久久精品老司机 | 91福利区一区二区三区 | av一区二区在线观看中文字幕 | 五月天婷婷在线观看视频 | 三级av免费 | 欧美日韩二区在线 | 国产午夜三级一区二区三桃花影视 | 久草在线视频网站 | 免费黄色av | 在线高清av | 久久久久久久久影院 | 69av久久| 五月婷在线视频 | 亚洲成a人片在线观看网站口工 | 国产精品一级视频 | 国产一区二区三区免费在线 | 中文视频一区二区 | 日韩三区在线 | 黄色在线观看免费网站 | 国产成人久久av免费高清密臂 | 521色香蕉网站在线观看 | avcom在线 | 成人影视免费 | 欧美a级片免费看 | 久久免费国产精品1 | 香蕉视频在线免费看 | 午夜黄色大片 | 成人动图 | 成人免费影院 | 欧美 日韩 视频 | 久久天堂亚洲 | 久久99久久99精品免费看小说 | 91在线视频精品 | 国内成人精品视频 | 天天干夜夜操视频 | 国产成人精品一区二区三区网站观看 | 国产美女永久免费 | 午夜视频免费在线观看 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 国产精品久久久久永久免费看 | 狠狠色香婷婷久久亚洲精品 | 国产精品免费久久久久久久久久中文 | 国产精品原创在线 | 亚洲 欧美 另类人妖 | 国产精品久久久一区二区三区网站 | 久久69av| 免费看污在线观看 | 人人插人人艹 | 四虎影视4hu4虎成人 | 人九九精品| 日本天天操 | 美女网站一区 | 中文字幕在线观看不卡 | 在线亚洲免费视频 | 免费看国产黄色 | 国产福利91精品 | 91中文字幕网 | 国产精品成人一区 | 91精品久久香蕉国产线看观看 | 波多野结衣在线观看视频 | 亚洲免费在线看 | 国产99久久久国产 | 99久久毛片 | 亚洲手机av | 欧美视频日韩 | 精品久久福利 | 精品一区免费 | 日本护士三级少妇三级999 | 国产999精品久久久久久 | 免费看一级 | 91在线国产观看 | 亚洲免费精品一区二区 | 成人午夜电影在线 | 96久久欧美麻豆网站 | 国产99久久久国产精品免费看 | 亚洲精品美女久久久久 | 国产在线色站 | 日本在线观看视频一区 | 亚洲最新视频在线播放 | 97碰在线| 日韩精品中文字幕有码 | 国产欧美日韩精品一区二区免费 | 91麻豆网站 | 国产免费久久精品 | 日韩欧美高清一区二区三区 | 九九久久国产 | 亚洲成人999 | 中文在线免费看视频 | 久久成人综合 | 婷婷色站| 成人四虎影院 | 在线观看中文 | 日韩欧美在线高清 | 99国产免费网址 | 精品久久久久国产 | 操一草| 国产在线观看91 | 欧美在线free| 2020天天干天天操 | a视频免费 | 国产精品成久久久久三级 | 国产成本人视频在线观看 | 欧美三人交 | 日韩在线视频网站 | 亚洲另类视频在线观看 | 五月婷婷天堂 | 欧美专区日韩专区 | 在线观看免费成人av | 人人干在线观看 | 九九精品视频在线看 | 成年人在线观看视频免费 | 日韩一级网站 | 日韩动漫免费观看高清完整版在线观看 | 国产999精品| 成x99人av在线www | 成人免费一区二区三区在线观看 | 久久爱影视i| 欧美久久久久 | 亚洲黄色一级电影 | 天天草天天摸 | 亚洲第一区在线播放 | 日本中文字幕免费观看 | 一区二区三区在线播放 | 日韩av免费一区 | 国产精品毛片一区视频 | 香蕉久久久久久av成人 | 日本中文字幕电影在线免费观看 | 亚洲精品网站 | 国产精品黄色 | 国产一级片免费播放 | 欧美精品xxx| 中文字幕亚洲欧美 | 国产精品国产三级国产 | 亚洲午夜精品一区 | 日本少妇高清做爰视频 | 在线观看韩日电影免费 | 日韩丝袜视频 | 中文在线资源 | 欧美日韩亚洲一 | 久久久久久美女 | 久久九九影视网 | 92av视频 | 国产精品视频观看 | 碰超在线97人人 | 久久久久久久久免费 | 国产精品黑丝在线观看 | 国产高清专区 | www.91成人 | 久久高清免费观看 | 国产一区二区在线免费播放 | 日韩av在线网站 | 国产成人免费精品 | 久久久99精品免费观看 | 日日夜夜狠狠操 | 亚洲精品久久久久999中文字幕 | 亚州国产精品视频 | 国产亚洲精品bv在线观看 | 天天se天天cao天天干 | 超碰在线网 | 国产视频在线观看一区二区 | 91看片看淫黄大片 | 日日夜夜精品免费观看 | 中文字幕有码在线播放 | 色婷婷国产在线 | 国产精品高潮呻吟久久av无 | 国产九色在线播放九色 | 91毛片视频 | 亚洲激情 | 中文字幕乱偷在线 | 久久免费视频5 | 国产精品1区2区 | 69性欧美| 黄色片网站av | 丁香激情五月 | 国际av在线| 亚洲免费在线播放视频 | 伊人网站| 69国产盗摄一区二区三区五区 | 欧美日本一区 | 亚洲在线高清 | 国产精品日韩久久久久 | 免费成人在线观看 | 天天天射 | 狠狠网亚洲精品 | 日韩av资源站 | 人人爽人人干 | 91视频在线自拍 | 日本精品在线看 | 天天天综合网 | 国产中文字幕av | 久久国产高清 | 久久在线免费观看 | 最新精品视频在线 | 在线免费91 | 在线观看电影av | 国产原创在线视频 | 婷婷久久精品 | 国产精品手机看片 | 特级a老妇做爰全过程 | 2022中文字幕在线观看 | 天天操天天插 | www178ccom视频在线 | 久草在线资源网 | www.综合网.com| 日韩在线观看精品 | 激情五月五月婷婷 | 久久精彩视频 | 久久成人久久 | 欧美日韩亚洲精品在线 | 天天干.com| 在线观看国产区 | 亚洲97在线 | 亚洲综合视频在线观看 | 中日韩欧美精彩视频 | 国产偷在线| 成人在线一区二区三区 | 色婷婷婷 | 成人一级视频在线观看 | 成人a免费视频 | 色网站黄 | 成年人免费电影在线观看 | 亚洲欧美日韩一二三区 | 免费一级黄色 | 天天天天天操 | 狠狠地操 | 婷婷色中文字幕 | 久久久久久久久久久久av | 免费看91的网站 | 国产99在线| 最新日韩在线 | 波多野结衣亚洲一区二区 | 精品女同一区二区三区在线观看 | 国产黄色大全 | 日韩成人精品 | 一区免费观看 | 欧美日一级片 | 91精品久久久久 | 香蕉久久久久久av成人 | 91麻豆视频网站 | 在线观看中文字幕网站 | 91手机在线看片 | 日韩欧美精品一区 | 国产精品久久嫩一区二区免费 | 亚洲精品综合一区二区 | 国产福利一区在线观看 | 一级黄色免费 | 欧亚久久| 久久国产精品99久久久久 | 精品一区二区三区在线播放 | 精品国产免费观看 | 深爱激情综合网 | 久久国语露脸国产精品电影 | 果冻av在线 | 色偷偷88888欧美精品久久 | 国产资源免费 | 国产免费小视频 | 国产一区视频免费在线观看 | 九九精品视频在线 | 国产不卡免费视频 | 亚洲高清不卡av | 国产无区一区二区三麻豆 | 久久久免费| 日韩免费电影在线观看 | 91精品一区国产高清在线gif | 色干综合 | 国产精品综合av一区二区国产馆 | 久草免费在线观看视频 | 色综合久久88色综合天天人守婷 | 久青草视频| 国产精品久久久av久久久 | 久久国产精品免费一区二区三区 | 午夜av免费在线观看 | 亚洲国产精品影院 | 色综合久久88色综合天天免费 | 国产视频1区2区3区 久久夜视频 | 中文字幕精品一区二区三区电影 | 国内精品久久久久久久 | 九九在线高清精品视频 | 欧美日韩一级视频 | 欧美激情综合色 | 亚洲精选视频免费看 | 在线视频在线观看 | 中文字幕精品一区二区三区电影 | 亚洲国产精品va在线看黑人动漫 | 九九精品在线观看 | 97av影院| 日韩一级片观看 | 韩国av电影在线观看 | 国产大尺度视频 | 精品自拍网 | 欧美性生爱| 国产亚洲精品久久网站 | 五月天天色 | 中文字幕欧美日韩va免费视频 | 国产玖玖视频 | 日韩免费网站 | 在线亚洲播放 | 91中文字幕在线 | 久久综合久久综合久久 | 天天曰天天射 | 国产免费资源 | 成片视频在线观看 | 久久最新视频 | 日韩精品中文字幕在线不卡尤物 | 色综合色综合久久综合频道88 | 91在线超碰 | 久久久久北条麻妃免费看 | 97碰在线| 欧美与欧洲交xxxx免费观看 | 成人在线视频观看 | 成人av免费在线 | 在线97| 国产亚洲欧美一区 | 久久国精品 | www.婷婷色| 亚洲精品久久久久999中文字幕 | 91完整版在线观看 | 午夜av一区 | 久久国产免 | 久久69av| 亚洲人在线视频 | 五月丁香 | 亚洲午夜久久久久久久久久久 | 久久99九九99精品 | 色综合久久久久综合 | 人人爽人人爽人人片 | 免费黄色av. | 久久av伊人 | 69绿帽绿奴3pvideos | 在线视频 精品 | 国产精品99久久99久久久二8 | 国产精品一区二区在线免费观看 | 国产清纯在线 | 西西444www大胆无视频 | 免费高清无人区完整版 | 国产三级精品在线 | 天天干天天综合 | 日韩在线观看的 | 日韩在线一级 | 在线观看中文字幕第一页 | 亚洲欧美视频网站 | 中文字幕第一页在线视频 | 久久伦理电影网 | 久久这里只有精品首页 | av中文字幕免费在线观看 | 久久在现视频 | 久久er99热精品一区二区三区 | 91视频久久久 | 久热av在线 | av成人免费在线看 | 伊人婷婷色 | 午夜精品成人一区二区三区 | 日日精品| 高清免费在线视频 | 成年在线观看 | 中文字幕丝袜制服 | 一区二区 精品 | 国产成人精品在线播放 | 在线视频一二三 | 欧美 日韩 性| 国产电影黄色av | 深夜福利视频一区二区 | 日本性高潮视频 | 日韩在线国产精品 | 波多野结衣在线中文字幕 | 日韩天天操 | 99久久综合国产精品二区 | 精品一区欧美 | 国产一区二区影院 | 色999精品| 欧美精品久久久久久久久久丰满 | 日韩三级.com | 热99久久精品 | 亚洲欧美综合精品久久成人 | 久草在线看片 | 日韩免费中文 | 国产五月色婷婷六月丁香视频 | 超碰人人在线观看 | 91免费看片黄 | 免费观看第二部31集 | 亚洲精品美女在线观看播放 | 色吊丝在线永久观看最新版本 | 96国产精品视频 | 91视频在线观看免费 | 国产99久久久国产精品免费看 | 91探花国产综合在线精品 | avove黑丝 | 免费观看一区二区 | 免费av在线| 久草在线视频资源 | 美女网站一区 | 精品国产乱码久久 | 婷婷在线网站 | 国产视频999 | 中文亚洲欧美日韩 | 久久久国产视频 | 91av视频在线观看免费 | 免费看麻豆 | 日韩免费视频 | 天天爽人人爽夜夜爽 | 九热精品| 欧美va日韩va| 天天综合网天天综合色 | 国产精品久久三 | 色停停五月天 | 亚洲午夜久久久综合37日本 | 国内揄拍国产精品 | 99九九99九九九视频精品 | 亚洲美女精品区人人人人 | 久久九九国产精品 | 午夜在线资源 | 亚洲国产精品99久久久久久久久 | 亚洲综合色站 | 免费在线激情视频 | 国产日产精品一区二区三区四区 | www国产精品com | 麻豆久久一区 | 精品一区三区 | 日韩在线视 | 一区二区欧美日韩 | 日韩欧美高清一区二区三区 | 久久亚洲视频 | 在线观看视频免费大全 | 三上悠亚在线免费 | 在线观看免费国产小视频 | 99精品一级欧美片免费播放 | 亚洲综合爱 | 丁香五月亚洲综合在线 | 国产日产精品一区二区三区四区 | a天堂最新版中文在线地址 久久99久久精品国产 | 91精品国产高清自在线观看 | 六月天色婷婷 | 精品五月天 | 久久免费资源 | 国产免费视频在线 | 九九三级毛片 | 97在线精品国自产拍中文 | 天天干天天操天天 | 久久久五月天 | 成人av日韩 | 亚洲女人天堂成人av在线 | 丝袜少妇在线 | 欧美精品xxx | 就操操久久 | 色在线免费观看 | 中文 一区二区 | 欧美一级黄大片 | 日韩视频精品在线 | 三级黄色免费片 | 99精品国产高清在线观看 | 精品福利国产 | 亚洲精品99久久久久久 | 午夜电影久久久 | 激情久久小说 | 国产日韩av在线 | 国产精品99视频 | 97自拍超碰 | 91精品国产综合久久福利 | 黄色的网站免费看 | 国产成人一区二区三区 | 亚洲精品黄色在线观看 | 欧美日韩精品在线 | 狠狠操天天操 | 国产淫片| 亚洲一区二区黄色 | 久久99精品国产麻豆宅宅 | 91丨九色丨蝌蚪丰满 | 欧美999| 亚洲1区 在线 | 韩日电影在线免费看 | 国内久久久 | 国产一级电影免费观看 | 成人国产精品一区 | 欧美日韩国产伦理 | 日本护士三级少妇三级999 | 国产日本高清 | 国产精品精品视频 | 一级黄色片在线观看 | 欧美激情一区不卡 | 又紧又大又爽精品一区二区 | 波多野结衣一区二区三区中文字幕 | 欧美日韩另类在线观看 | 色综合色综合久久综合频道88 | 精品视频免费播放 | 亚洲国产精品免费 | 久久一区国产 | 午夜精品影院 | 久久精品婷婷 | 高清av免费看 | 久久情网 | 国产精品久久久久久久电影 | 国产精品剧情在线亚洲 | 蜜臀av夜夜澡人人爽人人 | 欧美有色 | 色视频网站在线 | 91c网站色版视频 | 天天操天天吃 | 91探花国产综合在线精品 | 国产成人精品久久久久 | 成人国产精品一区二区 | 丁香婷婷成人 | 国产精品久久久久久久免费大片 | 五月激情久久久 | 97av视频| 日韩精品一区二区三区在线播放 | 日韩资源在线播放 | 欧美性成人 | 久久精品女人毛片国产 | aa一级片 | 中文字幕一区二区三区四区视频 | 欧美日韩精品在线视频 | 久久精品亚洲精品国产欧美 | 美女天天操 | 免费看片黄色 | 96精品视频 | 亚洲黄色一级视频 | 亚洲国产美女精品久久久久∴ | 最新极品jizzhd欧美 | av免费在线网 | 天天拍天天草 | 天天射射天天 | 国产精品ⅴa有声小说 | 在线观看www.| 日韩精品一区二区三区三炮视频 | 国产韩国日本高清视频 | 精品一区二区三区在线播放 | 97夜夜澡人人双人人人喊 | 色诱亚洲精品久久久久久 | 国产91精品看黄网站在线观看动漫 | 日韩亚洲在线 | 国产片网站 | 成人小视频在线观看免费 | 区一区二区三在线观看 | 91av免费看 | 久要激情网| 日韩精品一区二区三区中文字幕 | 99视频免费观看 | 婷婷在线免费 | 国产精品一码二码三码在线 | 久久电影色 | 精品 一区 在线 | 日本丶国产丶欧美色综合 | 伊人中文字幕在线 | 九九在线国产视频 | 色婷婷综合久久久中文字幕 | 亚洲精品乱码白浆高清久久久久久 | 热久久国产精品 | 99 色 | 色多视频在线观看 | 久久激情综合 | 美女免费黄网站 | 亚洲欧美精品一区二区 | 一本一道久久a久久综合蜜桃 | 日韩一区二区三区在线观看 | 欧美日韩久 | 又粗又长又大又爽又黄少妇毛片 | 国产精品观看 | 亚洲精品99久久久久中文字幕 | 啪啪免费观看网站 | 中文字幕欧美日韩va免费视频 | 超碰国产在线 | 狠狠的操 | 狠狠色伊人亚洲综合网站色 | 夜夜高潮夜夜爽国产伦精品 | jizz999| 一区二区亚洲精品 | 国产成本人视频在线观看 | 亚洲 欧美 变态 国产 另类 | 中国精品一区二区 | 日韩午夜小视频 | 久久第四色 | 毛片激情永久免费 | 国产黄a三级 | 国内精品久久久久久中文字幕 | 国产理论在线 | 国产xxxxx在线观看 | 久久激情视频 | 日韩在线观看一区二区 | 97免费在线观看视频 | 国产123区在线观看 国产精品麻豆91 | 国产人在线成免费视频 | 高潮久久久 | 夜夜高潮夜夜爽国产伦精品 | 久久美女免费视频 | 免费av黄色 | 91网站观看| 亚洲五月激情 | 国产亚洲精品久久久久久大师 | av在线免费在线观看 | 三上悠亚在线免费 | 96久久欧美麻豆网站 | 99久久久国产精品免费99 | 欧美在线a视频 | 日韩精品一区二区在线观看 | 国产原创在线观看 | 亚洲九九爱 | 91成人亚洲| 国产福利精品视频 | 狠狠色丁香久久综合网 | 69视频永久免费观看 | 精品高清美女精品国产区 | 国产成本人视频在线观看 | 亚洲精品黄色片 | 亚洲精品免费观看视频 | 国产黄色片免费观看 | 日韩大片在线看 | 亚洲综合色播 | 中文字幕一区二区三区在线视频 | 超碰公开在线观看 | 欧美天天射| 成人在线网站观看 | 色com| 中文字幕大全 | 一级黄色大片在线观看 | 玖草在线观看 | 超级碰碰碰碰 | 国产精品视频免费在线观看 | 黄色av网站在线观看 | 免费在线观看污 | 日本激情动作片免费看 | 九九久久久 | 日本中文字幕视频 | 亚洲精品在线二区 | 91久久国产自产拍夜夜嗨 | 午夜色性片 | 最近日本中文字幕 | 久久视频在线观看 | 麻豆成人精品视频 | 成人一级电影在线观看 | 黄视频网站大全 | 天天干视频在线 | 日韩高清免费在线观看 | 亚洲精品女人久久久 | 在线免费高清一区二区三区 | 欧美日韩国产亚洲乱码字幕 | 在线观看爱爱视频 | 久久好看免费视频 | 国产一区二区在线播放 | 久久精品日本啪啪涩涩 | 色综合天天综合网国产成人网 | 中文字幕在线第一页 | 日韩欧美91 | 插插插色综合 | 亚洲精品国产自产拍在线观看 | 色哟哟国产精品 | 亚洲二区精品 | 欧美黄色软件 | 亚洲va在线va天堂va偷拍 | 亚洲涩涩涩涩涩涩 | 国产91在线观看 | 丁香婷婷久久 | 欧美色婷 | 欧美性生活免费看 | 久久激情网站 | 欧美激情第一区 | 国产高清在线精品 | 日韩免费大片 | 国产69久久久欧美一级 | 国产成人在线观看免费 | 中文字幕在线观看不卡 | 天天操天天干天天 | 欧美三级在线播放 | 97影视| 久久久久精 | 西西444www大胆高清图片 | av资源中文字幕 | 91香蕉视频| 人人爽人人爽人人爽学生一级 | 99国产在线 | 色综合久久久网 | 在线视频 你懂得 | 最近中文字幕在线播放 | 国产黄色免费在线观看 | 狠狠色丁婷婷日日 | 99精品视频免费在线观看 | 六月久久婷婷 | 国产精品乱码一区二三区 | 超碰在线天天 | 婷婷丁香导航 | 日本婷婷色 | 亚洲精品91天天久久人人 | 久久精品系列 | 国产精品久久久久久久妇 | 国产福利一区在线观看 | 在线看日韩av | 天天干天天看 | 亚洲一区二区三区四区精品 | 欧美精品久久 | 欧美在线一二 | 国产91aaa | 日日干日日 | 婷婷四房综合激情五月 | 92中文资源在线 | 又紧又大又爽精品一区二区 | 精品美女久久久久久免费 | 成人av免费网站 | 久久久影视 | 免费在线观看91 | av在线一二三区 | 久久久精品免费看 | 日韩精品视 | 久久99久久99精品免视看婷婷 | 免费看国产黄色 | 久免费 | 亚州精品在线视频 | 天天色天天色天天色 | 亚洲丝袜一区二区 | 亚洲免费精品一区二区 | 日本久久视频 | 99色在线视频 | 人人澡人人爱 | 一级片视频在线 | 国产日本在线 | 久久精品日本啪啪涩涩 | 婷婷色综合色 | 国产一区欧美在线 | 精品国产一区二区三区在线观看 | 日韩av在线小说 | 国产999精品久久久久久绿帽 | 欧美一区二区在线免费观看 | 欧美精品中文字幕亚洲专区 | 午夜影视一区 | 婷婷五综合| 久久在线视频精品 | 四虎www com| 99热国产精品 | 97成人在线免费视频 | 奇米777777| 手机在线看片日韩 | 中文字幕在线观看免费 | 在线观看久草 | 韩国av免费在线观看 | 国产黑丝一区二区 | 欧美精品一区在线 | 97视频在线观看免费 | 综合激情网... | 国产91学生粉嫩喷水 | 精品久久精品久久 | 亚洲综合爱| av网站免费看 | 婷婷日韩 | 99久久精品久久亚洲精品 | 美女免费黄视频网站 | 久久久久久久免费观看 | 欧美福利视频 | 欧洲激情在线 | 亚洲精品国产精品国自产观看浪潮 | 99视频在线精品国自产拍免费观看 | 国产在线精品观看 | 久久精品看 | 一本一道久久a久久精品蜜桃 | 青青久草在线视频 | 不卡av电影在线观看 | 日韩精品免费在线播放 | 探花视频在线观看免费版 | 亚洲在线国产 | 亚洲免费专区 | 黄色片视频在线观看 | 亚洲黄色片 | www.久久爱.cn| 欧美大片在线看免费观看 | 国产成人综合图片 | 欧美成人69av | 亚洲久草在线视频 | 婷婷婷国产在线视频 | 五月综合激情网 | 黄色三几片 | 国产精品久久久久婷婷 | 91福利社在线观看 | 911精品美国片911久久久 | 日韩免费观看高清 | 一区二区三区播放 | 亚洲精品视频www | 欧洲av不卡 | 国产一区二区免费看 | 特级毛片在线免费观看 | 色婷婷电影网 | 日韩精品一区二区三区在线播放 | 亚洲欧美999 | 日韩视频图片 | 综合网伊人 | 亚洲综合视频在线播放 | www..com毛片| 日韩中文字幕视频在线 | 久久午夜影视 | 欧美大片在线看免费观看 | 91在线操| 五月的婷婷 | 亚洲精品国偷拍自产在线观看 | 欧美日韩国产精品久久 | 精品久久久久久久 | 韩日视频在线 | 91 在线视频播放 | 日韩亚洲在线 | 热热热热热色 | 久久狠狠婷婷 | 亚洲欧美激情插 | 亚洲一本视频 | 国产精品2019 | 亚洲一区久久久 | 欧美性大战| 国产一区在线观看免费 | 免费男女网站 | 日日日视频 | 国产91在线免费视频 | 国产精品99在线观看 | 视频91在线| 狠狠久久综合 | 97爱爱爱| 国产一级精品视频 | 国产在线精品播放 | 国产不卡精品 | 日日干干夜夜 | 国产亚洲精品久久久久久久久久 | 91成人免费在线 | 91精品视频在线免费观看 | 国产精品门事件 | 日韩精品免费在线观看视频 | 亚洲国产免费看 | 一区二区三区四区久久 | 81国产精品久久久久久久久久 | 黄色三级免费网址 | 欧美日韩aa| 亚洲精品视频网站在线观看 | 国产美腿白丝袜足在线av | 一区二区精品 | 国产成人精品一区在线 | 久久精品导航 | 免费视频国产 | 97在线视频免费 | 最近免费中文字幕mv在线视频3 | 亚洲欧美国产日韩在线观看 | 97av视频在线观看 | 婷婷综合av| 成年人免费在线播放 | 国产欧美高清 | 99久久精品久久久久久动态片 | 正在播放国产一区二区 | 精品在线免费视频 | 欧美性生活一级片 | www.干| 蜜臀aⅴ精品一区二区三区 久久视屏网 | 亚洲日本va午夜在线影院 | 欧美精品在线一区 | 久久99影院 | 在线视频app | 天堂av在线中文在线 | 国产精品久久久久久久久久免费看 | 国产精品亚洲精品 | 国产精品v欧美精品v日韩 | 在线观看国产福利片 | 亚洲精品视频在线观看免费 | 亚洲国产日韩欧美在线 | 亚洲伦理电影在线 | 久久天天躁夜夜躁狠狠躁2022 | 日韩无在线 | 狠狠躁夜夜躁人人爽超碰91 | 亚洲视频axxx | 99久久精品一区二区成人 | 欧美激情视频一区 | 日本中文字幕在线一区 | 国产亚洲欧美精品久久久久久 | 久草在线资源观看 | 亚洲在线黄色 | 精品国产亚洲日本 | 四虎永久精品在线 | 免费看的黄网站软件 | 日韩三级av| 又粗又长又大又爽又黄少妇毛片 | 日韩精品一区在线播放 | 五月婷婷在线视频观看 | 久久久在线免费观看 | 国产精品久久毛片 | 四虎海外影库www4hu | 中国一区二区视频 | 日本h在线播放 | 欧美久久久久久久久中文字幕 | 麻豆成人网 | 韩国av三级| 伊人黄 | 天堂资源在线观看视频 | 精品久久久网 | 欧美日韩免费一区二区 | 在线观看日韩专区 | 欧美激情精品久久久久久 | 天天久久综合 | www.福利| 国产精品1区2区3区在线观看 | 国产一级黄色电影 | 亚洲一区二区观看 | 日韩毛片在线免费观看 | 成人av免费在线 | 日韩免费在线一区 | 成人久久久久 | 欧美精品久久久久性色 | 国产韩国日本高清视频 | 一区二区三区在线观看免费 | 人人爽人人爽人人片av | 国产一区视频在线观看免费 | 免费精品视频在线 | 狠狠狠狠狠色综合 | 久草视频在线新免费 | 国产婷婷精品av在线 | 亚洲成人黄色 | 色噜噜噜 | 国产精品99视频 | 久久人91精品久久久久久不卡 | 91在线免费视频观看 | www.色综合.com | 亚洲另类人人澡 | 97人人精品 | 国产精品入口a级 | 日韩精品一区在线观看 | 在线观看成人 | 青草视频在线免费 | 日韩国产精品久久久久久亚洲 | 久久精品中文视频 | 午夜精品一区二区三区在线 | 日韩精品免费在线播放 | 麻豆国产精品永久免费视频 | www.天天综合 | 亚洲午夜精品久久久久久久久 | 狠狠干狠狠操 | 成人黄色av免费在线观看 | 激情婷婷综合 | 99久久这里有精品 | 在线日韩中文字幕 | 在线播放国产一区二区三区 | 亚洲我射av| 国产在线传媒 | 欧美亚洲免费在线一区 | 免费在线视频一区二区 | 99久热在线精品视频成人一区 | 青青久草在线视频 | 免费视频黄色 | 亚洲黄污| 欧美高清成人 | 色综合久 | 久久精品老司机 | 亚洲精品国产精品国自产观看浪潮 | 亚洲手机av| 国产日韩精品一区二区三区在线 | 久久综合九色综合网站 | 欧美日韩在线视频免费 | 干干干操操操 | 精品国产1区2区3区 国产欧美精品在线观看 | 四虎永久免费网站 | 久草在线视频免赞 | 91传媒91久久久 | 亚洲精品电影在线 | 国产一区视频免费在线观看 | 亚洲欧美一区二区三区孕妇写真 | 欧美极品少妇xxxx | 日韩欧美精品在线观看视频 | 在线观看免费视频你懂的 | 在线亚洲午夜片av大片 | 三级av中文字幕 | 91精品伦理 | 在线视频成人 | 夜夜躁天天躁很躁波 | 88av视频| 黄色毛片在线看 | 国产精品黄网站在线观看 | 国产高清视频在线播放一区 | 在线亚洲激情 | 一区二区三区国产精品 | 国产精品自产拍在线观看中文 | av线上免费看 | 免费在线黄 | 日韩二区精品 | 在线观看视频免费播放 |