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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

利用Diferencia和Java微服务进行分接比较测试

發布時間:2025/3/18 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Diferencia和Java微服务进行分接比较测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文要點

  • 在微服務體系結構中,許多服務可能同時在(相對)獨立地演化,而且通常非常迅速。要獲得這種架構風格的全部價值,服務必須能夠獨立發布。
  • 通常很難驗證新服務(或服務的新版本)沒有對當前的應用程序造成任何破壞,即API、載荷或響應性能的變化導致回歸。
  • “分接比較(Tap compare)”是一種測試技術,它使你可以通過把新服務的結果與舊服務進行比較來測試新服務的行為和性能。本文提供了一個使用新開源工具Diferencia的示例,通過在新舊服務之間鏡像生產流量來比較結果的差異。
  • Diferencia是一個用Go編寫的開源工具(遵循Apache v2許可),它與JUnit 4、JUnit 5或AssertJ等Java測試框架緊密集成,讓你可以使用分接比較測試技術來驗證服務的兩個實現在語法上是否兼容。

DevOps在過去幾年中越來越受歡迎,特別是在那些希望在不影響質量的情況下,將交付時間從月/年減少到日/周的(軟件)公司中。除了其他模式和技術外,這還導致了基于微服務的架構的采用。

在微服務架構中,許多服務可能同時演化,而且通常非常迅速。然而,更重要的是,它們必須以一種孤立的方式單獨發布,這就意味著發布不是在服務之間協調進行的。

因此,如果你采用微服務架構(包括它所包含的所有內容),那么你每天可以發布多次,但是這又帶來了另一個問題:很難驗證新服務(或服務的新版本)會不會破壞當前應用程序中的任何內容。

讓我們看一個示例,你可能會因為一個服務的更新而中斷另一個服務。

微服務發布編排面臨的挑戰

假設我們有一個消費者服務A(v1)和一個提供者服務B(v1)。服務B(v1)提供一個JSON文檔作為輸出,其中一個字段名為name,服務A (v1)使用該字段。

現在,創建一個服務B(v2),它將字段從name改為fullname。然后,你修復服務B(v2)的所有測試,使它們不會因為這個修改而失敗。因為理論上,任何服務都可以獨立發布,你將這個新版本部署到生產環境,當然,服務B(v2)的行為沒有問題,但服務(v1)將會立即開始失敗,因為它沒有獲得預期的數據(例如,服務A希望得到字段name卻接收fullname)。

所以你可以看到,單元測試(在這里是服務B)和一般測試可以幫助獲得信心,相信我們正在做的事情是對的,但這并不涵蓋整個系統的總體邏輯(即我們無意中破壞了依賴B的服務A)。

一種潛在的解決方案:引入分接比較

“分接比較(Tap compare)”是一種測試技術,它允許你將新服務的結果與舊服務進行比較,從而測試新服務的行為/性能。

它被用來檢測不同類型的回歸,例如,請求/響應格式回歸(新服務破壞了與消費者的向后兼容性)、性能回歸(新服務表現低于舊服務),或者僅僅是代碼缺陷(通過比較兩個服務的響應)。

分接比較方法不需要開發人員創建復雜的測試腳本,其他類型的測試通常需要,如集成測試或端到端測試。在分接比較方法中,你可以使用鏡像流量技術或捕獲(跟蹤)部分公共流量,并在服務的新版本上重放。這些技術超出了這篇文章的范圍,簡單起見,作為分接比較技術的入門指南,我們通過一個測試“模擬”鏡像流量的方法。

為什么是分接比較?

分接比較并不是要直接代替任何其他測試技術——你仍然需要編寫其他類型的測試,如單元測試、組件測試或契約測試。不過,它可以幫助你發現回歸,這樣你對開發的新版本的服務的質量就更有信心。

但是,分接比較的一個重要特點是,它為你的服務提供了一個新的質量層。借助單元測試、集成測試和契約測試,作為一名開發人員,你可以根據你對系統的理解進行功能驗證,還有你在測試開發過程中所提供的輸入和輸出。在分接比較測試中,有些完全不同的東西。這里,服務驗證使用了生產請求,或者是從生產環境捕獲一組請求然后對新服務重放,或者是使用鏡像流量技術(克隆)生產流量同時發送給舊版本(生產版本)和新版本,并比較結果。在這兩種情況下,作為一個開發者,你都不需要編寫測試腳本(提供輸入或輸出)來進行服務驗證——用于驗證目的是真實的流量。

分接比較工作在“生產環境”中;你是用生產流量和生產實例來驗證同樣部署到生產環境中的新服務,因此,你是在生產環境中添加質量檢驗關,而其他測試技術重點是在部署之前驗證軟件(單元或組件測試)。

Diferencia

Diferencia是什么?

Diferencia是一個使用Go編寫的開源工具(遵循Apachev2許可),與Java JUnit 4、Junit 5或AssertJ這樣的框架進行了緊密地集成,讓你可以使用分接比較測試驗證服務的兩種實現的兼容(例如,服務不會破壞交互協議方面的向后兼容性),讓我們可以確信變更不會造成回歸。

Diferencia背后的思想是充當代理,收到的每個請求會多路發送給服務的多個版本。當每個服務響應都返回后,比較響應并對它們進行檢查,看它們是否“相似”。如果對一定數量的請求重復此操作后,所有(或大多數)的響應都“相似”,那么你可以認為新服務未造成回歸。

在下一節中,你會看到為什么我使用“相似”這個詞而不是相等。

Diferencia也可以用Docker鏡像(lordofthejars/ Diferencia)的形式發布,該鏡像基于Alpine鏡像,可用于Kubernetes或OpenShift集群。

寫這篇文章的時候,Diferencia的版本是0.6.0。

Diferencia的工作機制

Diferencia充當請求和正在驗證的服務的兩個版本之間的代理。默認情況下,Diferencia使用兩個不同的服務實例:

  • 現有版本(生產環境中的版本),即主版本;
  • 新版本(發布過程中的版本),即候選版本。

