• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181, 文章 - 2, 評(píng)論 - 85, 引用 - 0
            數(shù)據(jù)加載中……

            用于實(shí)現(xiàn) Web 服務(wù)的 SOA 編程模型,第 4 部分: IBM 企業(yè)服務(wù)總線(xiàn)介紹

            企業(yè)服務(wù)總線(xiàn)(Enterprise Service Bus,ESB)體系結(jié)構(gòu)模式支持在面向服務(wù)的體系結(jié)構(gòu) (SOA) 中虛擬化服務(wù)交互并對(duì)其進(jìn)行管理。它使得交互可以在服務(wù)提供者和服務(wù)請(qǐng)求者之間進(jìn)行,并且可以使用各種中間件技術(shù)和編程模型加以實(shí)現(xiàn)。它對(duì)本系列的前一篇文章中介紹的 SOA 編程模型進(jìn)行了擴(kuò)展。

            引言

            SOA 提供了一種靈活的、可擴(kuò)展且可組合的方法來(lái)重用和擴(kuò)展現(xiàn)有應(yīng)用程序以及構(gòu)造新的應(yīng)用程序。服務(wù)聲明它們實(shí)現(xiàn)的或期望其他服務(wù)實(shí)現(xiàn)的接口,并且聲明控制潛在伙伴交互的策略,從而公布各種功能(包括提供的和請(qǐng)求的)。Web 服務(wù)描述語(yǔ)言(Web Services Description Language,WSDL)和其他 Web 服務(wù)標(biāo)準(zhǔn)(如 WS-Policy)提供了用于這些聲明的詞匯。(請(qǐng)參閱參考資料,以獲得指向 WSDL Version 2.0 Part 0: Primer 的鏈接。)

            業(yè)務(wù)功能的虛擬化(SOA 的一個(gè)主要目標(biāo))是通過(guò)將服務(wù)的定義和使用與服務(wù)的實(shí)現(xiàn)分離開(kāi)來(lái)而實(shí)現(xiàn)的。我們可以使用各種技術(shù)實(shí)現(xiàn)服務(wù),這些技術(shù)包括 IBM WebSphere? MQ、IBM CICS? 或 IBM IMS?、Java? 2 Platform Enterprise Edition (J2EE) Enterprise JavaBeans (EJB)、Java 類(lèi)、IBM DB2? 查詢(xún)、Java 消息服務(wù) (JMS) 或 Microsoft? .NET。服務(wù)請(qǐng)求者將請(qǐng)求發(fā)送到提供其所需功能的服務(wù)提供者,而不必考慮它如何實(shí)現(xiàn)。

            ESB 是一種體系結(jié)構(gòu)模式,支持虛擬化通信參與方之間的服務(wù)交互并對(duì)其進(jìn)行管理。它提供服務(wù)提供者和請(qǐng)求者之間的連接,即使它們并非完全匹配,也能夠使它們進(jìn)行交互。此模式可以使用各種中間件技術(shù)和編程模型實(shí)現(xiàn)。

            本文將定義 ESB 模式和它在 SOA 內(nèi)的角色。后續(xù)文章將詳細(xì)描述其使用場(chǎng)景、使用目前的技術(shù)實(shí)現(xiàn) ESB 模式的方法,以及 ESB 技術(shù)未來(lái)的發(fā)展方向。







            什么是 ESB?

            在 ESB 模式中,服務(wù)交互的參與方并不直接交互,而是通過(guò)一個(gè)總線(xiàn)交互,該總線(xiàn)提供虛擬化和管理功能來(lái)實(shí)現(xiàn)和擴(kuò)展 SOA 的核心定義。IBM ESB 模式提供以下幾方面的虛擬化:

            • 位置和標(biāo)識(shí):參與方不需要知道其他參與方的位置或標(biāo)識(shí)。例如,請(qǐng)求者不需要知道請(qǐng)求是否可以由某個(gè)提供者提供服務(wù)。您可以隨意添加或刪除服務(wù)提供者,而不會(huì)帶來(lái)任何干擾。
            • 交互協(xié)議:參與方不需要采用相同的通信協(xié)議或交互方式。表達(dá)為 SOAP/HTTP 的請(qǐng)求可能由僅理解 Java 遠(yuǎn)程方法調(diào)用 (RMI) 的提供者提供服務(wù)。
            • 接口:請(qǐng)求者和提供者不需要就公共接口達(dá)成協(xié)議。ESB 可以通過(guò)將請(qǐng)求消息轉(zhuǎn)換為提供者所期望的格式來(lái)處理此類(lèi)差異。
            • (交互)服務(wù)質(zhì)量 (QoS):參與方聲明其 QoS 要求,包括性能和可靠性、請(qǐng)求的授權(quán)、消息內(nèi)容的加密/解密、服務(wù)交互的自動(dòng)審核以及如何對(duì)請(qǐng)求進(jìn)行路由(如根據(jù)工作負(fù)載分布標(biāo)準(zhǔn)將請(qǐng)求路由到可用的實(shí)現(xiàn))。描述請(qǐng)求者和提供者的 QoS 要求和功能的策略可以由服務(wù)自己實(shí)現(xiàn)或者由進(jìn)行不匹配補(bǔ)償?shù)?ESB 實(shí)現(xiàn)。

            因此 ESB 模式使請(qǐng)求者不用了解服務(wù)提供者的物理實(shí)現(xiàn)——從應(yīng)用程序開(kāi)發(fā)人員和部署人員的角度來(lái)看均是如此。總線(xiàn)負(fù)責(zé)將請(qǐng)求交付給提供所需功能和 QoS 的服務(wù)提供者。提供者接收他們要響應(yīng)的請(qǐng)求,而不知道消息的來(lái)源。ESB 本身對(duì)使用它的服務(wù)請(qǐng)求者和提供者均不可見(jiàn)。應(yīng)用程序邏輯可以使用各種編程模型和技術(shù)調(diào)用或交付服務(wù),而無(wú)需考慮是直接連接還是通過(guò) ESB 傳遞的。連接到 ESB 是部署決策;應(yīng)用程序源代碼不會(huì)受到影響。

            ESB 支持許多交互類(lèi)型,包括單向、請(qǐng)求/響應(yīng)、異步、同步和發(fā)布/訂閱。它還支持復(fù)雜事件處理(在復(fù)雜事件處理中,可能會(huì)觀(guān)測(cè)到一系列事件),以產(chǎn)生一個(gè)事件作為該系列中的關(guān)系的結(jié)果。

            圖 1 對(duì)基本 ESB 模式進(jìn)行了描述。消息流過(guò)將各個(gè)通信參與方相互連接在一起的總線(xiàn)。某些參與方會(huì)調(diào)用其他參與方提供的服務(wù);而其他參與方則會(huì)向感興趣的使用者發(fā)布信息。端點(diǎn)與 ESB 交互的位置稱(chēng)為服務(wù)交互點(diǎn) (SIP)。例如,SIP 可以是 Web 服務(wù)端點(diǎn)、WebSphere MQ 隊(duì)列或 RMI 遠(yuǎn)程對(duì)象的代理。服務(wù)注冊(cè)表將捕獲描述以下內(nèi)容的元數(shù)據(jù):SIP 的要求和功能(例如,提供或需要的接口)、它們希望與其他 SIP 的交互方式(例如,同步或異步,通過(guò) HTTP 或 JMS)、它們的 QoS 要求(例如,首選的安全、可靠交互)以及支持與其他 SIP 交互的其他信息(例如,語(yǔ)義注釋?zhuān)?/p>
            圖 1. 基本 ESB 模式
            基本 ESB 模式

            將總線(xiàn)插入?yún)⑴c方之間,提供了將它們的交互通過(guò)稱(chēng)為中介 的構(gòu)造進(jìn)行協(xié)調(diào)的機(jī)會(huì)。中介對(duì)請(qǐng)求者和提供者之間動(dòng)態(tài)傳遞的消息進(jìn)行操作。對(duì)于復(fù)雜的交互,可以按順序?qū)⒅薪檫B在一起。中介模式部分討論了實(shí)現(xiàn)這些虛擬化、QoS 和管理概念的常用中介模式。

            ESB 模式為 SOA 實(shí)現(xiàn)提供了靈活且易于管理的方法。總線(xiàn)透明地插入端點(diǎn)之間,可以提高服務(wù)質(zhì)量,可以促進(jìn)請(qǐng)求者和提供者間的交互(而不受協(xié)議、交互模式或服務(wù)功能不匹配的影響),還可以支持監(jiān)視和管理。







            SOA 用戶(hù)角色及其任務(wù)

            通過(guò)研究創(chuàng)建和管理 SOA 解決方案的用戶(hù)的角色及任務(wù),可以進(jìn)一步深入了解 ESB 模式。ESB 工具和運(yùn)行時(shí)將 SOA 解決方案的生命周期劃分為四個(gè)階段:

            • 發(fā)現(xiàn)與描述:對(duì)可以在整個(gè) ESB 中進(jìn)行互連的 SIP 進(jìn)行標(biāo)識(shí)和描述。這包括創(chuàng)建新的服務(wù)、發(fā)現(xiàn)現(xiàn)有服務(wù)、以及描述其接口、要求和功能。
            • 建模與構(gòu)建:通過(guò)新建的或現(xiàn)有的中介進(jìn)行 SIP 互連,以描述解決方案的端到端交互。
            • 配置與部署:針對(duì)特定的運(yùn)行時(shí)拓?fù)渑渲媒鉀Q方案的抽象聲明,并對(duì)其進(jìn)行部署,同時(shí)創(chuàng)建必要的運(yùn)行時(shí)構(gòu)件。
            • 監(jiān)視與管理:通過(guò) SIP 和中介的行為監(jiān)視和管理解決方案。此階段將使用 ESB 運(yùn)行時(shí)中的檢測(cè)和控制點(diǎn)、以及觀(guān)測(cè)和響應(yīng)消息流的中介。

            對(duì)于 ESB 中間件,最重要的 SOA 解決方案開(kāi)發(fā)角色是集成開(kāi)發(fā)人員和解決方案管理員,但其中也涉及到業(yè)務(wù)分析人員、解決方案架構(gòu)師、實(shí)現(xiàn)人員、適配器開(kāi)發(fā)人員和操作人員。(這些角色都是概念性的;一個(gè)人可以擔(dān)任其中的多個(gè)角色。)圖 2 顯示了這些角色交互的方式。

            業(yè)務(wù)分析人員確定業(yè)務(wù)需求,并檢查業(yè)務(wù)流程。他們將概括出解決方案的目標(biāo)、涉及的業(yè)務(wù)流程、監(jiān)視解決方案的運(yùn)行狀況和狀態(tài)的關(guān)鍵指標(biāo),以及 IT 系統(tǒng)需要提供的業(yè)務(wù)服務(wù)的類(lèi)型。

            解決方案架構(gòu)師確定哪些業(yè)務(wù)需求可以通過(guò)對(duì)現(xiàn)有 IT 資產(chǎn)進(jìn)行重用、修改或組合得到滿(mǎn)足,哪些需要編寫(xiě)或購(gòu)買(mǎi)新的 IT 資產(chǎn)。他們定義 IT 資產(chǎn)間的交互,包括消息交換的內(nèi)容。

            開(kāi)發(fā)工作在三個(gè)角色中分配。實(shí)現(xiàn)人員編寫(xiě)新的應(yīng)用程序代碼,這些代碼將通過(guò)服務(wù)接口調(diào)用。適配器開(kāi)發(fā)人員構(gòu)建包裝現(xiàn)有或新采購(gòu)的應(yīng)用程序和軟件包的服務(wù),從而為其他服務(wù)提供可訪(fǎng)問(wèn)性。集成開(kāi)發(fā)人員使用 ESB 的相關(guān)工具和技術(shù)構(gòu)建邏輯,以控制請(qǐng)求在這些服務(wù)間路由的方式。


            圖 2. 用戶(hù)角色
            用戶(hù)角色

            解決方案管理員部署新的 IT 資產(chǎn)并將其服務(wù)定義導(dǎo)入到服務(wù)注冊(cè)表中,從而使新的 IT 資產(chǎn)可用。當(dāng)解決方案就緒后,操作人員將監(jiān)視其執(zhí)行,根據(jù)需要啟動(dòng)和停止 IT 系統(tǒng),并給解決方案管理員提供建議(后者可能將據(jù)此調(diào)整解決方案配置)。







            ESB 模式

            集成開(kāi)發(fā)人員和解決方案管理員會(huì)使用一組模式對(duì) SOA 解決方案進(jìn)行設(shè)計(jì)和部署。


            圖 3. 基本 ESB 模式的元素
            基本 ESB 模式的元素

            基本 ESB 模式將應(yīng)用程序組件抽象為一個(gè)服務(wù)集,這些服務(wù)通過(guò)總線(xiàn)進(jìn)行交互(而不是通過(guò)直接的點(diǎn)到點(diǎn)通信交互)。某個(gè)給定的服務(wù)既可以是提供者,也可以是請(qǐng)求者,或者同時(shí)兼有兩個(gè)角色。任何 SOA 實(shí)現(xiàn)都會(huì)支持基本虛擬化,允許在不影響依賴(lài)請(qǐng)求者的情況下替換等效提供者實(shí)現(xiàn)。ESB 模式通過(guò)其對(duì)請(qǐng)求者/提供者交互的顯式管理提高了此基本 SOA 功能。只要能提供與請(qǐng)求者所需的功能相似的功能,且 ESB 能對(duì)其進(jìn)行協(xié)調(diào),任何提供者都可以由另一個(gè)提供者替代。

            ESB 提供了交互點(diǎn),服務(wù)可以在此將消息放到總線(xiàn)上或從總線(xiàn)取走。它會(huì)對(duì)動(dòng)態(tài)消息應(yīng)用中介,并保證這些托管交互的 QoS。

            從 ESB 的角度來(lái)看,所有的服務(wù)交互端點(diǎn)都是類(lèi)似的,因?yàn)樗鼈兌及l(fā)送或處理請(qǐng)求/事件;它們都要求特定的 QoS;它們可能都需要交互協(xié)助。ESB 模式允許集成開(kāi)發(fā)人員以與處理新業(yè)務(wù)邏輯、流程編排組件或外部 Web 服務(wù)同樣(面向服務(wù))的方式對(duì)待與用戶(hù)交互的請(qǐng)求者或提供者。

            用于構(gòu)建基于 ESB 的解決方案的模式分為以下幾類(lèi):

            • 交互模式:允許服務(wù)交互點(diǎn)將消息發(fā)送到總線(xiàn)或從總線(xiàn)接收消息。
            • 中介模式:允許對(duì)消息交換進(jìn)行操作。
            • 部署模式:支持將解決方案部署到聯(lián)合基礎(chǔ)設(shè)施中。







            交互模式

            ESB 允許端點(diǎn)通過(guò)總線(xiàn)以其本機(jī)交互模式進(jìn)行交互。它支持各種端點(diǎn)協(xié)議和交互方式。交互模式的例子包括:

            • 請(qǐng)求/響應(yīng):處理端點(diǎn)間的請(qǐng)求/響應(yīng)方式的交互。此 ESB 基于消息傳遞模型,因此由兩個(gè)相關(guān)的單向消息流對(duì)請(qǐng)求/響應(yīng)交互進(jìn)行處理,一個(gè)用于請(qǐng)求,一個(gè)用于響應(yīng)。
            • 請(qǐng)求/多響應(yīng):上述類(lèi)型的變體,可以發(fā)送多個(gè)響應(yīng)。
            • 事件傳播:事件可以匿名分發(fā)到由 ESB 管理的相關(guān)方列表。服務(wù)可以將自身添加到該列表中。

            圖 4. 交互模式
            交互模式






            中介模式

            中介模式處理總線(xiàn)上的動(dòng)態(tài)消息(請(qǐng)求或事件)。由請(qǐng)求者發(fā)出的消息會(huì)轉(zhuǎn)換為稍微有些不兼容的提供者(從潛在的端點(diǎn)集中選擇)能夠理解的消息。

            這些中介操作單向消息而不是請(qǐng)求/響應(yīng)對(duì),因?yàn)?ESB 將交互模式放在中介模式上。


            圖 5. 中介模式
            中介模式

            中介有多種基本模式;更為復(fù)雜的模式可以通過(guò)組合簡(jiǎn)單模式構(gòu)建:

            • 協(xié)議變換:允許服務(wù)請(qǐng)求者使用各種交互協(xié)議或 API(如 SOAP/HTTP、JMS 和 MQ Integrator——MQI)發(fā)送其消息。將請(qǐng)求代碼轉(zhuǎn)換為目標(biāo)服務(wù)提供者的格式。可以應(yīng)用到交互的請(qǐng)求者端或提供者端,或同時(shí)應(yīng)用到兩端或兩者之間的任何位置。
            • 轉(zhuǎn)換:將消息的有效負(fù)載(內(nèi)容)從請(qǐng)求者的模式轉(zhuǎn)換為提供者的模式。可以包含包封、反包封或加密。
            • 充實(shí):通過(guò)添加來(lái)自外部數(shù)據(jù)源的信息(如由中介定義的自定義參數(shù)或者來(lái)自數(shù)據(jù)庫(kù)查詢(xún)的自定義參數(shù))來(lái)增加消息的有效負(fù)載。
            • 路由:更改消息的路由,可從支持請(qǐng)求者的意圖的服務(wù)提供者中選擇。選擇標(biāo)準(zhǔn)中可以包含消息內(nèi)容和上下文、以及目標(biāo)服務(wù)提供者的功能。
            • 分發(fā):將消息分發(fā)到一組相關(guān)方,通常由訂閱者的相關(guān)概要驅(qū)動(dòng)。
            • 監(jiān)視:在信息通過(guò)中介時(shí)觀(guān)測(cè)其是否發(fā)生改變。可以用于監(jiān)視服務(wù)水平;幫助確定問(wèn)題或?qū)τ脩?hù)進(jìn)行后續(xù)支付使用的貨幣單位;或記錄企業(yè)級(jí)事件(如價(jià)值超過(guò)一定數(shù)額的購(gòu)買(mǎi)行為)。還可以用于將消息記入日志,以供審核和后續(xù)數(shù)據(jù)挖掘之用。
            • 相關(guān):從消息或事件流中派生復(fù)雜事件。包括模式標(biāo)識(shí)規(guī)則和響應(yīng)模式發(fā)現(xiàn)的規(guī)則(例如,通過(guò)生成派生自觸發(fā)事件流的內(nèi)容的復(fù)雜事件)。

            可以在解決方案中顯式地配置中介。例如,集成開(kāi)發(fā)人員可以配置一個(gè) enrich 中介來(lái)修改消息內(nèi)容。解決方案管理員可以配置一個(gè) route 中介來(lái)允許其將某個(gè)服務(wù)提供者切換到脫機(jī)狀態(tài)。

            其他中介由 ESB 設(shè)置,以滿(mǎn)足服務(wù)請(qǐng)求者和服務(wù)提供者的 QoS 要求。例如,如果服務(wù)提供者的安全策略聲明要求使用加密消息,則 ESB 可以自動(dòng)配置一個(gè) encryption 中介。

            策略同樣也是服務(wù)的屬性,解決方案管理員可以為交互(或交互集)設(shè)置策略。例如,為了將要發(fā)送到特定外部提供者或交易值超過(guò) 1 百萬(wàn)美元的所有消息記錄到日志中。ESB 將通過(guò)配置中介(在本例中為monitor 中介)來(lái)實(shí)現(xiàn)策略。







            復(fù)雜模式


            圖 6. 復(fù)雜模式
            復(fù)雜模式

            中介模式和交互模式可以進(jìn)行組合,以實(shí)現(xiàn)更為復(fù)雜的模式。

            例如,在協(xié)議變換后轉(zhuǎn)換格式可以實(shí)現(xiàn)規(guī)范化適配器 模式,在這種模式中,所有相關(guān)方使用的消息和業(yè)務(wù)對(duì)象集都標(biāo)準(zhǔn)化為規(guī)范的格式。規(guī)范化適配器模式將端點(diǎn)的本機(jī)總線(xiàn)附加協(xié)議轉(zhuǎn)換為標(biāo)準(zhǔn)協(xié)議,實(shí)現(xiàn)有效負(fù)載規(guī)范化,并在交付時(shí)進(jìn)行這些轉(zhuǎn)換的反向轉(zhuǎn)換。

            另一種常見(jiàn)的復(fù)雜中介是轉(zhuǎn)換、記錄和路由 模式。

            網(wǎng)關(guān) 模式是一個(gè)復(fù)雜的協(xié)議變換變體。它可以合并轉(zhuǎn)換和監(jiān)視中介,以提供加密、日志記錄或?qū)徍说裙δ堋K€可以對(duì)一對(duì)多關(guān)系中的消息進(jìn)行聚合和反聚合。服務(wù)門(mén)戶(hù)是此類(lèi)模式的代表,它為多個(gè)服務(wù)提供單一聯(lián)系點(diǎn),并隱藏內(nèi)部服務(wù)的細(xì)節(jié)。







            部署模式

            解決方案管理可以選擇多種 ESB 拓?fù)洹O旅媸且恍┏R?jiàn)的例子:

            • 全局 ESB:所有服務(wù)共享一個(gè)名稱(chēng)空間,每個(gè)服務(wù)提供者對(duì)環(huán)境(異構(gòu)、集中管理但分布在多個(gè)地理位置)中所有服務(wù)請(qǐng)求者均可見(jiàn)。供部門(mén)或小型企業(yè)使用,其中,所有服務(wù)都可能在整個(gè)組織中應(yīng)用。
            • 直接連接的 ESB:公共服務(wù)注冊(cè)中心使幾個(gè)獨(dú)立的 ESB 安裝中的所有服務(wù)均可見(jiàn)。用于由業(yè)務(wù)部門(mén)提供和管理服務(wù)但整個(gè)企業(yè)中均可使用這些服務(wù)的場(chǎng)合。
            • 代理 ESB:橋接服務(wù)有選擇地將請(qǐng)求者或提供者公開(kāi)給其他域中的合作伙伴,從而控制多個(gè) ESB 安裝(每個(gè)安裝都管理自己的名稱(chēng)空間)間的共享。ESB 間的服務(wù)交互通過(guò)實(shí)現(xiàn)橋接服務(wù)的公共代理進(jìn)行。供各個(gè)部門(mén)使用,這些部門(mén)開(kāi)發(fā)和管理自己的服務(wù),但共享其中部分服務(wù)或者有選擇地訪(fǎng)問(wèn)企業(yè)提供的服務(wù)。
            • 聯(lián)合 ESB:將多個(gè)依賴(lài) ESB 聯(lián)合到其中的主 ESB。服務(wù)使用者和提供者連接到主 ESB 或某個(gè)依賴(lài) ESB,以訪(fǎng)問(wèn)整個(gè)網(wǎng)絡(luò)中的服務(wù)。供希望在一個(gè)監(jiān)管部門(mén)的保護(hù)下聯(lián)合有適度自治權(quán)的部門(mén)的組織使用。

            圖 7. ESB 部署模式
            ESB 部署模式






            結(jié)束語(yǔ)

            ESB 模式擴(kuò)展了 SOA 的虛擬化功能。可以由標(biāo)準(zhǔn)功能單元組成中介,然后進(jìn)行部署,以幫助不匹配的請(qǐng)求者和提供者進(jìn)行交互。ESB 還提供了用于部署和管理服務(wù)的通用模型。ESB 概念允許根據(jù)用戶(hù)角色單獨(dú)進(jìn)行考慮,從而減少了單個(gè)工作人員的概念上的負(fù)擔(dān),并改進(jìn)了體系結(jié)構(gòu)的可用性。ESB 的綜合編程模型、組件化工具以及基礎(chǔ)設(shè)施極大地支持了 SOA 原則的提前實(shí)現(xiàn)。

            posted on 2006-04-17 03:49 wsdfsdf 閱讀(365) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 技術(shù)文章

            亚洲精品乱码久久久久久久久久久久 | 91久久成人免费| 久久久久亚洲av毛片大| 一本色道久久88精品综合| 伊人色综合久久| 色综合久久久久无码专区| 久久最近最新中文字幕大全| 久久久午夜精品| 丁香久久婷婷国产午夜视频| 亚洲中文字幕无码久久精品1| 久久精品国产72国产精福利| 性做久久久久久久| 亚洲国产成人精品女人久久久 | 国产成人精品三上悠亚久久| 久久99精品国产99久久6男男| 国产精品久久婷婷六月丁香| 四虎国产精品免费久久久| 久久久SS麻豆欧美国产日韩| 久久91这里精品国产2020| 国产成人精品久久二区二区| 国产成人久久精品一区二区三区| 久久天天躁狠狠躁夜夜2020| 久久亚洲国产精品一区二区| 久久久久久久亚洲Av无码| 亚洲国产精品无码久久久秋霞2 | 亚洲人成伊人成综合网久久久| 久久久久亚洲AV无码专区网站| AAA级久久久精品无码片| 无码精品久久久久久人妻中字| 久久综合亚洲鲁鲁五月天| 亚洲国产精品成人久久蜜臀 | 亚洲欧美一级久久精品| 久久久久一级精品亚洲国产成人综合AV区| 午夜精品久久久久久中宇| 囯产极品美女高潮无套久久久| 亚洲乱码日产精品a级毛片久久 | 亚洲狠狠婷婷综合久久久久| 囯产极品美女高潮无套久久久| 国产精品成人久久久| 精品久久久久成人码免费动漫| 久久人人添人人爽添人人片牛牛 |