99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
九月丁香| 激情九九综合网| 六月丁香久久| 婷婷一本和五月丁香| www.色五月| 另类图片婷婷五月天| 久久精品天| 丁香激情五月| α久久| 国内精品99| 丁香五月影视| 丁香五月成人论坛| 99久久久免费| 青青日韩| 天天干天天干天天干| 亚洲精品国产setv| 黄色短视频在线观看| 人人爽天天爽| 久久视频九九视频| 丁香九月综合| 亚洲网站999| 亚洲天堂久久| 色色色婷婷五月| 五月激情综合婷婷| 天天色播| 激情亚洲婷婷| 久久伊人婷| 狠狠色婷婷| 丁香六月五月婷婷| 1995年关宝慧版蜘蛛女| 色情丁香五月天| 久久加勒比| 蜜桃五月天| 深爱五月婷婷| 亚洲色色香蕉| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 99久热在线精品| 精品爱欲五| 色婷婷婷婷| 五月丁香六月婷婷婷婷| 色插综合网| 五月天成人综合| 人人操人人妻| 免費观看aV在线网址| 九九亚洲| 中文激情网| 九九 激情 网| 色色色色色色色色五月先| 日本在线噜噜| 五月天另类图片| 婷婷五月 丁香六月| 91AV婷婷| 97AV在线视频| www.激情.com.| 天堂综合久| 久久九九激情五月天 | 国产精品电影网| 香蕉影院色| 99综合视频一体| 久久色婷婷| 99无码| http://www.sd-xiangsu.com/| 超碰成人在线观看| WWW,色五月| 久综合九| 久久亚洲色导航| 啪啪一区| 五月婷婷,六月激情| 91婷婷| 99热亚洲精品| 欧日韩成人| 色色日韩无码| 激情色视频| 99热这里只有精品50| 激情伊人六| 激情丁香久久| 欧美丁香五月天| 婷婷综合成人五月天| 激情美女五月天| 色激情综合狠狠婷婷| 色五月婷婷中文字幕在线观看 | 丁香五月婷婷图片综合| 狠狠色婷婷丁香五月| 色五月婷婷丁香凹凸| 狠狠噪| 黄色AAAA韩国guochansanji | 欧美三9久九观看| 久久国产一区二区三区| 色婷婷影音| 欧美精品A片一区在线观看| 久久久九九视频精品18| 色五月综合网| 99在线精品在线视频| 丁香五月亚综合图片| 精a品a| 婷婷五月天情色| 超碰在线超碰| 国产美女无遮挡裸体毛片A片| 亚洲乱码日产精品BD| 天天干人人奸97| 色色丁香五月天社区| 婷婷久久免费| 婷婷五月天激情五月天网站| 五月婷婷色色色| 色婷婷电影网| 操逼视频一区| 五月激情婷婷女| 天天做天天爽| 丁香婷婷狠狠97| 五月婷婷丁香在线视频| 亚洲第一黄网| 99在线热| 精品一区二区三区三区| 国产欧美日韩一区二区三区| 武则天精品久久| 丁香六月啪啪| 午夜色婷婷| 六月丁香婷婷尤物| 丁香五月伊人| 婷婷黄色网| 丁香婷婷黄网站| 婷婷五月天综合色| 69精品人人人人人人人人人| 婷婷成人综合| 五月丁香无码| 色婷婷在线影院| 婷婷五月天激情综合| 激情小说视频图片| 亚州男人天堂婷婷五月| 天天摸天天爽| 玖玖婷婷五月天| 久久五月热| 五月天国产成人| 五月丁香六月婷婷网| 色色com| 日本人妻伦在线中文字幕| 久久一伦| 亚洲天堂aaa| 狼人久草| 婷婷色五月婷婷姐妹| 丁香五月天激情视频| 国产毛片精品一区二区色欲黄A片| 人操综合| 亚洲99在线| 久久九九99| 色婷婷四色| 99爱在线视频| 婷婷性爱网| 国产另类综合| 91丁香色| 五月婷婷无码专区| 爆乳熟妇一区二区三区四区| 四五月婷婷| 大香蕉啪啪啪| 五月丁香啪啪激情| 九九Av| 色哟哟性爱av| 亚洲成人av在线| 在线亚洲综合网| 2025天天爽天天摸| 日本婷婷激情四射中文字幕在线观看| 婷婷五月天色综合| 大香久久伊人网| 天天檫天天爽| 中文字幕婷婷在线| 性视频久久| www.久9| 久久婷婷综合五月趴| 五月婷婷香蕉| 这里只有精品在线视频在线观看| 99久久.www| www,天天干| 字母不卡码人逼| 狠狠色综合网站| 天天色天天操天天射| 久久性爱网站| 久99精品视频| 天天操人人干| 激情五月天啪啪| 天堂无码人妻精品AV一区| 另类五月婷婷| 任我干视频在线观看| 狠狠干五码| 国av网| 噜噜噜精品欧美成人在线观看| 91人久| 国精产品久久| 91干在线| 中文字幕日产A片在线看| 五月婷婷伦理| 激情婷婷在线| 五夜婷婷| 99热99成人| 乱岳熟女50岁| 来吧亚洲综合网| 久久久久久久8| 国产精品大香蕉| 丁香五月天激情婷婷丁香六月| 九九黄色网| 色婷婷狠狠| 乱岳熟女50岁| 99热一区| 思思99re这里只有| 日韩精品999| 思思热视频| 五月婷婷免费| 综合激情在线| 狠狠婷婷色综合| 五月天激情小说网| 五月色导航| 久久五月热| 超碰日日操| 婷婷日在线观看| 狠狠干五月| 亚洲精品永久久久久久| 五月激情综合五月| 成人婷99最新| 99啪啪骑| WWW.国产| 婷婷五月天堂| 99热这里只有精品2016| 婷婷综合激情| 丁香五月综合久久综合| 午夜亚洲AV日韩无码| 中文av网| 狠狠操狠狠做| 婷婷丁香一月| 99精品视频免费在线播放| 碰99在线| 久久精品99国产精品日本| 九九爱激情| 九九久久99| 丁香婷婷浪潮AV久久综合| 激情综合网址| 日日噜噜夜夜狠狠久久丁香六月| 色五月婷婷DVD| 久9视频| 久久精彩视频18| 99久久久免费| 成人在线99| 99er6| 成人综合视频在线| 青青操丝袜美腿| 538在线精品| 九九五月天| 天天视频亚洲| 99.色| 久久99热这里只有精品首| 亚洲欧洲一二| 影音先锋男士资源网一区| 色色无码| 免费黄色片子| 色婷婷狠狠| 97干视频| 欧美这里只有精品| 99热一区| 久久98| 玖玖资源站中文| 俺五月| 丁香综合婷婷开心激情网| 超碰国产在线观看| 久久超级碰视频| 三级毛片视频| 99国产99| 黄色AAAAAAA| www九九免费视频| 久久99国产综合精品免费| 久久丁香五月| 久久xx| 婷婷综合五月| 欧美槡BBBB槡BBB少妇| 91精品综合久久久久久五月丁香| 激情五月天 婷婷| 九九99精品视频在线观看| 五月丁香影院| 99热99在线| 久久久久激情网| 美女五月天| 天天操电影院色狼性av| 99热这里只有精品8| 亚洲99精品欧美一区| 97婷婷五月天| 日本美女五月天| 岛国av网站| 亚洲激情婷婷| 香蕉狠狠爱视频| 熟女网站久久| 九九成人视频| 国产午夜精品AV一区二区麻豆| 丁香五月五月婷婷| 亚洲成人AV电影在线| 五月婷婷色在线| 成人在线观看精品| 五月叮香啪| 秋霞AV淫| 激情综合网,婷婷| 激情综合网激情五月网| 久久艹 五月天| 国内熟女黄色系列| 色琪琪一综合久久激情五月视频| 日日日日做夜夜夜夜无码| 加勒比色色| 丁香五月婷婷激情中文| 成人五月丁香社区| 国产肥白大熟妇BBBB视频| 日韩啪啪视品| aⅤ79成人片| 蜜臀av无码久久久久久久久| 色激情五月| 8区视频在线| 丁香激情网| 五月天另类小说久久小说网| 中文字幕AV在线播放| 天天色情站| 婷婷六月视频| 涩五月婷婷| 六月婷婷色色网| 97碰人人操| 亚洲精品网站色视频| 99性感视频| 偷偷操99| 精品九九久久| 六月婷婷六月天天在线免费| 激情综合色婷婷啪啪六月天| 亚洲性爱AV在线| 久99久视频免费观看| 国产婷婷色五月| 开心五月综合| 啊v视频在线观看| 国产做爰视频免费播放| 亚洲啪视频| 婷婷五月综合视频| 五月丁香在线| 99re久久| 色99在线观看| 狠狠操天天操天天操| 天天日天天日天天搞| 99九九在线| 亚洲综合色婷婷文学| 91色噜噜狠狠狠狠色综合| 日韩成人电影AV| 99热精品在线播放| 99欧美热| 久久人妻系列| 极品少妇XXXX精品少妇偷拍| 婷婷五月深情丁香深爱日韩| 久99在线视频| 99精品高潮| www.婷婷,com| 精品夜夜澡人妻无码AV| 五月婷婷激情四季| 9+1视频网址| 久久综合中文字幕| 色五月婷婷五月天| 91在线视频综合| 99青青草| 在线成人国产| 99久久6| 日韩一区二区A片免费观看| 午夜成人天堂久久无码日韩久久| 色综合久久伊伊婷婷五月| 91超级碰在线| 99爱爱网| 色五月婷婷操逼| 96色婷婷| 久久人妻人人| 婷丁香五月天| 武则天精品久久| 色青五月天| 丁香五月婷久久| 9色婷婷| 亚洲五月婷天天操| 日韩野外 无套| 婷婷性爱无码视频| 色婷丁香91| 天天天添天天操| 免费看欧美成人A片无码| 99热在线爱| 五月婷婷成人| 天天综合网91| 可以免费观看的AV| 深爱开心激情网| 免费视频WWW在线观看网站| 东京热免费视频| 超碰成人免费| www.日日日.com| 精品欧美一区二区三区久久久| 丁香五月天在线直播观看| 99性爱| 成人必爱视| 成人片黄网站色大片免费毛片| 五月婷婷六月丁香综合视频在线| 久久婷婷五月综合色丁香花| 九九视频在线观看| 91欧美| 久99热| 天天开心婷婷丁香五月| 国产性爱大片久久| 人人人操| 色色丁香| 国产精品成人网址| 五月天天综合| 成人小说 五月天 婷婷| 九九综合88| 久久99热这里只频精品6学生| 99色干| 五月天综合在线| 丁香五月婷婷激情123| 激情色五月天| 人人综合久| 五月天日日操夜夜操| 婷婷丁香五月综合| 99热这里只有精| 日本色道视频网站| 日本成人内射| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色激情网| 婷色五月| 99免费视频网| 99热大全在线观看| HD久久精品视频| 超碰人妻在线| 丁香五月另类小说| 亚洲婷婷五月草久| 五月 激情视频| 香蕉久久国产AV一区二区| 色婷婷五月天小说网| 伊人五月综合网| 色99在线| 在线观看的av| 久久视频这里99| 丁香九月婷婷综合| 综合超碰熟| 色播综合| 99re免费精品视频| 91人人爽久久涩噜噜噜| 99er6| 婷婷色在线播放| 97高清国语自产拍| 丁香五月另类小说| 久婷婷久草| 99热人人| 91在线操| 99久99久| 久草热8精品视频在线观看| 99热在线中文字幕| 五月天激情久久| 99热精品少| 九九这里是免费的视频5| 久久激丁香| 思思精品视频| 色激情综合| 婷婷亚洲五月| 婷婷开心激情五月激情网| WWW,色五月| 国内久久亭亭| AV在线收看| 婷婷五月丁香基| www狠狠| 五月婷婷激情| 超碰在线中文字幕| 99国产精品久久久久久久久久久 | 囯产精品久久欠久久久久久九大| av在线观看免费| 婷婷五月av| 日本熟女一区二区| 天天成人丁香美女AV| 久久久久久草黄色片AV在线观看| 金桔一区二区ab地址| 吊色AV男人的天堂| 久久加勒比| 久久伊人婷| 99久久婷婷国产综合亚洲| 熟女少妇内射日韩亚洲| 精品久久久久成人码免费动漫| 激情五月婷| 91爱啪啪| 99热这里只有精品55| 97人人操人人爽| 殴美日比视频| 99热精品在线| 久久xx| wwwss在线观看| 九九热精品| 久久精品99| 99久久网站| 激情综合久久| 91919191919久久成人视频| 成人午夜视频精品一区| 婷婷爱综合| 丁香婷五月天| 5月丁香六月婷婷| 色爱终和网| 丁香六月婷婷开心| 婷婷五月精品在线| 欧美日韩AAAA| 六月丁香色婷婷| 99热这里只有精品86| 丁香婷婷影院| 九九这里都是精品| 国产欧美日韩综合精品一区二区| 超碰色碰碰| 五月丁香A∨在线| 久久婷中文字幕| 日本色99| 人妻在线中文字幕久久| 激情五月婷婷六月丁香| 超碰在线观看99| 色五月激情网| 91碰免费视频| 国产ava| 思思99精品视频| 色五月色五天色情网| 婷婷丁香色情五月天| 婷婷五月天激情小说| 色色色9| 91无码视频| 99碰碰| 少妇2做爰HD韩国电影| 丁香花社区av| aa久久| 这里只有精品热| 五月天婷婷五月| 色五月成人| 精品久久99码| 久久婷婷桃花五月天| 色综合久久99色| 亚洲激情 久久| 久久思思精品| 九九综合色| 婷婷色一二三区波多野结衣| 综合五月丁香久久| 99热这里有精品| 高清无码网址| 国产91九色| 综合天天综合| 女人被男人吃奶到高潮| 色色网站毛片| 色啪网| 天天综合网网欲色| 99国产精品白浆在线观看免费| 在线不卡的视频| 人人干天天舔| 91在线日| 99爱爱网| 国产色99| site:pzdcoin.com| 亚洲热久久| 97操操| 另类在线观看视频| 精品51XX| 久久综合九色综合97婷婷| 婷婷五月丁香久久| 五月婷婷六月丁香玖玖玫瑰91| 熟女少妇内射日韩亚洲| 五月婷婷免费在线| www.婷婷亚洲基地| 欧美日韩国产一区二区| 可以观看的AV| 五月丁香亭亭激情操逼网| 99热99成人| 伊久久婷婷| 久久激情婷婷| 激情五月婷婷综合色播小说| www.超碰| 婷婷丁香久久| 九九激情网| 五月天停停日日| 五月婷婷 激情五月| 成人午夜天| 久色视频在线| 五月丁香综合啪啪| 婷婷五月天激情四射五月天激情| 99色在线| 影音先锋按摩| 婷婷五月情| 亚洲成人在线免费| 91精品久久久久久77777| 亚洲无码yw| 99re6久热只有精品6在线直播| 沈娜娜av| 麻豆精品| 五月婷婷亚洲| 一本久道综合色婷婷五月| 婷婷丁香五月综合激情小说| 亚洲日比视频| www.99热这里只有精品| 九月久久婷婷| 综合激情婷婷| 亚洲美女婷婷五月天| 俺去也综合| 色久婷婷五月| 久久小视频| 激情美女五月天| 啪啪91| 免费AV播放| 开心五月婷婷激情| 九月激情综合| 天天爱天天做天天日| 日日色综合| 欧美激情xxxXX| 精品人妻一区二区三区在| 丁香色播五月天| 五月婷婷色在线| 久热2025无码| 99色免费观看全部| 99亚洲视频| 中文字幕在线播放视频| 99热这里只有精品8| 婷婷六月插屄激情| 狠狠综合久久综合| 激情综合网址| 九热在线这里有精品6| 久久人妻熟女一区二区| 五月天综合激情网| 婷婷丁香六月| 五月婷久久久久综合| 婷婷激情视频欧美视频自拍视频欧美剧| 碰人人操| 另类小说五月天| 99热这里只有是亚洲国产| 99久久新视频| 日本成人噜噜噜| 97视频久久| 亚洲色色色| 婷婷开心五月| 婷婷欧美色| www,setingting| 九九色大香蕉| 精品成人无码A片观看香草视频 | 99热这里是精品| 伊人AV五月婷| 五月天激情综合在线| 深夜婷婷 丁香| 婷婷午夜精品久久久| 婷婷色5月天在线。| 婷婷丁香色性爱| 亚洲成人综合在线| 综合网啪| 日日操人人操| 激情无码网| 香蕉AV777XXX色综合一区| 五月天综合| www,欧美干干干干干干| 欧美在线操| 久操香蕉| www.99热| 色~性~乱~伦~噜| 欧洲亚洲激情五月天在线| 色原狠狠综合| 色五月开心婷婷| 六月色丁香婷婷| 99精品爱| 久久在这里有精品| 久久98| 五月间天堂综合| 欧美成人在线观看| 91丨九色丨东北熟女| 26.uuu丁香五月婷婷| 综合色色婷婷| 婷婷亚洲五月丁香综合在线 | 农村熟妇高潮精品A片| 91丨九色丨熟女丰满| 婷婷丁香激情| 情五月亚洲婷婷| 色色吧综合| 黑人无码一区| 99热 在线播放| 7EzOBIhNq85TO| 黄网在线播放| 色婷婷五月在线| 激情AV在线| 中国激情网| 五月www| 免费成人va| 综合五月丁香六月婷婷| 久热久re| 一本婷婷丁香久久| 亚洲精品99| 亚州操人在线视频| 亚洲人人操| 亚洲热综合| 色色COm| 99热这里只有精品最新地址获取| 婷婷娱乐丁香综合网| 婷婷伊人激情婷婷| 婷婷色香六月综合激情| 色婷婷国色天香综合| 色五月xxx| 激情综合自拍五月婷婷色五月| 国产67194| 婷婷五月天成人网| 欧美天天爽| 五月激情五月丁香| 国产亚洲99久久精品| 人妻性操逼中文字幕 国产| 中文字幕不卡视频| 特级操b片| 九九AV在线| 色情综合网| 777.色色| 好激情在线综合网| 五月天色丁香| 中文字幕精品在线观看| 五月天社区| 色色色综合| 无码少妇高潮喷水A片免费| 五月婷婷六月天| 亚洲人妻av伦理| 丁香婷婷五月份| 久久五月天精品视频| 日本3级片一区2区| 国产欧美日韩性爱| 婷婷色五月色妇| 天天日,天天射,天天舔| 永久免费视频| 超碰碰碰碰| 操精品9| 停停五月色宗合| 大香蕉啪啪网| 思思热再线视频| 五月天播播中文字幕| 激情六月丁香| 亚洲深喉aV| 免费成片在线观看| 婷婷五月天成人在线视频| 五月激情偷拍婷婷| 丁香激情五月| 国产午夜成人AV在线播放| 99五丁香月| 久9免费视频| 99热这里都是精品| 深爱丁香激情| 伊人久久大香线蕉av一区| 欧美色五月| 五月色丁香婷婷综合| 成人婷99最新| 亚洲欧州色情在线观看| 超碰成人电影| 色婷婷丁香女女| 午夜成人网站在线观看| 91大屁股| www.久久久久| 99九九热播在线免费视频| 亚洲AV综合在线观看| 黄页大全十八禁| 五月天开心色情网| 五月丁香激情综合网官网| 一本色道久久88加勒比—| 玖玖在线资源视频| 国产精品成人AV在线| 九九视频在线观看视频6| WWW免费视频碰碰碰碰| 婷婷激情区| 人妻久久久久久久| 4399无码视频| 久久五月综合| 欧美啪啪9| 天天综合区| 五月天六月丁香| 婷婷色在线视频| 狠狠干,狠狠操| 久久久精品AV| 亚洲综合五月天婷婷| 亚洲字幕AV一区二区三区四区 | 六月丁香中文字幕| www.深爱激情| 五月天大香蕉av| 国产亚洲精品人人| 超碰超碰在线| 百度4399有码精品V在线观看| 思思热99在线| 另类激情综合| 色婷婷久久| 丁香五月综合激情啪啪| 日韩久久欧亚| 插少妇综合网| 亚洲色五月| 国产成人+综合亚洲+天堂| 超碰人人操| 97超碰欧美中文字幕| 99精品无码网站| 欧美交换配乱吟粗大25P| 久久性爱激情| 99免费热视频| 1024欧美看片| 激情九九这里只有精品| 亚洲中文字幕AV在线| 久久久久久久丁香五月天婷婷| 一区二区乱码视频| 色婷婷久久天天性爱| 无码色色色| www.综合久久| 婷婷五月情天| 99视频在线看| 五月亚洲| www.久久爱.c n| 久久婷婷五月天| 亚洲天堂青草| 五月天啪啪啪| 色99色| 91精品综合久久婷婷九色| 婷婷九月丁香天堂丁香天堂| 色婷婷日本| 日本成人综合| www.91久久| 天天色月| 免费无码毛片一区二区A片| 国产 码在线成人网站| 深爱五月月天| 极品人妻VIDEOSSS人妻| 99er久久| 99色综合网| 亚洲第一成人无码A片| 婷婷五月中文在线视频| 99人碰碰碰| 青青久在线视频免费观看| 99久久玖玖| 九九操操| 夜色热久| 五月丁香大香蕉| 五月天婷婷激情干干| 久久丁香婷| 日本va欧美va国产激情| 爱射综合| 国产午夜精品一区二区三区四区| 亚洲俩性性爱图片久久第六页| 久久久天堂国产精品女人| VfJxEwPH| 色婷婷亚洲婷婷| 国产欧美精品AAAAAA片| 五月丁香六月综合基地| 色综合天堂| 亚洲综合色网| 天天婷婷| 国产.亚洲.欧洲视频在线| 亚洲激情网| 99人人操人人摸| 婷婷久久精品| 操操碰| 五月天狠狠网| 天天综合久久| 久热久re| 天天日天天色| 天天干天天干天天干天天干天天干| 五月婷婷啪啪网| 国产毛片精品一区二区色欲黄A片| 青青草激情网| 热五月婷婷| 国产肥白大熟妇BBBB视频| 久久538| 99热6这里之有精品| 激情啪啪五月| 欧在线一区| 99re6在线视频精品免费| 色色色地址| 狠狠色噜噜狠狠| 五月开心六月婷婷在线播放网站| 成人综合视频在线| 操b视频在线观看一区二区| 天天做天天爽| 久久综合九九| 超碰色色综合| 色色色网站| 五月丁香六月综合激情| 色色色欧美| 深爱激情丁香| 精品少妇人妻AV无码专区偷人| 亚欧州精品视频| 天天干天天爽天天操| 亚洲九九视频| 久婷久婷| 99re鈥哸鈥唙| 欧美情色一区| 亚洲九区| 99热色婷婷| 五月丁香六月婷婷婷婷| 九月婷婷综合| 丁香婷婷五月天激情四射| 色色色色av色色色色| 亚洲亚洲人成综合网络| 狠狠色丁香五月婷巨| 丁香五月情| 日韩AV中文字幕在线| 狠狠撸激情综合丁香五月天俺来啦| 99色色| 在线中文av| 五月婷婷成人| 激情熟女网| 婷婷色丁香六月| 狠狠噪| 99热这里只有精品96| 91操人视频| 亚洲综合激情五月久久| 9久热在线视频精品| 五月天怕怕| 五月丁香六月婷婷在线观看| 激情 久久 婷婷| 丁香久久五月天视频在线观看| 激情五月婷婷综合| 婷婷五月四狠狠| 99热91| 久久综合激情| 99久久久99久久91熟女| 高清视频一区| 亚洲色啪| 五月婷丁香| 思思热在线播放| 精品人人操| www久| 99久久婷婷国产综合精品青桔| 天天久久狠狠色综合| 中文精品在| 久久婷综合| 7超碰自拍| 亚洲日日操| www.激情.com.| 久热九九| 综合网激情五月天| 亚洲综合网在线| 九九热手机在线视频| 影音 五月 婷婷 久久| 色综合综合网| 五月天婷婷色色首页| 丁香六月婷| 日韩 中文 欧美| 亚洲色在线观看| 秋霞三级影视资源| 刘玥av在线| 在线可以看的av网址| 超碰成人在线免费观看| 久久丁香五月| 日韩不卡DvD| 99久在线精品99re8| 五月婷婷亚洲综合网| 伊人爱爱日本| 天天弄天天操| 亚洲va欧美| 丁香五月激动深爱欧美| 丁香婷婷色| 激情五月天啪啪| 婷婷五月天AV| 婷婷五月综合激情小说| 亚洲色频| 91婷婷在线| 开心亚洲久久开心| 午夜在线成人网站免费观看| 婷婷 丁香 精品| 大香蕉手机视频| 双性美人被调教到喷水A片| 丁香五月六月激情久久| 吊色AV男人的天堂| 婷婷综合激情| 深爱激情网五月天| 久久性刺激| 欧美性做爰大片免费看办公室 | 激情综合五月.....| 亚洲色区17| 五月天久久婷婷| 狠狠色性| 99超碰人人| 99久在线精品99re8| www.色擼擼.com| 五月婷婷熟女| 亚洲综合网在线| 丁XX 成人| 婷婷久久夜| 丁香五月综合首页| 五月天综合网| 五月婷婷免费在线视频| 久久永久网址| 99综合99| 91丨九色丨国产打屁股| 99热这里只有精品22| 99久久婷婷国产综合精品青桔| 伊人网色婷婷五月天| 99九九在线精品热动漫| 五月天色官网| 思思99久久| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久久婷婷六月综合国际| 丁香婷婷六月天| 丁香五月成人在线| 五月丁香久久综合| 日韩av高清| 久色网| 五月婷婷六月色| 丁香五月老师| 男女99免费视频| 日韩美一级毛卡片| 天堂成人A片永久免费网站| 无码99| 狠狠操.COM| 色播五月丁香| 91精品丝袜久久久久久久久粉嫩| 中文字幕无码人妻少妇免费视频| 97热精品| 婷婷五月激情在线视频| 九九热视频首页/这里只有精品| 久人操| 九九日伊人| 婷婷六月啪啪| 五月天停婷基地| 婷婷五月久久| 六月婷婷无码| 久久人人九九| 日韩xx在线| 五月天激情美女久久| 可以免费观看的AV| 久久与婷婷| 色爱亚洲| 99热精品6| 五月婷婷就去色| 国产欧美日韩性爱| 大香蕉久久久| 欧美久人人| 五月婷婷激情啪啪| 精品久久穴| 丁香五月天堂网| 五月婷六月| 久久狠狠干| 婷婷色导航| 另类激情五月天| 韩国婷婷丁香五月| 久久五月天综合视频网站| 九九99免费视频| 久久久欧美精品sm网站| 99超级超级超级碰| AV色色天堂中文| 免费观看全黄做爰的视频| 99热只有| 夜夜躁爽日日| 99色在线| 国产亚洲99久久精品| 99久在线观看| 久色激情| 丁香五月天婷婷中文字幕| 婷婷五月天色| 五月天伊人综合| 日日夜夜小色哥| 五月丁六月婷| 五月婷婷手机在线| 丁香激情婷婷网| 综合激情深爱| 色区域网站视频| 人人草人人爱手机视频看看 | 九九精品在线视频观看| 丁香六月激情综合| 综合网色| 99热99ai| 狠狠操.com| 激情丁香婷婷五月天| 亚洲在线激情婷婷五月| 欧美成人热| 深爱五月天 开心网| 内射激情在线| 人人看人人摸人人| 丁香五月六月婷婷殴美综合| 色播五月婷婷五月| 婷婷六月啪啪| 色哟哟www| 婷婷综合激情| 激情婷婷六月天| 国外亚洲成AV人片在线观看| 噼里啪啦在线观看免费完整版视频| 久久精品国产一区二区三区四区| 最近免费中文字幕大全高清大全1| 粉嫩AV久久一区二区三区| 久久艹 五月天| BlACKEDRAW视频一区二区| 日韩操啪| 91色逼| 狠狠艹狠狠艹| 色婷婷六月综合| 天天色激情| 五月天婷婷成人网| 亚洲天堂99| 色五月av| 婷婷字幕在线| 99人人操人人操人人精| 日本欧美在线| 99色啊| 久久这里只| 日日夜夜干| 日本色五月| 超碰在线caop| 久久精品五月| 丁香色色网| 婷婷五月天,影院| 国产五月天欧美色| 色伊人婷婷| 日本精品久久久久中文字幕| 99爱在线| 久久九九中文字幕| 欧日美女Va| 99热这里只有精品一区| 色五月激情综合| 色婷婷基地| 大香久久综合网| 人人97碰| 天天干天天操天天干天天操天天干天天操 | 日韩日比视频| 色色亚洲无码| 亚洲精品激情| 99网| 操草草草| 婷婷五月色| 国产精品A片| 秋霞成人毛片一级A片| 亚洲妇女熟BBW| 冬月かえでAV无码播放| 日本a片网址| 噜噜五月天综合| 噜噜视频| 婷婷丁香综合色AV| 色婷婷基地在线| 热久久99热欧美国产亚洲| 亚洲这里只有精品| 99操网站| WWW色综合| 四色五月婷婷| 国产肥白大熟妇BBBB视频| 99九九热视频免费| 五月婷婷六月丁香综合视频在线| AVDV久久| 97色婷婷| 色综合网址| 中文字幕色色| 五月天综合网| 99爱爱网| 1995年关宝慧版蜘蛛女| 久久精典| Www.se.久久| 国产亚洲色婷婷99精品| 26uuu国产| 亚洲中文字幕AV在线| 97人人干人人操| 夜夜操天天干| 亚洲精品久久久无码| 99碰碰视频| 国产色色色色| 疯狂做受XXXX高潮A片动画| 人妻激情在线| 亚洲视频伍月婷婷| 丁香网站| 久激情网| 亚洲热综合| 国产麻豆视频| 婷婷欧美激情综合| 九九精品亚洲| 婷婷婷久久| 激情丰满熟妇五月| 超碰人人色| 久热丁香| 五月花综合视频| 九九日伊人| 再次出发二| 久久女婷| 久久性刺激| 这里只有精彩视频| 99视频在线9| 深爱五月天婷综合| 亚洲色另类| 九月激情网| 久久婷婷五月综合色丁香| 丁香影院五月综合| 久久久五月激| 午夜性做爰电影| 狠狠色丁香五月婷巨| 狠狠色狠狠| 色爱99| 五月婷婷天天| 墨西哥毛片内射精| 狠狠撸激情综合丁香五月天俺来啦| 天天爽天天爽| 亚洲人妻av| 超碰成人av| 色五月婷婷大香蕉| 婷婷五月丁香色播| 日韩五月丁香| 1024在线视频| 天天做天天摸| WWW.HENHENL.| 人人爱人人添| 嫩草哈哈操| 丁香六月五月婷婷| yirenjiqingshiping| 久久九九大香蕉电院| 在线看的免费网站| 思思色综合网站| 性做爰A片免费视频A片直播| 停停色综合伊人| 免费无码毛片一区二区A片| 五月天色婷伊人| 开心激情站| 婷婷激情五月天色| 99精彩视频网站在线| 91啪级电影| 在线中文AV| 激情五月亚洲| 在线sebiav精品视频| 日日天天干| 激情四射婷婷色色色| 色五月婷婷影院| 日韩一级A片黄色| 99精品在线| 五月婷婷丁香成人网| 99精品免费| 五月婷婷在线网站| 百度一下国产精品A| 色爱五月天| 五月丁香久久呀| 久9视频| 26uuu色噜噜精品一区| 国产精品日本一区二区在线播放| 色婷婷五月婷婷五月婷婷五月| 久久婷婷九月国产精品| 日韩欧美一级大黄网站| 亚洲精品中文字幕成人片| 五月丁香好婷婷A片网| 99精品久久| 国产全是老熟女太爽了| WWW.99热| 亚洲99在线| 亚洲天天| 伊人超碰| 久久久久久久久久婷婷| 色情久久久| 色激情综合狠狠婷婷| 伊人高清无码| 婷婷成年人免费视频| 男人天堂99| 亚州美女| 毛片色五月| 丁香六月色婷婷| 91九色精品熟女内射| 久久久久久人妻| 岛国资源网| 3DAV亚洲香蕉久久 一区二区| 99热精品在线| 婷婷六月激情小说网| 久久久久久久11111111111| 久久人妻伦理| 日韩另类| 黄色国久久| 五月丁香综合中文| 五月天色婷婷激情综合| 精品99*| 99精品久久久久| 亚洲激情图文小说| 曰本aaaaaa丈片| www.zbzhongsen.com| 午夜爱爱爱成人| 色婷六月| 99性爱| 五月婷婷激情五月| 五月丁香六月婷婷啪啪综合| 国产精品成人网址| AV在线资源| 九九九九九九九热| 中文字幕AV网址| 中文字幕有多少字| 久草视频一,二三四| 五月天婷婷色播在线网| 久久色五月| 九七色色六月丁香|