每個請求都以廣播的方式發送給兩個服務,然后對兩個實例的響應進行比較。如果響應相等,則Diferencia代理會向調用者返回一個HTTP狀態碼200 OK。另一方面,如果請求響應不相等,則會向調用者返回一個HTTP狀態碼412 “前提條件失敗”。前提是具有相同參數的相同請求應該產生相同的響應。Diferencia還在內部存儲每個請求的結果,以供稍后查詢。

重要的是要注意,Diferencia并不像一個標準的代理,所以如果不顯式設置的話,它返回的不是原始內容。Diferencia在啟動時可以使用鏡像流量選項,這使得Diferencia可以將來自主要部分的響應重新發送出去。

然而,這只是最簡單的情況。當JSON文檔中的有一些值有本質的不同(或不確定性),例如,一個計數器、一個日期或隨機數?盡管響應可能是完全有效的,因為唯一的區別是一個字段的值,兩個文檔是不相等的,因此就不能保證這種變化是否是回歸的原因。

為了避免這個問題(也稱為“噪聲”),一個自動噪聲檢測函數會識別包含噪聲值的字段,并消除響應中的噪聲。這樣,噪聲值就從比較邏輯中刪除了,每個響應在進行比較時就像沒有噪聲一樣了。

要進行自動噪聲檢測,你需要三個運行的服務實例:

  • 現有版本(生產環境中的版本),稱為主版本;
  • 現有版本(生產環境中的版本),它是主版本的另一個實例,稱為輔助版本;
  • 新版本(正在發布過程中的版本),稱為候選版本。

首先,在比較主版本和候選版本的響應時禁用噪聲檢測。然后,比較主版本和輔助版本的響應。因為這兩個版本是一樣的,響應應該是相同的,它們之間的任何差異都被認為是噪聲。最后,在比較主版本和候選版本時將噪聲移除,就可以確認兩個響應彼此相等。

重要的是要注意,在默認情況下,Diferencia將忽略任何非安全操作,如POST、PUT、PATCH等等,因為它們可能對服務產生副作用。可以使用–unsafe標識禁用此行為。

Diffy還是Diferencia

Diferencia的理念來自另一個名為OpenDiffy的分接比較框架,但它們之間有一些差異。Diferencia是:

  • 用Go編寫的,提供容器的輕量級體驗;
  • 準備在Kubernetes和OpenShift集群中使用;
  • 它可以用來鏡像流量;
  • 將結果暴露為Rest API,但也以Prometheus格式;
  • 與Istio集成;
  • 支持Postel定律(后面會詳細介紹)。

Diferencia Java

Diferencia-Java是一個Diferencia包裝器,它提供了Java API讓你可以在Java中使用它,而不會注意到它是用Go實現的。Diferencia-Java提供了以下特性:

  • Diferencia可以自動安裝,你不需要手動安裝任何東西;
  • 在啟動/停止Diferencia時,你不需要直接和CLI打交道;
  • 提供特定的HttpClient用于連接Diferencia Rest API,從而對它進行配置或獲取結果;
  • 它可以作為普通的Java使用;
  • 與JUnit4和JUnit5集成;
  • 與AssertJ庫集成,使測試可讀。

Java示例

在這個例子中,我們使用一種簡單的方法,用一個簡單的Rest API展示Diferencia的所有功能。

該服務是使用MicroProfile規范開發的,如下所示:

