免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

異步HTTP客戶端對決:HttpAsyncClient能否替代WebClient

異步HTTP客戶端對決:HttpAsyncClient能否替代WebClient 有個群里聊到一個挺有意思的問題既然 Apache HttpAsyncClient 也是異步 HTTP 客戶端能不能直接替換掉 Spring WebFlux 的 WebClient畢竟很多團(tuán)隊嘴上說著響應(yīng)式實際寫代碼還是 Future、回調(diào)那一套WebClient 的 Mono/Flux 鏈?zhǔn)綄懛ù_實勸退了不少人。這個問題背后其實是在問兩件事兩個客戶端到底差了些什么以及我的項目到底屬于哪種異步場景。今天就把這兩個東西掰開揉碎對比一遍順便結(jié)合我實際遷移和排障的經(jīng)驗聊聊什么時候該用誰什么時候千萬別硬換。先說一個結(jié)論HttpAsyncClient 和 WebClient 都是異步、非阻塞的 HTTP 客戶端但它們的異步模型完全不是一個流派。HttpAsyncClient 走的是“回調(diào) Future”的傳統(tǒng)異步路線WebClient 走的是“響應(yīng)式流 背壓”的 Reactive Streams 路線。單看“能不能替代”答案是有條件地能但你要是想在一個 WebFlux 全鏈路的項目里無腦替換那大概率會把簡單事情搞復(fù)雜甚至讓整個調(diào)用鏈的響應(yīng)式語義徹底崩掉。下面我會分五塊來聊每一塊都會給出能直接落地的代碼和配置也會把踩過的坑交代清楚。1. 先搞清楚兩個客戶端的本質(zhì)差異1.1 HttpAsyncClient 是什么、怎么運作HttpAsyncClient 是 Apache HttpComponents 旗下的異步 HTTP 客戶端算得上后端江湖里的老牌異步組件了。它底層基于 NIO發(fā)起請求以后不會卡住當(dāng)前線程而是通過回調(diào)或者 Future 在請求完成后再拿到結(jié)果。最典型的用法是這樣CloseableHttpAsyncClient client HttpAsyncClients.custom() .setMaxConnPerRoute(20) .setMaxConnTotal(200) .build(); client.start(); HttpGet request new HttpGet(https://example.com/api/data); FutureHttpResponse future client.execute(request, null); // 注意future.get() 是阻塞的在這里調(diào)了就是同步 HttpResponse response future.get();不想阻塞的話可以傳入一個 FutureCallback請求完成時框架會在自己的 I/O 線程里回調(diào)你client.execute(request, new FutureCallbackHttpResponse() { Override public void completed(HttpResponse result) { // 這里可以處理響應(yīng) } Override public void failed(Exception ex) { // 異常處理 } Override public void cancelled() { // 取消處理 } });這種模式眼熟吧很多老框架用了一輩子這種套路。它的優(yōu)點是很直觀一下就能看懂請求發(fā)出去、結(jié)果回來之后干什么。缺點也同樣直觀一旦業(yè)務(wù)復(fù)雜起來回調(diào)嵌套、多個請求并發(fā)歸并、重試、超時這些事都得你自己拿代碼去湊寫起來非常容易失控。1.2 WebClient 是什么、怎么運作WebClient 是 Spring WebFlux 給出來的響應(yīng)式 HTTP 客戶端。它跑在 Reactor 之上返回的全部是 Mono 或 Flux也就是“發(fā)布者”。你調(diào)一次 WebClient 并不會立即發(fā)起請求只是定義了一個數(shù)據(jù)流等下游真正訂閱的時候才會觸發(fā)網(wǎng)絡(luò)調(diào)用。典型寫法長這樣WebClient webClient WebClient.builder() .baseUrl(https://example.com) .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .build(); MonoString result webClient.get() .uri(/api/data) .retrieve() .bodyToMono(String.class);光看這段你可能會覺得和普通聲明式 API 差不多。但 WebClient 真正的殺傷力在于它能把多個請求組合成一個響應(yīng)式鏈路然后統(tǒng)一編排超時、重試、錯誤恢復(fù)和并發(fā)執(zhí)行Mono.zip( webClient.get().uri(/api/a).retrieve().bodyToMono(A.class), webClient.get().uri(/api/b).retrieve().bodyToMono(B.class) ) .map(tuple - combine(tuple.getT1(), tuple.getT2())) .retryWhen(Retry.backoff(3, Duration.ofSeconds(1))) .timeout(Duration.ofSeconds(5)) .onErrorResume(e - Mono.just(fallbackValue));這一串操作在 WebClient 里就是幾個 operator放在 HttpAsyncClient 里你要寫多少回調(diào)、多少共享狀態(tài)、多少個 CountDownLatch 才能把并發(fā)歸并做完想都不敢想。1.3 真正的分水嶺回調(diào)模型與響應(yīng)式模型所以你會發(fā)現(xiàn)這兩個客戶端表面上看都是“發(fā)起異步請求、不阻塞線程”但本質(zhì)區(qū)別在于程序設(shè)計范式。HttpAsyncClient 的異步終點是 Future 和回調(diào)它解決的是“別讓線程傻等 I/O”的問題。你拿到 Future 以后仍需自己考慮如何把多個異步結(jié)果組合起來或者如何優(yōu)雅處理失敗。雖然也能搭配 CompletableFuture 做編排但這是從外部把它硬包成響應(yīng)式或組合式的樣子核心還是命令式的。WebClient 的異步終點是 Publisher它強調(diào)的是“數(shù)據(jù)流動鏈路”。發(fā)請求只是整個響應(yīng)式流中的一個節(jié)點上游、下游天然帶有背壓機制你可以用 flatMap、zip、retryWhen、timeout 這些操作符像搭積木一樣搭出一個聲明式的執(zhí)行流程。麻煩也是顯而易見的學(xué)習(xí) Reactor 的思維模型比學(xué)會 HttpClient API 要難得多。不少人把“異步”當(dāng)成一個統(tǒng)一概念認(rèn)為換了客戶端就換了異步姿勢。實際上從 HttpAsyncClient 切到 WebClient或者反過來切你改變的不僅是 API而是整條調(diào)用鏈的編程模型。這個認(rèn)知如果不建立起來后面任何一個遷移方案都會踩坑。2. 逐項對比從 API 風(fēng)格到生態(tài)集成2.1 編程模型與 API 風(fēng)格的差距先看最簡單的“單個請求同步等結(jié)果”。HttpAsyncClient 里最典型的寫法就是future.get()這一行代碼下去當(dāng)前線程就阻塞了所以嚴(yán)格說這只是“支持異步但允許你同步等待”。而 WebClient 如果非要同步拿結(jié)果得先block()再返回比如webClient.get()...block()這種寫法在 WebFlux 服務(wù)端里屬于高危動作但放在普通 Spring MVC 里倒是能用。再看復(fù)雜編排。我用 HttpAsyncClient 做過一次多接口聚合兩個請求并發(fā)出去然后等兩個都回來以后做合并當(dāng)時的偽代碼大概是這樣FutureHttpResponse futureA client.execute(requestA, null); FutureHttpResponse futureB client.execute(requestB, null); HttpResponse responseA futureA.get(); HttpResponse responseB futureB.get(); // 合并處理這看起來沒什么但兩個get()是串行阻塞的。要是想真正并發(fā)等待還得用CompletableFuture.allOf(...)把兩個 Future 包一層。一旦加上超時、重試、熔斷代碼復(fù)雜度會指數(shù)級上升。而 WebClient 用Mono.zip和retryWhen幾行就搞定代碼可讀性完全不在一個量級。不過這里要公平說一句并不是所有項目都需要復(fù)雜編排。如果你的場景就是“發(fā)一個請求拿一個響應(yīng)完事”HttpAsyncClient 的 API 比 WebClient 的 Flux/Mono 鏈要直白得多。尤其團(tuán)隊里都是寫慣命令式代碼的人讓他們寫 Reactor 反而會弄出一堆反模式比如在subscribe里拋異常、把block()塞到循環(huán)里等等。2.2 與 Spring 生態(tài)的集成深度這是 WebClient 的主場。在 Spring Boot 項目里WebClient 可以通過Configuration和Bean方便地配置連接池、超時、過濾器、攔截器也能直接拿來和 WebTestClient 配合做接口測試。更重要的是當(dāng)你的服務(wù)端是 WebFlux 的 Controller 時Controller 可以直接 return 一個 WebClient 返回的 Mono整個請求鏈路從入口到出口都不阻塞也不需要手動適配類型。HttpAsyncClient 在這塊就明顯吃虧了。它和 Spring 生態(tài)沒有原生綁定你要自己管理客戶端的創(chuàng)建、啟動、關(guān)閉自己處理依賴注入。在 Spring MVC 項目里把它當(dāng)普通 Bean 用倒也行但服務(wù)的關(guān)閉鉤子、連接池的銷毀、異常響應(yīng)體的解析都要自己寫。比如最基礎(chǔ)的一個問題HttpAsyncClient 拿到響應(yīng)后響應(yīng)體是HttpEntity需要你自己轉(zhuǎn)成字符串、解析 JSONWebClient 加上 Jackson 之后bodyToMono(SomeDto.class)直接幫你反序列化。這個差距在寫業(yè)務(wù)代碼的時候會非常明顯。如果你處于一個全鏈路 WebFlux 項目里上游服務(wù)返回的就是 Flux/Mono服務(wù)端也要求你返回響應(yīng)式類型那 WebClient 就是為這個鏈路設(shè)計的零件。硬塞一個 HttpAsyncClient 進(jìn)去你得像做“轉(zhuǎn)接插頭”一樣把 Future 轉(zhuǎn)成 Mono把回調(diào)包裝成響應(yīng)式流。能做嗎能做但每次看到那堆橋接代碼你都會懷疑自己是不是在自討苦吃。2.3 性能與連接管理的對比性能方面兩者在絕大多數(shù)普通業(yè)務(wù)場景下差異并不大因為他們底層都是非阻塞 I/O。真正拉開體驗差距的是連接管理、超時控制、協(xié)議支持和背壓。HttpAsyncClient 通過PoolingAsyncClientConnectionManager管理連接池。你可以精確控制最大連接數(shù)、單路由最大連接數(shù)、連接 TTL這套連接池從 Apache HttpClient 時代就一路打磨到今天成熟度相當(dāng)高。PoolingAsyncClientConnectionManager connectionManager PoolingAsyncClientConnectionManagerBuilder.create() .setMaxConnTotal(200) .setMaxConnPerRoute(20) .build(); CloseableHttpAsyncClient client HttpAsyncClients.custom() .setConnectionManager(connectionManager) .build();WebClient 默認(rèn)走 Reactor Netty也有自己的連接池配置方式但 API 完全是另一套。它的底層 HttpClient 需要單獨配置然后再包成 ReactorClientHttpConnector最后給到 WebClientConnectionProvider connectionProvider ConnectionProvider.builder(myPool) .maxConnections(200) .pendingAcquireMaxCount(100) .build(); HttpClient httpClient HttpClient.create(connectionProvider) .responseTimeout(Duration.ofSeconds(5)); WebClient webClient WebClient.builder() .clientConnector(new ReactorClientHttpConnector(httpClient)) .build();HTTP/2 支持上WebClient 的 Reactor Netty 鏈路算是自然的配置一下就啟用HttpAsyncClient 要單獨引入額外的 HTTP/2 模塊配置更繁瑣一些而且不少老版本默認(rèn)還是以 HTTP/1.1 為主。如果你的線上服務(wù)大量使用 HTTP/2 多路復(fù)用WebClient 在這塊會省心一些。背壓這塊就更不用多說了。WebClient 作為響應(yīng)式客戶端天然支持按需消費響應(yīng)流你訂閱多少就消費多少不會把整個響應(yīng)體一次性塞進(jìn)內(nèi)存。HttpAsyncClient 的 Future 模型沒有背壓概念響應(yīng)體要么整體拿到要么自己控制處理速度。遇到超大響應(yīng)體下載的場景WebClient 的按需消費優(yōu)勢會立刻體現(xiàn)出來。2.4 可測試性與錯誤處理日常開發(fā)里可測試性很重要。Spring 項目測試 WebClient 有現(xiàn)成的 WebTestClient可以直接綁定到本地服務(wù)或者 Mock 的響應(yīng)體上跟 MockMvc 風(fēng)格一脈相承。WebClient 鏈?zhǔn)?API 也能很容易地注入到 Service 里做單元測試。HttpAsyncClient 測試也不是不行像 WireMock 這類工具照樣可以用。但麻煩在于異步回調(diào)函數(shù)的線程模型測試?yán)锝?jīng)常要配合 CountDownLatch 或者輪詢?nèi)サ然卣{(diào)結(jié)果寫起來比同步測試費勁。而且一旦代碼里大量使用 FutureCallback你還要額外考慮回調(diào)里的異常如何拋回測試線程搞不好就出現(xiàn)測試“假綠”其實回調(diào)壓根沒執(zhí)行完。錯誤處理方面WebClient 在鏈路里統(tǒng)一用onErrorResume、onErrorReturn、onErrorMap做恢復(fù)或者轉(zhuǎn)換。HttpAsyncClient 則是你在回調(diào)里自己判斷狀態(tài)碼、自己捕捉異常。代碼組織得差一些的話錯誤處理邏輯會散落在不同的匿名內(nèi)部類里后期維護(hù)成本比較高。我把兩者核心差異匯成一張對照表方便各取所需維度HttpAsyncClientWebClient編程模型Callback FutureReactive Streams / Mono / Flux復(fù)雜編排能力弱需要手寫組合強操作符豐富Spring 生態(tài)集成弱需要手動管理強與 WebFlux 無縫銜接內(nèi)置連接池PoolingAsyncClientConnectionManagerReactor Netty ConnectionProviderHTTP/2 支持需額外配置集成相對方便響應(yīng)式背壓不支持原生支持測試生態(tài)通用 Mock 工具WebTestClient 等學(xué)習(xí)曲線簡單直接相對陡峭3. 到底能不能替代關(guān)鍵看場景3.1 這些場景下可以替代如果項目本身不是 WebFlux 全鏈路而是普通的 Spring MVC 工程也不追求用 Reactor 做響應(yīng)式編程只是想找一個“異步發(fā) HTTP 請求”的工具那 HttpAsyncClient 完全可以用。比如定時任務(wù)里批量拉取數(shù)據(jù)、消息監(jiān)聽器里調(diào)外部服務(wù)、Netty 或者自研的異步網(wǎng)關(guān)里做 HTTP 轉(zhuǎn)發(fā)這些場景都不需要響應(yīng)式鏈?zhǔn)骄幣臜ttpAsyncClient 反而更簡潔。再比如團(tuán)隊里沒有人熟悉 Reactor硬上 WebClient 很容易寫出各種反模式。這種情況下HttpAsyncClient 用 Future 回調(diào)的方式至少能讓所有人看得懂、會維護(hù)。只要在代碼里約定好“拿到 Future 之后不能立刻 get 阻塞”異步的收益一樣能拿到。沒有背壓不代表必然內(nèi)存爆炸對于普通接口調(diào)用響應(yīng)體本來就不大背壓的意義沒有你想象中那么關(guān)鍵。3.2 這些場景下千萬別硬換最典型的反面場景就是 WebFlux 服務(wù)端。你的 Controller 已經(jīng)返回 Mono/Flux業(yè)務(wù) Service 用的也是 Reactor整個調(diào)用鏈都是非阻塞的。這時候你把 WebClient 換成 HttpAsyncClient要處理的第一件事就是把 Future 橋接成 Mono。最蠢的寫法是直接future.get()再包裝成 Mono那等同于把異步調(diào)用重新變成同步阻塞整個 WebFlux 的非阻塞優(yōu)勢毀于一旦。正確的橋接方式是用Mono.fromFuture()把 Future 轉(zhuǎn)換成 Mono。但注意HttpAsyncClient 的 execute 返回的是FutureHttpResponse并不是 Java 里的 CompletableFuture。你還需要自己把它包裝成 CompletableFuture才能在Mono.fromFuture()里用。這個包裝代碼要寫多久不算長但它把你從響應(yīng)式流拉回命令式接著還要再手動處理響應(yīng)體的流式讀取。相當(dāng)于每個請求你都要在兩種模型之間來回橫跳代碼會變得非常割裂。還有一種場景是大量調(diào)用需要按流量自動降級、熔斷、聚合指標(biāo)。WebClient 和 Reactor 的鏈路天然能配合很多響應(yīng)式組件做這些事HttpAsyncClient 沒有標(biāo)準(zhǔn)機制得自己寫攔截器、埋點、計數(shù)工作量完全是兩碼事。3.3 混用方案橋接兩個世界的套路如果你的項目確實已經(jīng)用了 WebFlux 服務(wù)端又因為某些歷史原因必須調(diào)用 HttpAsyncClient 維護(hù)的老接口不是不能混用但建議嚴(yán)格控制橋接層。我的做法是單獨封裝一個“異步適配器”把 HttpAsyncClient 的響應(yīng)封裝成 Mono不把 HttpClient 本身泄露到業(yè)務(wù)代碼里。適配器的核心思路很簡單用CompletableFuture承接異步結(jié)果再交給Mono.fromFuture()轉(zhuǎn)成響應(yīng)式發(fā)布者。大致骨架如下CompletableFutureString future new CompletableFuture(); client.execute(request, new FutureCallbackHttpResponse() { Override public void completed(HttpResponse result) { future.complete(EntityUtils.toString(result.getEntity())); } Override public void failed(Exception ex) { future.completeExceptionally(ex); } Override public void cancelled() { future.cancel(true); } }); MonoString mono Mono.fromFuture(future);這樣 WebFlux 的業(yè)務(wù)層不用關(guān)心回調(diào)細(xì)節(jié)所有調(diào)用看起來和其他異步響應(yīng)式方法一致。但這只是應(yīng)急方案橋接層越多響應(yīng)式編程的優(yōu)勢損耗就越大。如果從零開始的新項目我更推薦從一開始就用 WebClient。4. 實操踩坑與排查實錄4.1 HttpAsyncClient 使用中我踩過的坑第一個坑就是“回調(diào)里做重活”。FutureCallback 是跑在 HttpAsyncClient 內(nèi)部 I/O 線程上的你在 completed 里寫日志、寫數(shù)據(jù)庫、做耗時計算會直接拖垮客戶端的響應(yīng)處理能力。遇到一次內(nèi)部接口偶發(fā)超時排查半天結(jié)果發(fā)現(xiàn)是我自己在回調(diào)里同步調(diào)用了一個外部服務(wù)導(dǎo)致 I/O 線程全被占滿。正確做法是回調(diào)里只做輕量操作重邏輯交給自己的業(yè)務(wù)線程池。第二個坑是不手動關(guān)閉客戶端。CloseableHttpAsyncClient實現(xiàn)了 Closeable使用完要關(guān)閉。很多老代碼在每次請求時 new 一個客戶端用完也不關(guān)連接池直接泄漏。后來我統(tǒng)一把客戶端做成單例 Bean在 Spring 容器的銷毀方法里執(zhí)行 close連接問題才徹底消失。第三個坑是超時配置。HttpAsyncClient 的連接超時、Socket 超時都有獨立參數(shù)但很多人只配了連接超時沒配請求超時結(jié)果某個下游服務(wù) hang 住整個線程池掛滿。記住異步客戶端尤其要配置絕對超時否則懸著的請求會慢慢吃掉所有連接。4.2 WebClient 使用中我踩過的坑WebClient 的坑也不少。最經(jīng)典的是“看起來沒配超時實際請求永遠(yuǎn)不超時”。WebClient 本身沒有全局超時概念必須在底層 HttpClient 上設(shè)置 responseTimeout否則遠(yuǎn)端一直不響應(yīng)訂閱方可能無限等下去。我見過線上告警查到這條線一個個改配置才恢復(fù)。第二個坑是使用block()的時機。在 WebFlux 服務(wù)端或 Reactor 鏈路里調(diào)用 block會直接拋異?;蚩ㄋ馈S行┩聫?Spring MVC 轉(zhuǎn)過來不習(xí)慣習(xí)慣性地想拿同步結(jié)果結(jié)果代碼在 Test 環(huán)境沒問題、生產(chǎn)一壓測就出詭異現(xiàn)象。后來我們在 Code Review 里直接規(guī)定WebFlux 鏈路代碼禁止出現(xiàn) block除非在測試線程中使用。第三個坑是連接池耗盡的表現(xiàn)。WebClient 底層連接池如果不夠并發(fā)上來后請求會排隊等待看起來像超時但實際上是 pendingAcquire 配置太低。排查連接池參數(shù)和實際并發(fā)量的關(guān)系比調(diào)代碼重要得多。我把這些常見問題整理成一個小速查表方便你直接對照自查現(xiàn)象可能原因排查思路請求一直不返回連接池排隊堆積 / 超時未配置檢查連接池最大連接數(shù)和 responseTimeoutHttpAsyncClient 吞吐量低回調(diào)里做了耗時操作把重邏輯移到業(yè)務(wù)線程池回調(diào)保持輕量WebClient 全鏈路偶發(fā)卡死某個請求沒有響應(yīng)式超時給底層 HttpClient 配置 responseTimeout請求出現(xiàn) Connection pool shut downHttpAsyncClient 被提前 close客戶端做成單例應(yīng)用停止時再關(guān)閉WebFiux Controller 里 block 拋異常在非阻塞通路調(diào)用阻塞方法刪掉 block改用 Mono 返回值或 subscribe響應(yīng)報文很大但內(nèi)存占用高讀取整個響應(yīng)體到內(nèi)存用 Flux 流式處理或限制 buffer 大小4.3 從 WebClient 切到 HttpAsyncClient 的典型報錯如果你真決定從 WebClient 遷移到 HttpAsyncClient大部分代碼會死在類型不兼容上。WebClient 方法返回 MonoController 可以直接返回這個 MonoOrder 由 WebFlux 自動訂閱。換成 HttpAsyncClient 后你要么把 Controller 改成普通對象等于把響應(yīng)式端點改成阻塞端點要么自己做橋接。不少團(tuán)隊遷移到一半發(fā)現(xiàn) Controller 和 Service 里全是Mono.fromFuture和future.get()的混合體一壓測性能比原來躺著寫同步代碼還差。另一個常見報錯是IllegalStateException: block()/blockFirst()/blockLast() are blocking。這個常見于原先 WebClient 代碼配合.block()同步取結(jié)果切到 HttpAsyncClient 后又用 Future 的 get最終在 WebFlux 請求線程里卡死。本質(zhì)原因不是客戶端選型而是沒有搞清當(dāng)前線程是什么線程模型。所以遷移之前務(wù)必先把調(diào)用鏈拆開明確每一層是阻塞線程還是非阻塞線程。最怕的是 WebFlux 鏈路里混進(jìn)future.get()這種代碼既不響應(yīng)式也不異步純粹是拿異步 API 做同步操作性能和可維護(hù)性全丟。5. 個人結(jié)論與實踐建議回到標(biāo)題那個直白的問題HttpAsyncClient 能不能替代 WebClient我的答案是如果只在“發(fā)異步 HTTP 請求”這個最小職能上能但如果放到 WebFlux 生態(tài)、響應(yīng)式鏈路、復(fù)雜編排和背壓場景里替代的代價遠(yuǎn)高于收益。我更愿意把它看成兩個不同時代的產(chǎn)物而不是同一服務(wù)的一對競品。我的實際建議是新項目如果已經(jīng)選擇 Spring Boot 且服務(wù)端可能要上 WebFlux那就直接用 WebClient別繞路。團(tuán)隊不會 Reactor 不是換客戶端的理由找兩三天時間集中培訓(xùn)一下比后期在兩種異步模型之間反復(fù)橫跳要劃算得多。老項目如果只是想把同步 HTTP 調(diào)用換成異步不想引入響應(yīng)式編程那 HttpAsyncClient 是非??煽康倪x擇。它成熟、穩(wěn)定、連接池功能扎實在非響應(yīng)式工程里完全可以支撐起高質(zhì)量異步調(diào)用。最后再分享一個我實踐過的折中方案在少數(shù)必須混用的項目里先封裝一個統(tǒng)一的 HttpClient 接口底層分別提供 HttpAsyncClient 實現(xiàn)和 WebClient 實現(xiàn)業(yè)務(wù)代碼只依賴接口。這樣你可以在非響應(yīng)式模塊里用 HttpAsyncClient在 WebFlux 模塊里用 WebClient切換時不用到處改業(yè)務(wù)代碼。接口的設(shè)計也不用復(fù)雜暴露請求參數(shù)、返回 CompletableFuture 或者 Mono 的適配方法就夠了。等哪一天團(tuán)隊真正統(tǒng)一到響應(yīng)式模型你可以把另一套實現(xiàn)收起來業(yè)務(wù)層幾乎無感。這個方案雖然不是最優(yōu)雅但在真實的存量項目里遠(yuǎn)比“一刀切換掉”靠譜。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天干天天干天天| 丰滿爆乳一区二区三区| 97五月综合网| 啪啪综合网| 五月丁香av在线| 婷婷五月激情黄色| 精品久热| 97碰久久| 色五月婷婷老师| 五月天激情综合在线| 五月丁香在线婷婷蜜桃| 爱iii做iiii日日| 丁香五月色五月| 久久色五月天| 日韩啪啪网| 日本不卡高字幕在线2019| 婷婷五六月丁香| 五月久久丁香| 超碰狠狠操| 狠狠搞狠狠操| 天天综合天综合| 女同激情久久av久久| 91综合在线视频| 五月婷丁香| 五月丁香啪啪网| 天天做天天视天天谢| 99视频在线| 都市激情五月婷婷亚洲| 精品在线网站| 综合激情五月婷婷| 97干在线观看| 99热高清在线| 亚洲五月天色色| 99精品国产在热久久| 五月花成人网| 综合五月亭亭9| 丁香婷婷基地| 五月丁香婷婷色| 天堂在线伊久| 超碰人人在线观看| 97超碰99热99| CAOBIBI| 欧美韩国日本| 亚洲无码99| 久99热| 婷婷激情五月天视频在线| 激情婷婷丁香色五月| 久久五月激情综合| 91操人视频| 五月激情婷婷四射| 色色色天堂网| 99久在线观看| 久久精品爱爱| 先锋男人99资源| 六月丁香啪啪| 五月社区丁香| 天天干天天干天天干天天干天| 日韩中出视频| 激情丁香五月AV| 欧美综合激情| 久久五月天免费网站| 午夜天堂啪啪| www.99热| 99久99久| 99在线视频免费| 青青操丝袜美腿| 久久人五月| 丁香狠狠操| 夜色.cnm| 国产精品社区| 亚洲射激情| 婷婷六月爽| 欧美成人无码高清一区二区三区| 欧美日韩国产一区| 天天日,天天射,天天插| 日本一级一级一级一级| 丝袜激情网| 久99久热| 超碰renrenai| 五夜丁香| 欧洲电影在线观看免费版英语版 | 久久日婷婷| 久热只有精品| 久久免费高| 色444综合网| 日本色色影院| 亚州激情网站无码| 天天干天天日天天操| 99人人干| 夜夜骑福利资源| 五月丁香色婷婷综合| 丁香五月天欧美成人| 色女人久久| 77777亚洲午夜久久| 丁香五月亚洲综合丝袜| 婷婷丁香18| AV在线不卡网站| 五月天色站| 91操熟女| 色婷婷五月视频| 激情图片婷婷| 丁香九月激情| 丁香五月情| www.天天色综合| 四虎婷婷五月天| 亚洲色色香蕉| 91肏肏肏| 九九精品片一| 五月天久久久| 玖色色综合| 色五月首页| 手机旧版看人妻1025| 在线区区区| 开心五月深爱五月丁香五月激情五月| 五月丁六月婷| 六月激情网| 一本色综合色| 人人色性网| 青草五月天| 五月丁香啪啪| 99视频九九热| 成年人丁香五月| 色爱综合网| 综合精品99| 久久一热免费视频| 亚洲无码色色| 五月叮香啪| 成人五月天色天堂| 天天干天天干天天干| 毛片色五月| 五月丁香偷拍| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 五月丁香综合网色欲| 久久狠色噜噜狠狠狠狠97| 97人人干人人操| 狠狠久久婷五月| 五月WWW| 色婷婷综合网| 中文无码婷婷| 天天日天天干天天操| 国外亚洲成AV人片在线观看| 超碰色女| 色色com| 婷婷.com| 99热这里只有免费| 97在线天堂| 99在线精品视频观看免费下载| 中文字幕综合网| 五月丁香六月婷婷网站| 五月丁香啪啪网| 伊人五月天97| AV成人在线播放| 丁香五月 性爱| AV无码免费| 婷婷深爱五月| 一起草无码| 99热只有这里有精品| 久久丁香五月天| 伊人狠狠色婷婷综合丁香一区| 草草操操| 婷婷五月花| 极品色丁香| 天天久| 一本婷婷丁香久久 | 人妻AV在线| 五月丁香色婷婷色| 99久久婷婷国产综合亚洲| 五月天激情久久| 中文字幕日韩无码制服诱或| 五月天色丁香| 六月婷伊人| 啪啪黄页网| 色婷婷亚洲在线| 99热超碰在线| 婷婷娱乐丁香综合网| 99热只有这里有精品| 九色PORNY9l原创自拍| 人人操大| 婷婷五月电影院| 超碰不卡在线| 大香蕉520| 五月婷婷久久开心网| 野战毛片三一3| 狠狠色网| 99人人干| 69五月天视频| 色婷婷影| 99综合免费视频| www.99热最新视频8| 色婷婷久久| 丁香婷婷五月综合欧美另类| 天天操天天日天天爽| 秋霞性爱AV| 伊人9在线| 日本色婷婷| 人妻肉射免费观看| 伊人色综合影院视频| 六月丁香影院| av九九| 丁香六月婷婷色XXXX| 五月天婷婷久草丁香| 一区二区三区四日本| 99热丁香| 丁香88AV五月婷婷| 久久九九综合| 天天色综网| 国内久久婷婷| 久久精典| 啄木鸟丝袜美女福利视频| 99热8在线| 五月丁香六月情| 精品成人久久久久久久_一二三四视| 久久机热这里只有 | 99热精品少| 9九九久久精品无码专区| va婷婷在线| 永久天堂日本| 中文幕无线码中文字蜜桃| 亚洲婷婷五月天综合| 91性高潮久久久久久久久| AV在线免费播放| 五月激情天| 丁香五月另类小说在线阅读| 91人人爱| 久久国产一区二区三区| 九九精品在线网| 婷婷五月天堂| 久久婷婷资源| 丁香五月婷婷总啪啪| 色五月婷婷五月丁香五月| 久久97久久99久久综合欧美| 婷婷深爱五月天在线| 国产欧美熟妇另类久久久| oumeisesewang| 国产亚洲网站在线| 最近韩国日本免费高清观看| 久久综合五月情| 日本色色网站| 激情综合网亚洲色图| 欧美怡红院黄站| 色色激情网| 亚洲色 视频| 91操色| 婷婷丁香六月| 五月丁香999| 久久人人九| 欧美97超碰| 色综合久久888| 激情综合99| 亚洲va欧洲va国产va不卡| AVV黄| 韩日另类| 婷婷丁香无码专区| 成人草榴视频| www.99操| 色婷婷五月影视| 黄色视频网站在线播放| 五月婷婷五月天| 天天综合精品| 99这里都是精品| 婷婷中文字暮| 五月丁香六月婷婷视频| 亚洲另类婷婷五月丁香在线播放| 丁香五月婷婷AV| 久久网址99热| 激情五月综合第一页| 婷婷五月激情四月综合| 亚洲另类AV| www.com久久久久久久久久久久久久久久久| 色婷婷五月天在线观看| 久久精品人妻| 91爱啪啪| 爱99干99| 97香蕉人人在线观看| 成人在线精品| 亚洲va综合va国产va中文| 日日综合网| 六月婷婷国产| www.五月天婷婷| 激情视频综合| 午夜一区| 久久久精品99| 97热视频| www.五月天婷婷姐姐| 51成人| 伊人激情啪啪| 色婷五月天亚洲| 秋霞簧片| 婷婷九月激情| 亚洲中文字幕在线观看| 激情综合色| 少妇高潮呻吟A片免费看软件| 五月丁香婷婷基地| 国产69精品久久久久999小说| 九九色欲网| 日日操日日撸| 9久热| 丁香五月天堂亚洲社区| 婷婷色狠狠| 丁香五月影视| 欧类av怡春院| 亚洲无码AV片| WWW.五月天9999| 中文不卡一二区| 99爽视频| 欧美综合激情| 日韩无码专区| 五月天精品视频| 九九热最新| 亚洲超碰在线| 91se在线观看| 日本激情ⅩXX免费视频| 亚洲精品小视频| jiZZdr| 色五月婷婷久久| 五月天久久小说| 九九九九综合| 婷婷五月花丁香| 天天肏夜夜肏| 色五月97| 色色色色色色色色色999| 99re思思精品视频在线观看| 婷婷丁香亚洲五月天| 五月婷丁香在线视频在线| 丁香 婷婷五月| 日本婷婷| www.ywav| 久久久久99精品成人片| 婷婷色情六月| 久色精品| 快乐婷婷五月天| 日本丁香五月| 大香蕉婷婷婷| 五月丁香色五月| 久99在线视频| 99超级碰碰| 五月丁香婷婷中文网| 亚洲免费99| 六月激情综合| 99re免费精品视频| 色99在线观看| 黑人无码一区| 五月天婷婷在线播放| 国产67194| ww超碰在线| 在线五月色播| 色色五月天婷婷| 色婷婷丁香综合中文字幕| 亚洲超碰在线| 超碰超碰在线| 色级婷婷| 五月婷婷丁香婷婷| 五月天丁香综合在线| 久久九九99桃花视频| yiqicaoav| 国产熟女日日骚五月丁香爱| 色玖玖爱| 超碰99热| 99啪99| 天天色99| 亚洲色图五月丁香| 在线观看中文字幕亚洲| 91夫妻视频| 久久激情综合| 激情五月婷| 日本99视频| 九九这里都是精品| 成人色五月天婷婷| 丁香婷婷综合激情五月色| 九九综合网色全集 | 婷婷五月电影院| 国产成人高清| 五月天丁香综合| 偷偷操99| 亚洲小视频免费播放| 丁香五月中文字幕久色| 色日本颜射| 久噜久噜| 婷婷五月丁香性爱| 天天 青草 丝袜制服 在线| 五月丁香综合中文| 五月婷丁香花| 1024操逼| 婷婷五月天欧美| 丁香六月婷| 99久精品视频| 丁香五月婷婷婷婷欧美综合| 热五月婷婷| 中文字幕在线免费| 超碰v| 五月婷婷婷自由综合| 99爱精品| 综合五月天婷婷色| 国産精品| 少妇人妻丰满做爰XXX| 色婷婷香蕉| 天天舔天天爽| 人人草人人爱手机视频看看 | 波多野结衣AV无码Porn| 亚洲六月色| 激情五月天激情综合网| 在线观看视频1区| 无码任你操| www.综合久久| 狠狠穞A片一區二區三區| 六月婷婷视频| 色99在线| 欧美色性色好| 99爱这里只有精品| 伊人五月天久久| 操日视频| 狠狠撸激情综合丁香五月天俺来啦| 丁香五月天婷婷激情| 婷婷综合色图| 色色婷婷综合| 99热精品中文字幕| 日日.c| 亚洲综合五月天婷婷丁香| 六月婷婷激情图片| www.开心激情| 五月色婷婷亚洲 | 九九热这里只有精品23| 色中色综合| 婷婷五月天激情五月天| yw.av| 成人看片网站| 亚洲网站999| wwccc久久久| 天天操天天曰天天射| 天天干天天拍| 久久综合天天综合| 激情综合播播| 国产在线黄色| 色综合久久中文| 色五月xxx| 七月激情六月婷婷综合在线播放| 婷婷内射视频在线| 很很干夜夜干| 亚洲九九99精品视频在线播放| 搡BBBB搡BBB搡18 | 久99热| 五月丁香六月成人| 色情久久久| 久久久人妻久久久| 五月丁香六月激情综合| 91chinese在线| 99热这里只有精品86| 综合激情在线观看| 狠狠色婷婷色| 日本成人内射| 香蕉久日夜| 99热免费观看| 99在线精品免费视频| 五月丁香六月婷婷综合网| 欧美婷婷色| 五月婷婷六月激情| www五月| 97热精品| 97操碰碰无码视频| 色情久久久| 五月亭亭开心网| 五月亭亭综合五码| 五月婷婷网五月在线| 99热超| 丁香五月婷婷激情蜜桃| 五月天激情国产综合婷婷| 日韩抽插操逼| 一本九九色| 婷婷97C| 老师高潮流白浆喷水的A片| 991精品在线视频| 99爱在线视频| 99操免费视频| 超碰免费成人| 国产小精品| 婷婷天天舔| 激情五月天婷婷激情| 亚洲超碰青涩| 国产女人十八水真多1| 婷婷丁香十月| 精国产品一区二区三区A片 | 99热精品在线| 丁香九月激情在线视频| 天天色天天舔天天爱天天爽| 夜夜操天天干| 婷婷成人丁香色情基地30 | 91操在线| 99热高清在线| 激情五月天色网站| 婷婷五月天伊人在线| 成人精品人妻| 婷婷99狠狠| 久久99热这里只有精品首| 9精品国产在热久久| 丁香五月婷婷六月| 婷婷香蕉| 五月综合激情久久| 中文在线成人| 久久五月丁香婷婷| 婷婷五月天亚洲综合网| 狠狠干伊人| 激情五月丁香亭亭| 丁香五月婷久久| 啪啪啪综合网| 免费观看2018www黄色操逼网站| 少妇被下春药玩弄A片| 五月天婷婷在线AN| 天天日色情| 99视频在线啪| 国内裸舞二区| 国产精品美女| 思思久久99热只有频精品66| 中文字幕日产A片在线看| 九九色影院| 年轻的妺妺伦理HD中文| 婷婷五月天av| 亚洲AV日韩AV永久无码网站| 久久五月热| 涩综合网| 五月色丁香激情| 久久精品人妻| 97操操网| 99精品视频免费在线播放| 五月色网| 久久久久人妻中文| 日韩视频99| 东北熟女视频99| 异能之下短剧免费观看全集| 97久久香草精品视频| 婷婷五日b| 五月天六月色| 91人久| 久久最新色| 五月丁香久久久| 久久婷婷伊人| 五月丁香激情啪啪网| 精品99在线观看| 婷婷成人在线| 亭亭色色五月天| 欧美天堂婷婷日韩| 婷婷五月丁香婷婷| 热99在线| 人伦30P| 五月婷婷激清网| 丁香五月电影| 亚洲99热| 色婷婷九月综合| 天天干电影| 在线看黄色| 久久精品国产AV一区二区三区 | 五月停停999| 色欧美一级| 金桔一区二区ab地址| 婷婷五月天激情在线观看| 色婷婷五月天激情久久| 色婷婷五月视频| 青青久在线视频免费观看| 精品无码片| 丁香五月综合在线播放 | 综合色色婷婷| 亚洲日韩一页精品发布| 色婷成人狠干| 另类图片五月天| 日本性视频| 天天噪夜夜爽| 人与禽A片啪啪| 五月天激情站| 五月婷婷AV| 六月丁香色色色| 熟女激情五月天| 婷婷久久爱| 天天干天天色天天干| 天天操夜夜操| 天天久久狠狠色综合| 六月婷婷私欲| 爱99干99| 婷婷亚洲色| 国产一级黄色影片,| 欧美在线操| 婷婷开心激情五月激情网| 殴美日比视频| jiujiu热在线视频| 五月天婷婷激情在线色图| 在线观看视频1区| 激情五月丁香激情综合网| 五月丁香综合激情| 色五月婷婷 成人| 色五月激情网| 久久九九99字幕| 婷婷在线中文字幕| 五月婷婷丁香在线| 99在线视频播放| 色情五月天丁香社区| 亚洲十月婷婷综合| 丁香婷婷浪潮AV久久综合| 在线五月婷婷小电影| 婷婷五月天天aV| 丁香五月色情av| 激情丁香五月天| 婷婷丁香社区| 99re思思热久久| 亚洲色激婷| 91人久| 亚洲亚洲永久无码777777| 成人在线观看精品| 六月丁香激情网| 97黑人精品区| 五月丁香六月激情| 久久小片| 91色五月| 97精品人人A片免费看| 色婷婷成人丁香| 一本色综合色| 久久丝袜婷婷| 日韩抽插操逼| 97操在线资源| 综合网五月| 五月天激情日色在线| AV电影在线播放| 26UUU欧美激情一区二区| 五月综合视频| 婷婷五月天激情基地| 欧美97超碰| 色综合九九色综合88| 国产人人操| 婷婷在线播放| 激情五月小说婷婷| 丁香无五月网| 婷婷五月天大香蕉| 91要啪| 久久婷婷五月综合色播| 香蕉AV777XXX色综合一区| 婷婷综合五月天激情| www.婷婷五月天| 综合色色色色色色| 久久成人性爱| 色色丁香| 97人人看一| 婷婷成人基地| 操碰97| XX色综合| 人人综合五月人人婷婷| 日操熟女| 另类少妇人与禽zOZZ0性伦| 午夜天堂啪啪| 亚洲五月婷婷| 亚洲成人婷婷| 9久热这里只有精品视频| 怎么样可以看免费的一级av| 六月丁香六月婷婷欧美| 91精品91久久久中77777久久玖玖九九| 婷色影院| 免费无码毛片一区二区A片| 久久开心五月婷婷| 青青热久精品视频在线观看| 67久久| 99热综合| 五月婷婷丁香在线| 97操碰视频| 色五月婷婷综合| 天天干-天天日| 色情五月丁香婷婷网| 久久se 综合网| 久久99视频| 亚洲美女高潮久久久久久69| 5月丁香综合网| 综合五月丁香久久| www.日本久久videos| 欧洲电影在线观看免费版英语版 | 玖玖婷婷色| 日韩在线视频9色| 天天综合五月| 色九月婷婷综合| 日日撸夜夜操| 五月丁香婷婷综合| 六月色播| 超碰男人色| 人妻久久久久久| 狠狠xx| 精品色| 丁香婷婷色| 婷婷伊人网| 狠狠色综合久久| va亚洲中文在线| 婷婷综合伊人丁香| 亚洲最大视频| 九九精品免费| 婷婷色啪| 狠狠色综合网| 婷婷五月色综合| 色天堂A| 色情久久久| 在线婷婷| 色五月婷婷狠狠撸| 这里只有精品视频一区| 亚洲综合字幕色色| 六月丁香视频网站| 婷婷激情鹿城五月天| 狠狠干五月天婷婷网| 天天干天天av天天射| 天天爱天天狠天天透| 天天日人人爽| 色XX综合网| 91凹凸在线| 婷婷丁香五月综合| 极品人妻VIDEOSSS人妻| 99这里都是精品6| 五月婷婷啪啪| 五月丁香婷婷色播无码| 99久久99综合| 性爱五月婷婷| 九九九这里只有精品| 2016日日夜夜操| 夜夜骑操AV| 丁香婷婷五月综合影院| 亚洲爱爱无码婷婷色五月| 久久婷婷色| 婷婷五月免费观看| 噜啊噜在线| 婷婷五月色天| 亲子乱AV-区二区三区| 4438亚洲欧美| 色五月天丁香| 天天成人丁香美女AV| 五月丁香六月欧美综合| 五月婷婷中字在线| 99热只有这里有精品| 色色色色热| 色色热| 日韩有码一区| 激情网战码亚洲A| 五月婷婷激情综合网| 精品久久66| 综合久久99| 91人妻人人操| 五月婷网| 东京热五月婷婷| 亚洲小电影在线观看黄999| 伊人久久大香线蕉综合网站| 国产99久9在线| 日日操,日日爽| 五月天淫乱视频| 国产69久久久欧美黑人A片| AA片在线观看视频在线播放| 五月丁香激情综合| 97人人操人人插| 九九精品99| 色五开心五月五月深深爱| 天天做天天爱天天做| 日本天堂免费99| 国产成人综合电影| 五月天婷婷色在线视频免费观看| 安息电影在线观看完整版| 天天爽曰日爽| 在线日韩视频| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 色婷婷社区| 狠狠操狠狠插| 日韩99视频| 欧美VA在线观看| 国产AV影片| 他改变了拜占庭| 9有码中文| 色婷婷第四色| 亚洲视频图片婷婷五月| 4438激情网| 久久女人九九| 国产色五月| 99久久国产宗和精品1上映| 婷婷五月天最新网址| 婷婷黄色| 综合网啪| 婷婷人妻激情| 激情丁香五月天图片| 亚洲成人一区| 欧美啪啪9| 丁香五月在线观看| 丁香花五月天婷婷成人社区| 91久久久久久久久久| 天天综合精品| 色色色色综合网| 天天操天天插| 天天色99| 99精品无码| 色噜噜五月天| 玖玖五月| 欧洲亚洲午夜| 婷婷色五月开心五月| 伊人婷婷福利网| 五月天伊人日日噜影片AV| 亚洲人人操| AA片在线观看视频在线播放| 色播婷婷五月天| 99九九综合久久九九| 日本不卡高字幕在线2019| 日韩综合久| 天天日天天色| 久久xxxx| 伊人久久艹| 天天色天天爱天天舔| 丁香六月五月婷婷| 亚洲成Av人片乱码色第1集| 狠狠狠狠免费| 先锋影音av色五月天资源站| 欧美99热| 97精品人人A片免费看| 91人操| 五月丁香综合啪啪| 亚洲夜五月| 99热久久这里只有精品| 全亚洲最大的婷婷五月天网站COM| 婷婷五月天六点丁香五月| 五月丁香婷婷色| 丁香五月婷婷成人色区| 久99视频| 五月天基地| 日韩美女羞羞网站在线观看| 激情婷婷丁香色五月| 激情色色| 丁香花五月天| 五月婷婷狠狠久久| 九九色影视| 婷婷丁香五月激情图片| 激情深爱五月天| 玖玖精品资源| 成人一区在线观看| 狠狠色婷婷7777久| 人人操人人爱丁香五月| 色五月激情五月| 狠狠五月激情丁香六月| 色六月 婷婷| 日本九婷婷| 久久五月视频| A片试看50分钟做受视频| 二人电影免费版在线观看| 91狠狠综合久久久久久| 五月丁香大相交| 色色亚洲| 五月情色天| 99热这里是精品| 色色综合网www| 色导航色婷婷五月天在线观看| 狠狠婷婷综合| 99久久久久久| 五月开心婷婷| 婷婷综合色| 深爱 五月天| 久久日韩婷婷五月| 成人精品视频99在线观看免费| 蜜乳9188| 97碰碰碰| 中文成人在线| 99热6精品| 色婷婷婷婷五月天| 开心婷婷五| 99色日本| 色吧婷婷五月亚洲| 99免费| 久久精品性爱| 婷婷色五月婷婷姐妹| 丁香五月社区| 九九性视频| 五月婷婷基地| 婷婷五月激情丁香激情| 婷婷五月丁香第四色超碰在线| 日日日天天干| 亚洲综合新99视频| 五月丁香琪琪| 午夜无码熟熟妇丰满人妻 | 大香蕉99| 婷婷五月在线| 影音先锋一区二区资源站| 天天搞天天爽| 九九视频在线免费视频| 大香人妻| 99热在线极品极品| 国产3p露脸普通话对白| 色五月女| 噜噜噜噜噜日本视频| 激情综合丁香| 少妇性按摩无码中文A片| 色综合射婷婷| 日韩免费乱轮网站| 五月天天堂久久| 丁香青青五月天| 婷婷五月丁香色色| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 婷婷五月天影院| 日本情色一区二区| 99热在线网站| 超碰操日| 99婷五月| 久久免费干| 色色色九九九五月婷婷| 久久婷婷五月综合激情国产| 婷婷久久丁香五月| 大香线蕉伊人| 黄色成人网站在线播放| 国产精品久久久久久久久久| 操逼巨乳91| 激情综合激情综合| 日本五月天激情| 色青青电影色五月| 五月天大香焦| 五他月天啪啪啪| 狠狠综合久久综合| 色婷婷影| 97热这里精品在线视频| 色色欧美色色色| 丁香六月婷婷色XXXX| 久99久在线| 操人91| 99激情视频| 1000部毛片A片免费观看| 五月婷婷69| 五月天激情丁香| 色婷婷六月天| 开心深爱激情网| www.婷婷六月天| 亚洲偷| 亚洲成人av在线观看| 九九热精品| 亚洲狠9| 99色在线免费观看视频| 中文字幕乱码亚洲精品一区 | 成人电影AV在线观看| 激情综合网亚洲色图| 色狠狠激情五月| 桃色伊人在线| 成人综合伍月天| 综合婷婷都市激情| 婷婷六月色开 | 天天爱天天做天天爽| 亚洲色色色色色色色色色| 99热99美国在线观看| 在线视频九色97| 91九色超碰正在播放| 五月婷婷丁香综合,亚洲天堂| 另类少妇人与禽zOZZ0性伦| 五月天堂色| 国产成人99久久亚洲综合精品| 五月丁香色婷婷色| 99色婷婷视频| j五月香在线| 久婷婷婷| 欧美 日韩 成人 在线| 丁香五月天堂网AV| 激情五月开心五月在线视频| www婷婷| 五月四色色| 大香蕉久久久| 午夜69成人做爰视频| 五月丁香综合啪啪| 五月天激情黄色网址| 91九九热| 九九碰九九爱97超碰| 国产黄色大片| 亚洲激情综合色站| 色逼综合网| 中文字幕日韩成人| 色宗合久久五月婷婷| 久久五月天黄色五月天色网址| 久热这里只有精品在线观看| 六月丁香啪| 操逼福利视频| 婷婷综合亚洲| 五月丁香婷婷色| 精品动漫 无码av| 久久这里都是精品免费| 久99久视频| 日本va欧美va欧美| 色色色图| 国产午夜精品AV一区二区麻豆| 激情五月黄色| 91狠狠综合久久| 狠狠色综合久久| 亚洲V国产V欧美V久久久久久| 免费三级黄色| 综合色情网| 日本五月天婷婷丁香| 色婷婷AV在线| 超碰熟女农村在线69| 久久综合播放| 亚洲婷婷五月天激情综合| 91人人爽久久涩噜噜噜| 91久久1118| 色色色色色日韩午夜激情 | 久久WW| 婷婷狠狠狠爱| 丁香五月丁香伊人| 五月丁香综合啪啪| 日本123区日韩欧美不卡在线看| 色色九区| 久久99久久99精品免观看软件 | 99re66热这里只有精品| 婷婷五月开心中文字幕色| 五月婷婷开心综合| 大地9中文在线观看免费高清| 亚洲丁香五冃97色| 99福利导航| 色婷婷丁香五月| 五月丁香激情综合网官网| 丁香五月成人自拍| 色情久久久| 专区无日本视频高清8| 久草丁香婷婷1024| AV美美午夜| 性爱久久| 五月丁香婷婷无码中文| 99re这里只有精品视频了| 91人操人人人操人| 97碰精品| 26uuu亚洲精品国产| 丁香成人五月天| 精品五月花| 蜜桃五月天| 七月丁香婷婷 色色| 久久色午夜在线导航| 久久草人妻| 五月激情啪啪| 一级黄色影片| 天天色视频| 深情六月婷婷综合久久| 狼人狠狠操| 中文精品在| 99操碰| 五月丁香久久网| 亚洲色久| 午夜青草资源| 六月丁香婷婷尤物| 大香蕉在九| 婷婷五月天黄色小说| 能看的AV| 色综合播放| 色色网站日本91| 99热这里只有精品搜| 丁香五月综合| 这里只有免费的精品| 天天天天干| 99热在线爱| 日本欧美成人片AAAA| 五月色婷| 九九综合| www,av好吊操| AV在线收看| 欧美色色色色色| 色青青五月| 日本婷婷色| 亚州操操| 欧美大奶熟女噜噜噜噜| Av性爱网| 99精品丰满| 99热免费精品| 久99热| 99国产精品久久久久久久久久久| 成人av免费观看| 久久人人做人人妻人人玩精品va| 99在线精品观看99| 国产亚洲成AV人片在线观黄桃| 综合丁香婷婷五月天| 九色七七| 中文字幕五月久久婷| 天天色天天日| 九九99精品视频在线观看| 久99久热| 五月丁香六月婷婷玖玖| 无码少妇高潮喷水A片免费| 欧美成人Va| 日本色99网站| 五月色婷婷综合| 99热最新网址| 伊人干综合| 国产精品国产成人国产三级| 欧洲色色| 97婷婷五月天| 久久婷婷综| 国产特级毛片AAAAAAA高清| 六月激情婷婷综合| 综合婷| 99综合| 天天看夜夜看| 亚洲综合99| 超碰啪啪网| 亚洲AV免费在线| 亚洲精品色| 激情五月激情综合网一级丸片| 五月婷视频| 无人精品在线视频| 六月激情网| 色播五月丁香综合| 五月婷婷激情性爱| 天天久久九九| 五月丁香影院| 九九久久99精品免费观看www| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 五月天另类小说亚洲| www.天天干| 日本色久| 五月丁六月香| va婷婷在线| 丁香香蕉婷婷| 久热99中文字幕| 色99在线观看| 手机旧版看人妻1025| 人人爱操| WW婷婷五月天com| www久| 成人网站免费在线播放| 丁香香五月激情免费视频| 国自产拍偷拍精品啪啪一区二区 | 成人欧美Va| 丁香五月,开心五月,成人婷婷| 99年操人人爽| 成人在线日韩| 武汉美女啪啪视频免费一级片| 五月丁香九九| 精品日本视频444| 少妇高潮A片无套内谢麻豆传| 久久丁香五月婷婷| 开心丁五月| 婷五月丁香俺| 激情黄色小说色五月| 五月天天丁香婷婷| 激情五月天网| 操操自拍| 五月婷婷婷丁香播| 久久思思热视频| AⅤ色区| 99久热这里有精品| 精品色情一区二区三区四区| 丁香影院五月综合| 97干在线视频| 日日夜夜天天综合| 99ri在线观看视频| 综合久久综合久久| 免费AV在线| 色婷婷A| 五月丁香激情综合啪啪| 久久99最新| 开心婷婷五| 入口五月婷婷六月香| 亚洲成人无码片| 91人人人人人人人| 熟女国产在线一区二区三区四区| 99精品久久| 欧美色婷婷| 超碰狠狠操| 丁香六月婷婷久久综合| 久久久99久久| 免费亚洲婷婷中文字幕| 色婷婷www| 色综合天天| 亚洲综合色色| 日本婷婷在线| 91久久综合亚洲鲁鲁五月天| 色五XX| 婷婷色五月在线视频| 色五月婷婷激情五月| 色色五月婷婷久久| 亚洲无码性爱| 97操碰在线视频| 狠狠爱五月婷婷| 四色综合网| 国产六月婷婷| 日本久久9| 国产ava| 亚洲熟妇AV综合网五月丁香伊人| 综合久久久| 五月天社区婷婷丁香社区| 色级停停| 婷婷色婷婷| 大香蕉天堂色| 五月丁香黄色| 色黑鬼导航| 国产另类综合| 婷婷99热| 婷婷综合五月| 激情婷婷22月间| 任你擦免费视频| 超碰亚洲天堂| 久久深爱激情网| 九九热在线视频| 婷婷久久综合| 久久99精品久| 久久99久久99精品免视看婷婷| 色情婷| 99国产小视频免费观看| 五月婷久久| 色久综合天天做视频| 日日婷婷不卡| 婷婷丁香在线播放| 久久久91| 丁香五月手机在线| 五月天婷婷丁香人人操91| 欧美一级a| 九九人人操| 另类视频丁香五月| 四色99久久| 人人操超碰| Xx色综合| 国产精品VA在线| 日日日日日| 亚洲AV无码一区二| 加勒比色色| 色播五月综合网| 亚洲综合网在线| 26uuu丁香婷婷五月| 东京热伊人| 色狠狠综合| 丁香五月色| 99热九九在线| 这里只有精品久| www.激情| 色99免费视频中文| 丁香五月香蕉| 亚洲AV影片在线观看| 97在线碰| 六月丁香成人| 婷婷久久五月| 综合AV在线| 色爱爱综合网| 婷婷深爱色五月| 啊V视频在线观看| 色色色9 9 9| 高清无码一区二区三区四区| 九九机热| 婷婷丁香五月亚洲17cao| 丁香 亚洲 久久| 亚洲区在线| 婷婷激情五月天网站| 九九视频热| 五月激情影视| 秋霞A V毛片| 丁香五月综合AV在线| 丁香五月电影| 婷婷五月激情综合啪啪| 久久九九99| 99操免费视频| 综合网网欲色| 日日做夜夜爱| 国产婷婷婷| 丁香五月六月久久综合 | 丁香六月色| 26UUU精品一区二区Com| 丁香六月激情| 91狼友视频在线观看| 五月丁香少妇| 婷婷五月花西瓜| 万月丁香狠狠爱| 五月婷婷狠天天色综合| 激情综合色婷婷啪啪六月天| 性综合网| 欧美婷婷六月丁香综合色| 久久精彩视频99| 97热91| 激情五月激情综合网一级丸片| 国产亚洲精久久久久| 婷婷丁香五月综合| 在线中文字幕视频| 婷婷综合色图| 九色自拍| 伦乱天堂| 婷婷激情中文综合| 五月叮香啪| 91精品电影18T| 99自拍视频|