@Path(\u0026quot;/user\u0026quot;)public class HelloWorldEndpoint { @GET @Produces(\u0026quot;application/json\u0026quot;) public Response getUserInformation() { final JsonObject doc = Json.createObjectBuilder() .add(\u0026quot;name\u0026quot;, \u0026quot;Alex\u0026quot;) .build(); return Response.ok(doc.toString()) .build(); }

讓我們看一下,在這個服務演化為不同版本的過程中如何使用Diferencia。簡單起見,我們設定以下前提:

  • 服務在本地主機上運行;
  • 主服務運行在端口9090上;
  • 輔助服務運行在端口9091上;
  • 候選服務運行在端口9092上。

Java測試

這個示例使用JUnit 5開發測試代碼,運行Diferencia并檢測回歸。基本上,這個測試是讀取一個文件中指定的URL并向Diferencia發送請求。最后,如果有回歸,它會發出告警。

接下來,依賴項必須包含在類路徑中,應該在構建工具中注冊:

\u0026lt;dependency\u0026gt; \u0026lt;groupId\u0026gt;com.lordofthejars.diferencia\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;diferencia-java-junit5\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;${version.diferencia}\u0026lt;/version\u0026gt; \u0026lt;scope\u0026gt;test\u0026lt;/scope\u0026gt; \u0026lt;/dependency\u0026gt; \u0026lt;dependency\u0026gt; \u0026lt;groupId\u0026gt;com.lordofthejars.diferencia\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;diferencia-java-assertj\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;${version.diferencia}\u0026lt;/version\u0026gt; \u0026lt;scope\u0026gt;test\u0026lt;/scope\u0026gt; \u0026lt;/dependency\u0026gt; \u0026lt;dependency\u0026gt; \u0026lt;groupId\u0026gt;org.junit.jupiter\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;junit-jupiter-engine\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;${version.junitJupiter}\u0026lt;/version\u0026gt; \u0026lt;scope\u0026gt;test\u0026lt;/scope\u0026gt; \u0026lt;/dependency\u0026gt; \u0026lt;dependency\u0026gt; \u0026lt;groupId\u0026gt;org.assertj\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;assertj-core\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;${version.assertj}\u0026lt;/version\u0026gt; \u0026lt;scope\u0026gt;test\u0026lt;/scope\u0026gt; \u0026lt;/dependency\u0026gt;

編寫一個JUnit測試,從一個文件中讀取URL:

@ExtendWith(DiferenciaExtension.class)@DiferenciaCore(primary = \u0026quot;http://localhost:9090\u0026quot;, candidate = \u0026quot;http://localhost:9092\u0026quot;)public class DiferenciaTest { private final OkHttpClient client = new OkHttpClient(); @Test public void should_detect_any_possible_regression(Diferencia diferencia) throws IOException { // Given final String diferenciaUrl = diferencia.getDiferenciaUrl(); // When Files.lines(Paths.get(\u0026quot;src/test/resources/links.txt\u0026quot;)) .forEach((path) -\u0026gt; sendRequest(diferenciaUrl, path)); // Then assertThat(diferencia) .hasNoErrors(); } private void sendRequest(String diferenciaUrl, String path) { final Request request = new Request.Builder() .addHeader(\u0026quot;Content-Type\u0026quot;, \u0026quot;application/json\u0026quot;) .url(diferenciaUrl + path) .build(); try { client.newCall(request).execute(); } catch (IOException e) { throw new IllegalArgumentException(e);

當你運行這個測試時,一個*/user請求會發送到Diferencia代理,這是由JUnit擴展自己啟動的。當links.txt*文件中定義的所有請求處理完成,就可以斷言Diferencia代理中沒有任何錯誤,這意味著新服務中沒有回歸。

因為現在兩個服務實例完全相同但運行在不同的端口上,一切順利。

在更復雜的情況下,這個文件應該是由捕獲公共流量生成的,或者只是將公共流量使用鏡像技術重定向給Diferencia代理。正如上文所言,這超出了本文的范圍。

現在,讓我們做個修改,把name字段改為fullname,破壞新服務的向后兼容性 。

finalJsonObjectdoc= Json.createObjectBuilder() .add(\u0026quot;fullname\u0026quot;, \u0026quot;Alex\u0026quot;) .build();

然后,部署這個新版本,再次運行測試,你會發現路徑*/user*上有一個回歸。

是時候看看噪聲檢測的作用了。修改現有服務和新服務,讓它們包含一個隨機數,并再次部署它們。

final JsonObject doc = Json.createObjectBuilder() .add(\u0026quot;name\u0026quot;, \u0026quot;Alex\u0026quot;) .add(\u0026quot;sequence\u0026quot;, new Random().nextInt()) .build();

再次運行測試。顯然,你會失敗,因為sequence字段包含一個隨機生成的值。

這是一個完美的自動噪聲檢測用例,所以你需要在端口9091上部署一個輔助服務,并讓Diferencia使用噪聲檢測。

@DiferenciaCore(primary = \u0026quot;http://localhost:9090\u0026quot;, candidate = \u0026quot;http://localhost:9092\u0026quot;, config = @DiferenciaConfig(secondary = \u0026quot;http://localhost:9091\u0026quot;, noiseDetection = true))

再次運行測試,你將會看到測試通過。自動噪聲檢測會識別出,sequence字段的值是噪聲,并從比較邏輯中移除。

到目前為止,你已經看到,Diferencia可用于檢測回歸,但還有一個重要用例需要提及,就是如何在服務的新版本中正確地重命名字段而不引發回歸。

子集模式

要重命名響應中的一個字段,消費者和提供者都應該遵循Postel法則或進行消息序列化和反序列化。Postel法則(意譯)說,“嚴以律己,寬以待人”。

如果你想把字段name重命名為fullname,你需要先提供這兩個字段,這樣,就不會對任何消費者造成破壞。

在前面的例子里,新版本的服務應該是下面這個樣子:

final JsonObject doc = Json.createObjectBuilder() .add(\u0026quot;name\u0026quot;, \u0026quot;Alex\u0026quot;) .add(\u0026quot;fullname\u0026quot;, \u0026quot;Alex\u0026quot;) .add(\u0026quot;sequence\u0026quot;, new Random().nextInt()) .build();

現在消費者仍兼容新版本,所以沒有引入回歸…好吧,讓我們部署新服務并運行Diferencia測試。你會失敗,因為主版本和候選版本不相等;新版本有一個舊版本沒有的字段。為解決這種假陽性,Diferencia提供了子集模式。這種模式使Diferencia不會失敗,它就是為了處理這種情況,即舊版本的響應是新版本的響應子集。

修改測試,使Diferencia以子集模式啟動。

@DiferenciaCore(primary = \u0026quot;http://localhost:9090\u0026quot;, candidate = \u0026quot;http://localhost:9092\u0026quot;, config = @DiferenciaConfig(secondary = \u0026quot;http://localhost:9091\u0026quot;, noiseDetection = true, differenceMode = DiferenciaMode.SUBSET))

再次運行測試,測試通過,因此,即使在這種情況下,Diferencia也可以用于檢測任何回歸問題。

更多特性

在這篇文章中,你已經了解了如何使用Diferencia Java,但是請記住,Diferencia是用Go編寫的,這意味著它可以獨立地應用在任何語言中。

此外,Diferencia還提供了以下特性:

  • HTTPS支持;
  • 公開結果供REST API或Prometheus使用;
  • 可視化儀表板;
  • 主版本調用和候選版本調用的平均耗時。

契約測試

分接比較測試不能代替契約測試,但是它們可以充當“監護人”,保證任何未被契約驗證測試覆蓋的東西(即契約中未指定的操作)不會在新服務發布到生產環境時引入回歸。

重要的是要注意,契約測試技術需要大量的技術知識才能有效地實現(特別是在消費者驅動的契約開發的情況下),需要項目的所有團隊做出巨大的讓步。

在契約測試中,有一個步驟涉及契約的生成,因此,我們還需要自動化這個過程,保持更新或防止任何可能的錯誤在這個(可能)手動步驟中被引入。

結論

分接比較是一種很好的測試技術,你可以添加到你的工具箱中用于驗證服務的新版本沒有引入回歸,而無需管理和維護一個測試腳本。你可以捕獲現有的生產流量并稍后回放,或者使用鏡像流量技術克隆請求并同時發送給新版本和舊版本的服務。

在這篇文章中,我重點介紹了Diferencia及其與Java的集成,但是,它可以作為一個獨立的服務,不需要使用Java(或者任何JVM語言)。

如果你想提高應用程序的質量,并添加一個守衛,防止在新版本中出現回歸,那么分接比較技術可以為你帶來幫助。

關于作者

Alex Soto是Red Hat開發組的軟件工程師。他熱愛Java世界和軟件自動化,信任開源軟件模型。Alex Soto 是NoSQLUnit和Diferencia項目的創建者、JSR374專家組成員(用于JSON處理的Java API)、Testing Java Microservices 一書的作者之一(Manning出版)以及幾個開源項目的貢獻者。自2017年以來,他成為Java冠軍和國際演講者,他介紹新的微服務測試技術和21世紀的持續交付。你可以通過Twitter(@alexsotob)找到他。

查看英文原文:Tap Compare Testing with Diferencia and Java Microservices

總結

以上是生活随笔為你收集整理的利用Diferencia和Java微服务进行分接比较测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久综合九色综合97婷婷女人 | 天天干天天射天天操 | 久草视频免费观 | 奇米7777狠狠狠琪琪视频 | 欧美性粗大hdvideo | 国产精品 中文字幕 亚洲 欧美 | 午夜精品久久久99热福利 | 黄色特一级片 | 人人超在线公开视频 | 午夜资源站 | 精品国产一区二区三区男人吃奶 | 91色网址 | 日韩欧美电影 | 中文字幕亚洲欧美日韩2019 | av电影av在线 | 夜夜躁天天躁很躁波 | 欧美一区中文字幕 | 国产精品高潮呻吟久久久久 | 国产区久久 | 92精品国产成人观看免费 | 久久精品视频免费播放 | 国偷自产视频一区二区久 | 午夜精品一区二区三区视频免费看 | 天堂av观看| 免费看一及片 | 国产精品毛片网 | 亚洲视频播放 | 免费久草视频 | 激情综合网五月激情 | 久草 | 国产一卡久久电影永久 | 一区二区三区av在线 | 亚洲精品一区二区三区高潮 | 日韩午夜精品福利 | 亚洲首页 | 激情在线网站 | 色小说av | 国产尤物在线 | 亚洲一区二区天堂 | 欧美精品在线一区二区 | 成人观看视频 | 中文视频一区二区 | 国产精品免费高清 | 日韩欧美网址 | 日日夜夜天天 | 国产黄色在线网站 | 激情偷乱人伦小说视频在线观看 | 天天干天天干天天色 | 黄色91在线 | 91精品啪在线观看国产81旧版 | www.日本色| 在线v片免费观看视频 | 国产福利电影网址 | 精品一区二区三区久久久 | 免费手机黄色网址 | 久久99视频免费观看 | 中文字幕在线影院 | 日本黄色免费大片 | 97免费公开视频 | 欧美一区影院 | 一级淫片在线观看 | 最新av免费在线观看 | 亚洲精品视频一二三 | 久久99精品久久久久久久久久久久 | 国产精品国产亚洲精品看不卡 | 夜夜操综合网 | 国产高清在线免费观看 | 丁香六月婷 | 99久久999久久久精玫瑰 | 中文字幕乱码视频 | 日韩三级久久 | 中文字幕国内精品 | 999久久精品 | 中文字幕免费高清av | 日韩一区二区三区免费视频 | 黄色不卡av | av丁香| 亚洲欧美视频在线播放 | 一区二区三区www | 九九九九精品九九九九 | 国产裸体永久免费视频网站 | 手机在线看a| 在线日韩视频 | 在线免费观看欧美日韩 | 久久影视一区 | 中国成人一区 | 国产成人免费网站 | 国产精品电影一区 | 欧美日韩国产一区 | 丁香花五月 | 久草在线中文视频 | 久久综合在线 | 国产精品久久网 | 91在线porny国产在线看 | 成人在线播放免费观看 | 又污又黄的网站 | 久久精品8 | 欧美日韩综合在线观看 | 99精品免费视频 | 色网址99 | 麻豆传媒在线免费看 | 91你懂的 | 天天操天天操天天操天天操天天操 | 久久免费电影网 | 欧美日韩视频在线一区 | 伊人资源站 | 91精品啪在线观看国产 | 成人网页在线免费观看 | 97中文字幕 | 日日夜夜天天射 | 国产aaa毛片| 在线观看黄污 | 国产精品18久久久久久久网站 | 韩日精品在线观看 | 福利视频在线看 | 7799av| 欧美成人在线免费观看 | 免费看的黄色 | 1024手机基地在线观看 | 久久久久久国产精品999 | 在线国产99 | 亚洲毛片久久 | 久久噜噜少妇网站 | 色av色av色av | 久99久久 | 狠狠88综合久久久久综合网 | 亚洲精品在线观看网站 | 丝袜美腿在线 | 天天干天天摸 | 黄色国产区 | 丁香视频全集免费观看 | 日韩网站在线免费观看 | 美女久久久久久久久久 | 五月婷婷导航 | 99精品偷拍视频一区二区三区 | 国产在线p | 午夜精品久久久久久久久久 | 人人玩人人弄 | 色综合久久久久综合99 | 黄色成年片 | 国产精品国产亚洲精品看不卡 | 探花视频在线观看 | 亚洲理论电影 | 亚洲精品国产精品国自产观看浪潮 | 亚洲视频每日更新 | 亚洲成人黄 | 伊人天天狠天天添日日拍 | 国产视频资源在线观看 | 最新中文字幕视频 | 成人丝袜| 免费在线观看黄色网 | 国产在线色站 | 国产黄色av网站 | 日韩精品久久久久久久电影竹菊 | 精品国产人成亚洲区 | 96国产在线 | 久久亚洲综合色 | 久久久久久国产精品美女 | av电影在线观看完整版一区二区 | 久草视频国产 | 中文字幕一区二区三区精华液 | 欧美一区二区伦理片 | 美女久久视频 | 亚欧洲精品视频在线观看 | 日韩高清在线一区二区三区 | 亚洲成a人片综合在线 | 97国产大学生情侣酒店的特点 | 成人av一区二区兰花在线播放 | 五月婷婷操 | 国产精品久久久久久久久久东京 | 天天射网站 | 日韩午夜精品 | 久久99免费视频 | 国产精品美乳一区二区免费 | 岛国一区在线 | 国产乱码精品一区二区蜜臀 | 在线电影中文字幕 | 久久国产精品影片 | 在线午夜电影神马影院 | 99国产一区二区三精品乱码 | 人人涩| 国产一级大片免费看 | 成人黄在线观看 | av免费观看高清 | 国内一级片在线观看 | 91伊人久久大香线蕉蜜芽人口 | 国产精品久久久久毛片大屁完整版 | 国内精品久久久精品电影院 | 国产日产高清dvd碟片 | 亚洲三级性片 | 人人插人人看 | 韩日精品在线 | 91精品视频在线免费观看 | 婷婷伊人综合亚洲综合网 | 日韩av电影网站在线观看 | 日本成人中文字幕在线观看 | 久草视频视频在线播放 | 91麻豆精品久久久久久 | 91九色免费视频 | 国产在线精品国自产拍影院 | 91综合在线| 日韩在线视频不卡 | 久久综合久久久 | 亚洲一区二区三区在线看 | 亚洲精品乱码久久久久久9色 | 婷婷丁香色 | 国产v在线观看 | 99精品视频免费看 | 日韩欧美一区二区在线播放 | 激情自拍av | 在线观看黄色 | 日韩免费电影网 | 中文av网站 | 免费又黄又爽的视频 | 狠狠狠干 | 91高清免费在线观看 | 在线免费亚洲 | 高清在线观看av | 日韩伦理一区二区三区av在线 | av三级av| 亚洲成人一二三 | 亚洲国产大片 | 日韩一级成人av | 久久久久国产一区二区 | 中文字幕色站 | 中文字幕在线乱 | 黄色一级大片在线免费看国产一 | 国产午夜三级一区二区三桃花影视 | 久久私人影院 | 91视频久久久 | 探花视频在线观看免费版 | 国产精品一区二区果冻传媒 | 91精品久久久久久综合五月天 | 亚洲国产日韩欧美 | 成全免费观看视频 | 成人动漫一区二区三区 | 亚洲国产一区在线观看 | 99久久成人| 天天操狠狠操夜夜操 | 国产高清av在线播放 | 婷婷色视频| 日韩欧美在线高清 | 天天搞天天干天天色 | 久久精品久久精品久久精品 | 制服丝袜一区二区 | 成人网色 | 中文字幕av免费在线观看 | 最新中文在线视频 | 亚洲国产精品传媒在线观看 | 91麻豆精品国产91久久久更新时间 | 中文字幕永久免费 | 亚洲最大免费成人网 | 久久激情综合网 | 精品主播网红福利资源观看 | 看片网站黄色 | a级国产乱理论片在线观看 特级毛片在线观看 | 色综合久久久久综合 | 99 视频 高清 | 国产亚洲精品成人av久久影院 | 亚洲天堂网视频在线观看 | 久久精品波多野结衣 | 亚洲免费在线视频 | 精品久久久久久久久久 | 999视频在线播放 | 免费看精品久久片 | 久久精品国产成人 | 亚洲黄色网络 | 国产视频手机在线 | 99久久精品国产一区 | 日本中文字幕网站 | 欧美精品乱码久久久久久 | 天天干,天天插 | 美女福利视频一区二区 | 久久久久久久久久免费 | 久草久| 日韩色在线观看 | 国产成人精品一二三区 | 激情综合亚洲 | 丁香5月婷婷久久 | 国产精品va在线观看入 | 国产无套精品久久久久久 | 国产精品欧美久久久久三级 | 久草视频免费在线观看 | 欧美少妇18p | 久草精品在线播放 | 国产日韩中文字幕 | 99这里只有久久精品视频 | 欧美精品在线观看免费 | 日韩一区二区三区高清免费看看 | 激情五月婷婷激情 | 国产精品丝袜 | 久久黄色a级片 | 在线视频日韩欧美 | 精品成人久久 | 午夜精品久久久 | 色婷婷色 | 黄色a在线 | 欧美激情va永久在线播放 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品爽爽久久久久久蜜臀 | 麻豆超碰 | 国产成人黄色网址 | 91视视频在线直接观看在线看网页在线看 | 国产日韩欧美在线观看 | 成人毛片一区二区三区 | 日韩午夜电影院 | 亚洲成人黄色网址 | av一级免费| 伊人网av| 精品一区二区三区在线播放 | 亚洲视频,欧洲视频 | 日本三级中文字幕在线观看 | 蜜臀av性久久久久蜜臀aⅴ流畅 | www.国产视频 | 精品国产资源 | 久久66热这里只有精品 | 成人免费xyz网站 | 91热爆在线观看 | 久草成人在线 | 欧亚久久| 韩日在线一区 | 久久狠狠一本精品综合网 | 这里只有精品视频在线观看 | 久久高清av | 国产一区二区视频在线播放 | 91网站观看 | 日韩中文字幕一区 | 波多野结衣在线视频一区 | 中文av不卡| 亚洲精品一区二区久 | 在线免费看黄网站 | 久久久免费高清视频 | 91精品伦理 | 亚洲精品久久激情国产片 | 77国产精品 | 国产理论免费 | 婷婷激情小说网 | 国产麻豆剧果冻传媒视频播放量 | 91网址在线看 | 蜜臀av性久久久久av蜜臀三区 | 日韩在线观看电影 | 国内精品久久久精品电影院 | 国产免费成人av | 91在线欧美| 久久国产精品成人免费浪潮 | 美女黄濒 | 国产在线 一区二区三区 | 日日精品 | 97在线精品视频 | 91九色蝌蚪视频 | 国产成人精品久久二区二区 | 久久精品精品 | 成人精品国产免费网站 | 精品黄色在线 | 久久久精品国产免费观看一区二区 | 又黄又爽的视频在线观看网站 | 日韩欧美视频一区二区三区 | 色综合天天视频在线观看 | 久久久久久久久久久福利 | 国产精彩视频一区 | 99精品视频网 | 久久久久久久电影 | 97超碰资源站 | 亚洲精品综合一区二区 | 成人a视频在线观看 | 9797在线看片亚洲精品 | 国产又粗又猛又色又黄视频 | 亚洲国产精品99久久久久久久久 | 综合网av| 韩日在线一区 | 国产欧美在线一区二区三区 | 亚洲成人蜜桃 | 国产毛片久久久 | 97精品国产aⅴ | 天天av资源 | 成人观看视频 | 欧美色插| 亚洲欧美国产精品 | 五月婷婷影视 | 97视频免费在线观看 | 天天色天天射天天综合网 | 97天天综合网 | 国产成人精品av在线 | 人人爽人人爽人人片av免 | www.午夜 | 国产视频九色蝌蚪 | 美女网站在线观看 | 一区二区三区日韩在线 | 激情综合色综合久久 | 又色又爽又黄 | 日韩成人xxxx| 色婷婷五 | 黄色免费大全 | 91精品免费看 | 日本夜夜草视频网站 | 国产高清成人 | 日韩精品无码一区二区三区 | 成人黄色片免费看 | 久久久久福利视频 | 国产黄色免费 | 综合久久五月天 | 在线看中文字幕 | av看片网| 在线婷婷 | 国产福利一区二区三区视频 | 成人免费看视频 | 日韩电影在线观看一区二区 | 久久免费视频6 | 国产区第一页 | 在线观看日韩精品视频 | 亚洲午夜久久久久久久久电影网 | 欧日韩在线 | 久久人人爽爽 | 成人毛片在线视频 | 成x99人av在线www | 色天天综合网 | 亚洲jizzjizz日本少妇 | 99色在线视频 | 日韩美女一级片 | 超碰在线资源 | 综合色中文 | av电影在线免费观看 | 91中文字幕在线视频 | 亚洲va在线va天堂va偷拍 | 日本系列中文字幕 | 三日本三级少妇三级99 | 精品麻豆| 国产日韩精品在线 | 欧美一二区在线 | 久久首页| 成人黄色电影在线 | 五月精品| 成片免费观看视频大全 | 亚洲精品一区二区18漫画 | 久久久激情视频 | 成人久久久电影 | 婷婷网址 | 射射色| 激情五月婷婷激情 | 中文字幕高清免费日韩视频在线 | 久久久久在线视频 | 欧美一级片免费在线观看 | 天天爽天天爽 | 亚洲成人av片 | 久草视频在线资源 | 99久久婷婷国产 | 在线黄色免费av | 欧美日韩中文另类 | 99在线观看视频网站 | 91日本在线播放 | 久久久国产精品麻豆 | 亚洲三级在线免费观看 | 伊人看片 | 精品免费国产一区二区三区四区 | 久久久免费少妇 | av+在线播放在线播放 | 97国产大学生情侣白嫩酒店 | 亚洲国产中文字幕在线视频综合 | 91爱爱网址 | 丁香花在线观看免费完整版视频 | 精品国产一区二区三区四区vr | 精品在线免费观看 | 欧美久久久久久久久久久 | 久久精品永久免费 | 91在线文字幕 | www.香蕉视频在线观看 | 欧美精品在线视频 | 奇米先锋| 国产成人一区二区三区在线观看 | 日韩欧美在线观看一区二区三区 | 九九爱免费视频在线观看 | 不卡国产在线 | 欧美日韩久久一区 | 国产中文字幕在线看 | 一区二区不卡 | 国产精品国产三级国产专区53 | 成人av av在线 | 91手机电影 | 婷婷www | 成人精品一区二区三区中文字幕 | 日韩高清激情 | 欧美日韩免费在线观看视频 | 麻豆传媒一区二区 | 精品国产一区二区三区久久影院 | 国产粉嫩在线观看 | 国产一级久久久 | 久久久久综合精品福利啪啪 | 久久人人添人人爽添人人88v | 天天干天天搞天天射 | 亚洲高清视频在线观看 | 久久久久国 | 免费国产亚洲视频 | av电影在线播放 | 亚洲狠狠婷婷综合久久久 | 国产黄av | 久久精品这里都是精品 | 亚洲欧美日韩精品一区二区 | 超碰97.com | 免费一级毛毛片 | 国产精品久久久久久99 | 精品天堂av | 国产精品久久久久久久久久三级 | 久久精品韩国 | 国产精品精品久久久久久 | 在线电影av | 成人黄色电影免费观看 | 91在线小视频 | 97国产精品一区二区 | 色之综合网 | 国产精品你懂的在线观看 | 日韩精品播放 | 91精品国产一区二区三区 | 婷婷激情在线观看 | 99热超碰| 久久久久国产精品免费网站 | 黄色三级免费片 | 婷婷 中文字幕 | 少妇av网| 亚洲精品综合在线 | 福利视频一区二区 | 国产淫片 | 一级黄色免费 | 婷婷色 亚洲 | 青青河边草观看完整版高清 | 亚洲一区在线看 | 亚洲欧洲在线视频 | 亚洲极色 | 中文在线a在线 | 亚洲欧洲视频 | 五月婷婷在线视频观看 | 九九热99视频 | 久草香蕉在线视频 | 视频在线观看99 | 中文国产成人精品久久一 | 九九在线视频免费观看 | 少妇bbb搡bbbb搡bbbb | 五月婷婷影院 | 福利av在线 | 免费在线国产视频 | 久久免费国产视频 | 国产特级毛片aaaaaaa高清 | 天天综合网 天天综合色 | 国产一区二区播放 | 成人免费 在线播放 | 亚洲精品影视在线观看 | 中文字幕一区二区在线播放 | 国产色黄网站 | 日韩资源在线 | 五月天婷婷免费视频 | 久久久99精品免费观看乱色 | 97超碰福利久久精品 | 五月天激情视频在线观看 | 国产91探花 | 91成人久久| 黄色三级av | 五月激情亚洲 | av在线网站免费观看 | 天天干天天干天天干 | va视频在线| 成人avav | 久久婷婷国产 | 欧美精品999| 久草视频免费在线播放 | 啪啪免费视频网站 | 欧美特一级| av免费在线观看网站 | 91精品第一页 | 午夜123 | 欧美成人xxxx | 五月天六月婷 | 国产一区二区三区四区大秀 | 日韩中文字幕网站 | 99视频免费播放 | 99福利片 | 色婷婷在线播放 | 在线有码中文字幕 | 中文字幕亚洲综合久久五月天色无吗'' | 亚洲午夜精品一区二区三区电影院 | 国产精品国产三级国产不产一地 | 摸阴视频 | 草在线 | 在线免费观看的av | 国产视频 亚洲精品 | 中文字幕在线观看一区 | 欧美va天堂va视频va在线 | 激情综合网色播五月 | 天天草天天爽 | 天天操人人干 | 91精品国产乱码 | 日韩高清三区 | 91精选在线 | 精品国产1区2区3区 国产欧美精品在线观看 | 久久精品中文字幕一区二区三区 | www.操.com| 精产嫩模国品一二三区 | 欧美日本三级 | 免费激情网 | 色黄久久久久久 | 亚洲一片黄 | 日韩理论电影网 | a黄在线观看 | 国产精品激情在线观看 | 国产亚洲精品久久久久久久久久久久 | 综合影视 | 久久99久久99精品免视看婷婷 | 91禁看片| 成人黄色小说视频 | 在线观看视频国产一区 | 国产黄色一级片在线 | 性日韩欧美在线视频 | 中午字幕在线观看 | 99在线精品观看 | 91av观看 | 波多野结衣电影久久 | 黄色一级免费网站 | 日韩一级成人av | 91av社区| 综合激情久久 | 成人永久免费 | 国产黄色精品在线 | 国产 一区二区三区 在线 | 九七视频在线 | 欧美精品午夜 | 日日夜夜添 | 久久久国产精品网站 | 免费在线观看视频a | 91成人网在线播放 | 在线观看91精品视频 | 久久1电影院 | 色操插| 国产精品自产拍在线观看网站 | 美女免费电影 | 在线观看免费视频你懂的 | 亚洲砖区区免费 | 日本黄色免费网站 | 在线观看黄色免费视频 | 欧美a在线看 | 久久影院中文字幕 | 国产91免费在线观看 | 日韩在线字幕 | 午夜三级影院 | 在线观看成人网 | 国产五月婷 | 国产亚洲情侣一区二区无 | 国产福利免费看 | 日韩中文字幕免费 | 色av男人的天堂免费在线 | 国产日韩欧美在线观看 | 国产一区国产精品 | 天天曰天天爽 | 亚洲成人av在线 | 在线观看黄污 | 99久久精品无免国产免费 | 亚洲精品午夜一区人人爽 | 综合在线色 | 国产私拍在线 | 九九亚洲视频 | 一区二区三区精品在线视频 | 国产高清在线a视频大全 | 中文字幕在线免费观看 | 在线国产日韩 | 国产精品美女久久久网av | 精品五月天| 在线观看的a站 | 久久av免费 | www免费看 | 免费的国产精品 | 欧美一二三视频 | av看片网址 | 精品视频www | 一区二区三区福利 | 91mv.cool在线观看| 在线播放第一页 | 免费视频a| 激情开心| 免费在线中文字幕 | 日本在线观看一区 | 国产精品手机在线 | 曰韩在线 | 日韩精品一区二区三区水蜜桃 | 日韩精品黄 | 国产香蕉视频 | 国产日韩在线观看一区 | 一区二区三区中文字幕在线观看 | 黄色一区三区 | 爱情影院aqdy鲁丝片二区 | 久久久私人影院 | 天天操天天操天天爽 | 最近中文字幕高清字幕在线视频 | 91超级碰| 久久久久久久免费观看 | 亚洲高清免费在线 | 色九色 | 亚洲在线色 | 免费欧美 | 欧美精品一二 | 日韩大陆欧美高清视频区 | 色婷婷视频在线观看 | 久草在线视频国产 | 日韩r级电影在线观看 | 亚洲精品视频www | 三三级黄色片之日韩 | 成人h动漫精品一区二 | 麻豆极品 | 日韩美精品视频 | ,午夜性刺激免费看视频 | 91av在线看 | 深爱五月激情网 | 国产视频精品免费播放 | sesese图片| 精品国产亚洲一区二区麻豆 | 人人插人人草 | 在线免费观看国产精品 | 久久综合毛片 | av电影不卡在线 | 999ZYZ玖玖资源站永久 | 91在线在线观看 | 91入口在线观看 | 波多野结衣在线视频一区 | 久久久久久久久毛片 | 婷婷99| 精品久久片| av久久在线| 九色免费视频 | 成人永久视频 | 在线亚州 | 日韩三级久久 | 99久久www| 国产精品免费小视频 | 婷婷中文字幕 | 97视频在线免费播放 | 99爱在线 | 成年人三级网站 | 国产中文字幕在线看 | av高清一区二区三区 | 黄色99视频 | 91精品国产一区二区在线观看 | 经典三级一区 | 国产一区二区三区网站 | 久久久久久久国产精品影院 | 亚洲国产精品一区二区久久,亚洲午夜 | 91黄色影视| 日本精品视频网站 | 久久涩视频 | 91在线91 | 久久黄网站 | 日本公妇在线观看 | 久久综合欧美精品亚洲一区 | 国产精品一区二区精品视频免费看 | 天天操天天摸天天爽 | 色综合久久88色综合天天6 | 黄色三级免费观看 | 全黄网站 | 免费看的黄色 | 久久99最新地址 | 91探花在线视频 | 9色在线视频 | 日韩欧美国产视频 | 天海冀一区二区三区 | 免费在线h| 国产一区二区在线播放 | 亚洲国产精品成人va在线观看 | 久久96国产精品久久99软件 | 国产成人久 | 欧美性爽爽 | 国产美女主播精品一区二区三区 | 香蕉网在线播放 | 激情av综合 | 97超碰人人澡人人爱 | 日韩在线观看视频一区二区三区 | 黄色片视频免费 | 成年人三级网站 | 日本不卡视频 | 2021国产视频 | 成人h电影在线观看 | 草久久久久| 成人av高清 | 亚洲一区日韩 | 免费手机黄色网址 | 在线免费观看的av网站 | 91视频高清免费 | 国产视频精选 | 免费观看完整版无人区 | 亚洲电影av在线 | 亚洲精选视频免费看 | 国产黄色免费在线观看 | 超碰在线日韩 | 国产精品一区二区av麻豆 | 草樱av| 亚洲成av人电影 | 国产69精品久久久久99尤 | 一区二区三区在线观看免费 | 激情六月婷婷久久 | 欧美综合色在线图区 | 国产一级二级三级在线观看 | 久久综合久久88 | 四月婷婷在线观看 | 欧美性一级观看 | 久久99久久99精品免视看婷婷 | 成人欧美一区二区三区在线观看 | 国产福利不卡视频 | 天天射天天操天天色 | 免费a v观看 | 午夜精品电影一区二区在线 | 7799av| 91porny九色在线播放 | 丁香六月婷 | 国产黄影院色大全免费 | 久久免费中文视频 | 婷婷色网视频在线播放 | 日韩四虎| 亚洲精品动漫成人3d无尽在线 | 婷婷网址| 日韩丝袜在线观看 | 最近中文字幕大全中文字幕免费 | 久久久96 | 天天射天天拍 | 激情久久婷婷 | 毛片一区二区 | 日韩在线欧美在线 | 免费观看v片在线观看 | 欧美精品一区二区三区四区在线 | 亚洲精品久久久久中文字幕二区 | 日韩极品在线 | 国产精品成人品 | 天天躁日日 | 国产午夜精品一区二区三区在线观看 | 日韩av成人 | 久久99热这里只有精品国产 | 91人人人| 天天婷婷| 五月激情天| 国产美女在线免费观看 | 久久免费精品 | 久色婷婷 | 91在线你懂的 | 国产一区二区三区视频在线 | 在线播放 亚洲 | 91视频链接| 精品久久一区二区三区 | 日韩视频 一区 | 一区二区三区三区在线 | 久久久综合色 | 日女人免费视频 | 免费在线观看一级片 | 99精品视频精品精品视频 | 高清不卡一区二区在线 | 国产中文字幕视频在线观看 | 麻豆视频在线播放 | 国产免费观看久久 | 在线免费中文字幕 | 五月婷婷一级片 | 国产高清永久免费 | 国产分类视频 | 日韩精品一区二区三区水蜜桃 | 欧洲精品久久久久毛片完整版 | 久久a v视频 | 91精品日韩| 日批视频在线观看免费 | 色姑娘综合网 | 久久av电影 | 久久久久国产精品一区 | 国产精品免费久久久久久久久久中文 | 亚洲一区网站 | 色综合天天综合在线视频 | 字幕网在线观看 | 亚洲黄色在线免费观看 | 福利二区视频 | 99热这里精品 | 在线观看日韩精品视频 | 99热这里只有精品1 av中文字幕日韩 | 成人a免费视频 | 一区二区三区中文字幕在线 | 黄色软件在线观看免费 | av不卡免费看 | 久久国产区 | 青青河边草免费观看完整版高清 | 超碰在线免费97 | 九九热精品视频在线播放 | 99免费精品 | 五月天综合色激情 | 国产精品一区欧美 | 欧洲精品在线视频 | 亚洲高清不卡av | 久久午夜视频 | 麻豆超碰| 午夜精品三区 | 国产精品久久久久久超碰 | 亚洲视频电影在线 | 在线免费视频一区 | 日韩av快播电影网 | 久久综合网色—综合色88 | 婷婷激情久久 | 2023国产精品自产拍在线观看 | 午夜视频久久久 | 操综合 | 一区二区三区免费播放 | 免费观看xxxx9999片 | 午夜视频在线观看一区二区三区 | 日本久久久久久久久久 | 欧美在线视频一区二区三区 | 不卡的av在线| 亚洲砖区区免费 | 91av影视 | 久久久久久久久久影院 | 国产黄色大全 | 在线成人中文字幕 | 激情综合亚洲精品 | 久草精品视频在线看网站免费 | a视频在线观看免费 | 正在播放日韩 | 国产999精品视频 | av视屏在线播放 | 亚洲精品www. | 久久五月婷婷丁香社区 | 日韩视频免费看 | 日韩欧美在线视频一区二区三区 | 精品福利网 | 亚洲免费av在线播放 | 91在线精品一区二区 | 色综合综合 | 亚洲精品在线一区二区三区 | 91看片在线观看 | 国产精品亚洲精品 | 国产精品久久久久久久久大全 | 色播五月激情五月 | 在线看国产精品 | 97成人免费 | 日韩精品最新在线观看 | 国产精品久久久久久久7电影 | 午夜精品视频一区二区三区在线看 | 国产裸体视频网站 | 天天艹天天 | 久久视奸 | 日韩免费不卡视频 | 久久99在线观看 | 免费视频a | 99热亚洲精品 | 精品一区精品二区 | 日本中文字幕网址 | 色婷婷精品 | 一区 二区 精品 | 99re8这里有精品热视频免费 | 精品久久精品久久 | 亚洲伊人网在线观看 | av日韩精品 | 中文字幕在线观看完整 | 日韩久久电影 | 国产在线91在线电影 | 黄色成人91 | 国产一区二区影院 | 久草av在线播放 | 亚洲成人中文在线 | 日韩欧美在线不卡 | 亚州精品天堂中文字幕 | 91一区在线观看 | 欧美在线a视频 | 热久久99这里有精品 | 在线观看免费中文字幕 | 天天操操 | 日本女人的性生活视频 | 久久国产片 | 亚州av网站| 日本不卡123区 | 国产黑丝一区二区 | 久久婷婷一区二区三区 | 天天舔天天搞 | 婷婷六月综合亚洲 | 精品国产精品国产偷麻豆 | 少妇bbbb揉bbbb日本 | 国产免费黄色 | 亚洲国产日韩一区 | 99re亚洲国产精品 | 国产成人精品一区一区一区 | 亚洲高清不卡av | 中文字幕色播 | 手机色在线| 欧美无极色 | 久久久久久黄色 | 亚洲区二区 | 国产亚洲精品成人av久久ww | 91精品一区二区三区蜜桃 | 97超碰资源| 91精品国产麻豆国产自产影视 | 亚洲黄色在线免费观看 | 99热在线免费观看 | 在线观看黄a | 天天操婷婷 | 精品在线亚洲视频 | 狠狠操电影网 | 91人人澡人人爽 | 午夜成人免费电影 | 国产大尺度视频 | 久久国产区| 免费看国产一级片 | 五月婷婷电影网 | 国内免费久久久久久久久久久 | 一区二区三区免费在线播放 |