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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

当微服务撞上区块链

發(fā)布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 当微服务撞上区块链 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


當微服務(wù)撞上區(qū)塊鏈

區(qū)塊鏈?微服務(wù)?普元 閱讀1516?

作者:普元CTO 焦烈焱?
更多區(qū)塊鏈文章投稿,請郵箱至jingqi@csdn.net?
中國云計算技術(shù)大會http://cctc.csdn.net,在5月19日背景,將舉辦全天的區(qū)塊鏈技術(shù)峰會專場,歡迎大家與區(qū)塊鏈專家一起探討區(qū)塊鏈的技術(shù)趨勢?,F(xiàn)在購票還有折扣。

導語

每一種新技術(shù)的產(chǎn)生與發(fā)展,都會與既有的技術(shù)與實踐存在著聯(lián)系,例如微服務(wù)作為一種技術(shù)架構(gòu),實際上是在SOA架構(gòu)和JavaEE等分布式架構(gòu)的基礎(chǔ)上,進一步明晰了服務(wù)實現(xiàn)的方式與規(guī)則。區(qū)塊鏈技術(shù)脫胎于比特幣,作為一種多方信任的交易和技術(shù)模型,被包括國家、政府、監(jiān)管機構(gòu)等諸多業(yè)務(wù)方所關(guān)注,反而是技術(shù)從業(yè)者有些茫然,這一技術(shù)到底是什么,解決什么問題,能夠用在哪里普元近年來持續(xù)對微服務(wù)和區(qū)塊鏈技術(shù)進行了研究,這里和大家分享一下研究的成果。我們的研究重點放在了如下幾個方面:

1. 區(qū)塊鏈技術(shù)適用的應(yīng)用場景有哪些,該技術(shù)帶來的價值是什么??
2. 區(qū)塊鏈技術(shù)是由哪些技術(shù)組合而成,和現(xiàn)有技術(shù)的關(guān)系如何??
3. 采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)是什么,與微服務(wù)架構(gòu)的關(guān)系,現(xiàn)有應(yīng)用如何進行遷移?

區(qū)塊鏈的業(yè)務(wù)價值是通過數(shù)據(jù)共享降低信任成本

區(qū)塊鏈技術(shù)是從比特幣開始的,2008年由中本聰提出開始,造成了一個比特幣的熱潮。但是,比特幣的熱潮退去后,比特幣提出的問題和解決方式卻吸引著我們。2014年左右區(qū)塊鏈逐步從比特幣中脫離出來,做為一種獨立的技術(shù)發(fā)展,進入了 2.0 時代,以數(shù)字資產(chǎn)的方式解決商業(yè)的信任問題,同時用數(shù)字化手段提高業(yè)務(wù)的效率,在很多業(yè)務(wù)中已經(jīng)有了嘗試。

做為一種獨立的技術(shù)發(fā)展,區(qū)塊鏈分為公有鏈、聯(lián)盟鏈、私有鏈三個方向。而從業(yè)務(wù)角度看,區(qū)塊鏈的核心價值在于通過數(shù)據(jù)共享建立了多方的信任機制。

多參與方業(yè)務(wù)產(chǎn)生的信任問題是采用區(qū)塊鏈技術(shù)的源動力

信任問題,始終是一個大問題,為了解決信任問題,人類投入了大量的時間和金錢。尤其是多個參與方參加的業(yè)務(wù),信任的成本更高,這里我舉一個復雜的例子:信用證業(yè)務(wù)(參見下圖),信用證是指開證銀行應(yīng)申請人(買方)的要求并按其指示向受益人開立的載有一定金額的、在一定的期限內(nèi)憑符合規(guī)定的單據(jù)付款的書面保證文件。信用證是國際貿(mào)易中最主要、最常用的支付方式(摘自百度百科)。

之所以舉這個例子,是因為區(qū)塊鏈技術(shù)適用的場景往往是業(yè)務(wù)比較復雜的情況,簡單例子很容易被誤解,這里我通俗易懂的解釋一下,在國際貿(mào)易活動,買賣雙方往往互不信任,進口商(買方)擔心預付款后,出口商(賣方)不發(fā)貨;賣方擔心發(fā)貨后買方不付款(類似詐騙經(jīng)常發(fā)生,例如賣方把貨運到碼頭了,買方就是不付余款,于是只能在當?shù)刭v賣,這時買方再去抄底),典型的麻桿打狼兩頭怕。因此雙方各找了一家銀行作為擔保人,由兩家銀行之間開具憑證,代理進口商、出口商之間業(yè)務(wù)往來,達到條件后由銀行付款,減少進口商、出口商的風險,這就是信用證業(yè)務(wù)。即使這樣,信用證詐騙還是很多,銀行為規(guī)避風險,需要各種書面的證明,反復各種確認…業(yè)務(wù)處理周期會非常長。

上圖中信用證業(yè)務(wù)的參與方包括出口商、進口商、開證行、通知行、寄單行/附議行、運輸公司,是一個典型的多方參與業(yè)務(wù),但通常這些參與方只是一部分,可能還會有海關(guān)、保險公司、評級機構(gòu)等機構(gòu)加入到交易鏈條中。

多參與方業(yè)務(wù)解決信任問題,現(xiàn)有方案成本高在哪里?

解決多參與方業(yè)務(wù)的信任問題,現(xiàn)在是通過建立第三方機構(gòu)完成的,例如上述信用證業(yè)務(wù),就是通過SWIFT組織(環(huán)球同業(yè)銀行金融電訊協(xié)會)的SWIFT系統(tǒng)開立信用證,銀行和其他金融機構(gòu)通過它與同業(yè)交換電文來完成金融交易,由 SWIFT 進行銀行間轉(zhuǎn)發(fā)。

SWIFT僅僅解決了一部分的問題,還差很遠,例如:

  • 業(yè)務(wù)上:那些沒有參加到 SWIFT 的組織無法通過 SWIFT 進行交易,例如一些進口商、出口商、保險公司等等,SWITF也不能做清算,因此銀行在辦理信用證業(yè)務(wù)的時候,只有反復通過各種其他方式確認,避免詐騙發(fā)生,導致業(yè)務(wù)非常復雜,流程很長;
  • 技術(shù)上:多方參與的業(yè)務(wù),一旦在處理業(yè)務(wù)時發(fā)生技術(shù)故障,處理起來就遠比普通業(yè)務(wù)復雜。為了保證少出問題,技術(shù)上的投入會很高,記得用過很多手段,例如曾經(jīng)給每個參與方做過應(yīng)急系統(tǒng),采用過兩個不同廠商的SWIFT網(wǎng)關(guān)互為備份,安排專人排班管理異常情況,而且每個中心接入的標準和模式也不一致,接入中心機構(gòu)帶來的開發(fā)/維護成本都很高。
  • 必須說明的是,為了能把業(yè)務(wù)講清楚,我還是簡化了很多內(nèi)容,例如如何進行銀行間清算、如何進行付款等等。總之,建立一個第三方機構(gòu)來解決信任問題,無論在業(yè)務(wù)上、技術(shù)上復雜度都很高。
  • 區(qū)塊鏈技術(shù)是通過數(shù)據(jù)共享降低信任成本的

    如果有一個分布式的記賬簿:

  • 參與方在記賬之后有相當多的副本存在,不再是一家之言;
  • 保證提交的交易一定被記錄下來;
  • 保證記賬不可逆,無法篡改;
  • 參與方的交易記錄是相對透明的,可以通過這些記錄驗證新的交易。
  • 如果有機構(gòu)建立了這樣一個記賬簿,每個參與方在交易中都通過這個記賬簿進行交互,保證每一筆發(fā)生的交易一定被可靠的記錄下來并不可篡改,不就不必再反復確認,不必擔心技術(shù)問題導致的業(yè)務(wù)流程變更,不必做應(yīng)急系統(tǒng),這樣成本就低多了。

    通過分布式的記賬簿進行數(shù)據(jù)共享,從而降低信任成本,這就是區(qū)塊鏈技術(shù)的價值。

    聯(lián)盟鏈才是應(yīng)用區(qū)塊鏈技術(shù)優(yōu)先選擇的方向

    既然區(qū)塊鏈是一個分布式的記賬簿,那這個記賬簿由誰來建立呢?這是這一技術(shù)應(yīng)用的核心問題。

    目前建立記賬簿的方式有三種:

  • 公有鏈,象互聯(lián)網(wǎng)一樣,做為一種開放的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,向任何人公開,任何人自由加入
  • 私有鏈,一個組織內(nèi)部建立,可以幫助組織內(nèi)部完成審計等工作
  • 建立公有鏈難度高,業(yè)務(wù)場景不夠精準,分布式存儲帶來的性能低下問題阻礙了可用的應(yīng)用場景,而私有鏈脫離了區(qū)塊鏈的商業(yè)價值,只是把區(qū)塊鏈做為一個技術(shù)組件使用。在目前的應(yīng)用場景中,絕大多數(shù)都可以用聯(lián)盟鏈解決,商業(yè)上相對容易成立,性能遠遠高于公有鏈。

    從上述描述就可以理解到,公有鏈太理想,私有鏈所處理的問題,傳統(tǒng)架構(gòu)完全能解決,而針對特定業(yè)務(wù)由企業(yè)聯(lián)盟建立的聯(lián)盟鏈,應(yīng)用方向更清晰,業(yè)務(wù)價值也更加明確,下圖是一個聯(lián)盟鏈的示例:

    從應(yīng)用的角度看,區(qū)塊鏈技術(shù)提供的是一個分布式數(shù)據(jù)庫。區(qū)塊鏈技術(shù)的數(shù)據(jù)共享方式要滿足:(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,上述特性總結(jié)下來,采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)如上圖所示,可以看出,區(qū)塊鏈技術(shù)對應(yīng)用而言,就是一個分布式數(shù)據(jù)庫。

    區(qū)塊鏈技術(shù)的本質(zhì)是分布式數(shù)據(jù)庫

    區(qū)塊鏈基于密碼學中的橢圓曲線數(shù)字簽名算法(ECDSA)來實現(xiàn)去中心化的P2P系統(tǒng)設(shè)計。當人們在談?wù)摶蚴褂谩皡^(qū)塊鏈”這個詞時,有時候是指數(shù)據(jù)結(jié)構(gòu),有時候是指數(shù)據(jù)庫,有時則是指數(shù)據(jù)庫技術(shù)。

    和區(qū)塊鏈技術(shù)比,分布式數(shù)據(jù)庫的概念顯然更容易被理解,我就從分布式數(shù)據(jù)庫的一些基本概念出來,理解區(qū)塊鏈的技術(shù)實現(xiàn),這些概念包括數(shù)據(jù)存儲、點對點可靠傳輸、存儲過程與觸發(fā)器(智能合約)、數(shù)據(jù)安全。

    區(qū)塊鏈技術(shù)的數(shù)據(jù)共享是一個分布式的記賬簿,交易記錄具備多個副本,因此首先要解決分布式數(shù)據(jù)存儲的問題。

    1、區(qū)塊鏈存儲的基本單元是區(qū)塊,區(qū)塊采用鏈式結(jié)構(gòu),即新增的區(qū)塊(類似數(shù)據(jù)庫一行記錄)都知道自己前一個區(qū)塊(前一行記錄)是什么,可以一直追溯到根,區(qū)塊的標識是區(qū)塊的哈希值,同時鏈式結(jié)構(gòu)保留了業(yè)務(wù)產(chǎn)生的軌跡,可以在新增交易的時候根據(jù)前面的記錄做校驗,保證了區(qū)塊的內(nèi)容不容易篡改。

    這種模式,我們在傳統(tǒng)的數(shù)據(jù)庫設(shè)計也會采用,例如下圖拉鏈表的形式,每次對數(shù)據(jù)的更新都采用追加( Insert而不是Update)模式,有起始時間、失效時間和是否生效標識,保持全部交易歷史。

    區(qū)塊鏈把這一點變成了一種底層固有模式,加入了哈希、時間戳等機制在技術(shù)上保證鏈條的正確性,因此非常有價值。

    2、既然是分布式、多中心的存儲方式,就必須解決存儲時的分布式一致性問題。在區(qū)塊鏈的前身比特幣應(yīng)用中,解決這一問題的方式是工作量證明(POW Proof-Of-Work)方式,即通過工作以獲得指定成果,用成果來證明曾經(jīng)付出的努力。

    這也是接觸區(qū)塊鏈技術(shù)時第一個比較迷惑的地方,我為啥一定要用工作量來證明,是不是還有其他方式?區(qū)塊鏈技術(shù)從比特幣中獨立出來后,大家把這一問題歸結(jié)為共識問題,工作量證明是達成共識的一種方式,這樣就清晰多了。于是就產(chǎn)生了權(quán)益證明(POS Proof of Stake)方式,是一種通過業(yè)務(wù)規(guī)則達成共識的方式;實用拜占庭容錯(PBFT Practical Byzantine Fault Tolerance)方式,是一種通過技術(shù)規(guī)則達成共識的機制。在公有鏈上,工作量證明(POW)還是一種最主要的共識方式,不容易取代,但在聯(lián)盟鏈上,完全可以根據(jù)自己的情況,創(chuàng)造出新的共識方式出來。我們就根據(jù)這一想法,在特定業(yè)務(wù)中創(chuàng)造過共識算法,解決分布式數(shù)據(jù)存儲的一致性問題。

    點對點可靠傳輸:可靠消息與P2P

    區(qū)塊鏈技術(shù)是一組技術(shù)的組合,既然是一個分布式的記賬簿,就要解決數(shù)據(jù)可靠傳輸問題。包括記賬節(jié)點(信任節(jié)點)之間、非記賬節(jié)點(非信任節(jié)點)、客戶端與記賬節(jié)點(信任節(jié)點)之間的數(shù)據(jù)傳輸。在以前我們的方案中,往往通過可靠消息或者P2P方式解決數(shù)據(jù)傳輸問題,這些技術(shù)也被用于區(qū)塊鏈技術(shù)中。但必須說明的是,在真實業(yè)務(wù)場景下,不可能把所有的數(shù)據(jù)都記錄在記賬簿中,部分業(yè)務(wù)數(shù)據(jù)還是要保存在自己的系統(tǒng)中,這就還需要在技術(shù)框架上做到本地業(yè)務(wù)數(shù)據(jù)與區(qū)塊鏈的記賬簿保持一致,后文會具體闡述,總之,區(qū)塊鏈平臺只能保證自身數(shù)據(jù)之間的一致,業(yè)務(wù)不能完全依賴區(qū)塊鏈平臺保證數(shù)據(jù)一致性。

    智能合約:觸發(fā)器與存儲過程

    智能合約是指當一定條件滿足的情況下,可以被自動執(zhí)行的數(shù)字化合約。實現(xiàn)這一特性,在數(shù)據(jù)庫中就是由觸發(fā)器和存儲過程完成的。雖然在目前流行的應(yīng)用架構(gòu)中,都不建議把邏輯寫在存儲過程中,但觸發(fā)器和存儲過程還是常用的工具,尤其在數(shù)據(jù)遷移相關(guān)的運維活動中。區(qū)塊鏈技術(shù)中智能合約就是觸發(fā)器和存儲過程,他是一個在沙箱中運行的腳本,用于執(zhí)行區(qū)塊鏈業(yè)務(wù)中的業(yè)務(wù)邏輯,也可以用于各種檢查。舉個例子,A產(chǎn)生一筆支付時,可以通過智能合約在數(shù)據(jù)鏈上進行檢查,如果發(fā)現(xiàn)A的余額無法支付這筆交易,就可以中止這筆交易。和存儲過程相比,智能合約運行在沙箱之中,不能對外部 API 做調(diào)用。這也比較好理解,如果允許外部調(diào)用,就可能無法保證自身的數(shù)據(jù)一致性,后面我們會講到這種缺陷如何彌補。美中不足的是目前的智能合約并不支持 SQL 語法。

    數(shù)據(jù)安全:用業(yè)務(wù)手段達成妥協(xié)

    交易數(shù)據(jù)是透明的,但不是全部透明,而是相對透明,這是區(qū)塊鏈技術(shù)的一個難點,關(guān)鍵有二:(1)如何保護隱私,僅僅能看到自己可見的數(shù)據(jù);(2)密鑰分配問題,例如新加入鏈中的一個節(jié)點會被分配一個新的密鑰,如何用這個密鑰解讀以前鏈中存儲的信息??梢娕c不可見,這是一個矛盾,理論上沒有一個完美的方案,這里我不對區(qū)塊鏈技術(shù)如何加密、如何做密鑰管理、如何同態(tài)加密等方式做解讀,而是講講如何通過業(yè)務(wù)方法而不是技術(shù)手段規(guī)避這一問題。舉個例子,在一個小企業(yè)支付的聯(lián)盟鏈中,核心企業(yè)包括某銀行、企業(yè)A,為A的上下游企業(yè)提供信貸業(yè)務(wù),對于所有交易的數(shù)據(jù),銀行和核心企業(yè)A都是可見的,他們擁有記賬節(jié)點,對于其他加盟企業(yè),只擁有非記賬節(jié)點,他們雖然也有全部的數(shù)據(jù),但是只能看到自己相關(guān)的數(shù)據(jù)。很明顯,加盟企業(yè)放棄了自己的部分隱私權(quán),但也得到了生意的機會,這種方式加盟企業(yè)是可以接受的,就好比貸款企業(yè)要向銀行提供經(jīng)營數(shù)據(jù)一樣。數(shù)據(jù)安全問題,在技術(shù)上很難解決,但通過業(yè)務(wù)手段是可以規(guī)避的,這也是我們看好聯(lián)盟鏈的重要原因。

    為分布式應(yīng)用而生的微服務(wù),與區(qū)塊鏈技術(shù)是天生一對

    最后說說區(qū)塊鏈技術(shù)與微服務(wù)架構(gòu)的關(guān)系。大家知道,微服務(wù)架構(gòu)是一個分布式的應(yīng)用技術(shù)架構(gòu),目的是有效的對應(yīng)用進行拆分,實現(xiàn)敏捷開發(fā)、快速演化、便捷容錯與彈性伸縮。

    微服務(wù)的一個核心概念是API網(wǎng)關(guān),由于服務(wù)的顆粒變細,網(wǎng)關(guān)承擔著安全與訪問認證等諸多職能。而在現(xiàn)有的大多數(shù)微服務(wù)架構(gòu)中,大家都更多的在談接入網(wǎng)關(guān)的概念,實際上按照信息的流向,除接入網(wǎng)關(guān)外,微服務(wù)還應(yīng)該有接出網(wǎng)關(guān)的概念。

    前面說到,區(qū)塊鏈技術(shù)本質(zhì)上就是分布式數(shù)據(jù)庫,微服務(wù)架構(gòu)與區(qū)塊鏈技術(shù)的結(jié)合,并不能簡單的看成是微服務(wù)與數(shù)據(jù)庫的結(jié)合,而應(yīng)該把區(qū)塊鏈平臺做為一個第三方應(yīng)用進行交互,這也是微服務(wù)架構(gòu)很好發(fā)揮作用的地方。上圖中紅圈所示的就是微服務(wù)與區(qū)塊鏈平臺進行交互的方式。而微服務(wù)的接出網(wǎng)關(guān),就應(yīng)該起到區(qū)塊鏈網(wǎng)關(guān)的作用。

    雖然目前的區(qū)塊鏈平臺一般都有SDK和REST服務(wù)兩種方式,按照上述的原則,一般不要使用 SDK,而是遠程調(diào)用方式,采用微服務(wù)的設(shè)計原則,使用區(qū)塊鏈網(wǎng)關(guān),把微服務(wù)與區(qū)塊鏈平臺集成的功能集中到網(wǎng)關(guān)中,見下圖:

    微服務(wù)通過區(qū)塊鏈網(wǎng)關(guān)與區(qū)塊鏈平臺交互,區(qū)塊鏈網(wǎng)關(guān)主要功能包括通訊網(wǎng)關(guān)、事件監(jiān)聽,同時配合微服務(wù)應(yīng)用框架,完成數(shù)據(jù)一致性、對賬功能。與區(qū)塊鏈網(wǎng)關(guān)集成的能力,是微服務(wù)架構(gòu)天生具備的。所以我們說微服務(wù)與區(qū)塊鏈,天生是一對。

    通訊網(wǎng)關(guān):處理微服務(wù)發(fā)起的對區(qū)塊鏈平臺的調(diào)用

    由于區(qū)塊鏈平臺的服務(wù)能力(每秒交易數(shù) TPS)有限,為保證區(qū)塊鏈平臺的可用性,區(qū)塊鏈網(wǎng)關(guān)采用了異步處理模式,實現(xiàn)限流、隔離、服務(wù)升降級等能力。

    網(wǎng)關(guān)在微服務(wù)應(yīng)用與區(qū)塊鏈平臺之間建立了隔離,避免平臺與微服務(wù)之間互相影響,這是一種 MiddleBox 的集成方式,用一個獨立的基礎(chǔ)設(shè)施做集成。微服務(wù)之間的集成往往采用 MiddlePipe 的模式,但是區(qū)塊鏈平臺做為一個第三方應(yīng)用,采用 MiddleBox 方式比較好,統(tǒng)一管理與運維比較方便。

    由于區(qū)塊鏈平臺提供的接口各有不同,區(qū)塊鏈網(wǎng)關(guān)在接受請求后記錄交易流水,把區(qū)塊鏈平臺提供的服務(wù)模擬為冪等服務(wù),調(diào)用者可以多次調(diào)用區(qū)塊鏈網(wǎng)關(guān),而區(qū)塊鏈網(wǎng)關(guān)僅僅調(diào)用區(qū)塊鏈平臺一次。為方便運維,我們可以為區(qū)塊鏈平臺提供的服務(wù)定義SLA,根據(jù)這些定義靈活的進行調(diào)用的控制。

    區(qū)塊鏈網(wǎng)關(guān)的內(nèi)部實現(xiàn)是一個 SEDA 架構(gòu)(分階段事件驅(qū)動架構(gòu)),把接入、接出和處理分開(處理主要是記錄流水、報文打解包、安全效驗等功能),三階段之間用隊列連接,采用異步模擬同步的方式,這是一個用于集成的基礎(chǔ)架構(gòu)。

    接入、處理、接出三個階段可處理資源是可以調(diào)配的,資源主要包括處理線程和接入接出的連接,根據(jù)不同業(yè)務(wù)可以有不同的資源為之服務(wù),這樣升降級、限流等特性就比較容易實現(xiàn)。

    為了方便運維,需要對業(yè)務(wù)有分組的能力,可以根據(jù)分組進行批量的運維管理。

    事件監(jiān)聽:Hook與輪詢模式

    如果記賬簿發(fā)生了改變,如何通知微服務(wù)呢,這就是區(qū)塊鏈網(wǎng)關(guān)中事件監(jiān)聽發(fā)揮的作用。目前很多區(qū)塊鏈平臺并沒有提供事件接口,即使未來有也很難統(tǒng)一,前面也說過,智能合約運行在沙箱中,為保證數(shù)據(jù)一致性不可能支持對外部服務(wù)的調(diào)用,也不能做為事件監(jiān)聽的回調(diào),這樣就需要在區(qū)塊鏈網(wǎng)關(guān)中進行處理。

    微服務(wù)可以注冊對某一類交易進行監(jiān)聽,區(qū)塊鏈網(wǎng)關(guān)定時通過區(qū)塊鏈平臺的查詢接口檢索,發(fā)現(xiàn)數(shù)據(jù)變更時通知微服務(wù)。這是一個效率不高的方法,但區(qū)塊鏈平臺本身性能也不高,時延主要由共識機制造成,輪詢的做法并不會有太大影響,這也是期待區(qū)塊鏈平臺本身提升的地方。

    數(shù)據(jù)一致性:可靠事件模式是首選

    不能把所有數(shù)據(jù)都存儲在區(qū)塊鏈平臺中,而是將交易數(shù)據(jù)存儲在區(qū)塊鏈平臺,這樣就有了本地數(shù)據(jù)庫的數(shù)據(jù)與區(qū)塊鏈交易數(shù)據(jù)的一致性問題。

    一般來說,我們不能依賴區(qū)塊鏈平臺支持事務(wù)的回滾,因為這個分布式的記賬簿一旦記賬就是不可更改的,我們甚至不能指望區(qū)塊鏈平臺實時給應(yīng)用反饋記賬是否成功,因為有可能返回超時錯誤,不清楚是否記賬成功。于是,區(qū)塊鏈網(wǎng)關(guān)需要和微服務(wù)配合保證數(shù)據(jù)的一致性。

    一般情況下微服務(wù)中的業(yè)務(wù)處理采用異步模式,發(fā)出記賬申請后處于等待狀態(tài),區(qū)塊鏈網(wǎng)關(guān)將記賬申請轉(zhuǎn)發(fā)給區(qū)塊鏈平臺。如果區(qū)塊鏈平臺返回接受Accept或者拒絕Reject,將結(jié)果通知微服務(wù);如果區(qū)塊鏈平臺返回超時或者不可確定錯誤,即開始定時輪詢,得到結(jié)果后通知微服務(wù)。同時,微服務(wù)本身需要具備事務(wù)補償?shù)哪J?#xff0c;如果記賬失敗進行反交易處理。這種數(shù)據(jù)一致性處理的方式,是微服務(wù)多種處理方式中的一種,我們一般使用服務(wù)編排的方式降低這種模式的開發(fā)復雜度。

    下面是一個示例:

    這是一個可靠事件與區(qū)塊鏈交互的流程:

    1)應(yīng)用框架接到請求后首先記錄業(yè)務(wù)流水,然后執(zhí)行業(yè)務(wù)邏輯,記錄業(yè)務(wù)數(shù)據(jù),最后在事件表中留下對區(qū)塊鏈平臺調(diào)用的記錄,事務(wù)完成?
    2)事件處理輪詢事件記錄,有更新時通過區(qū)塊鏈網(wǎng)關(guān)調(diào)用區(qū)塊鏈平臺,如果調(diào)用成功,改變事件狀態(tài),如果失敗就要調(diào)用業(yè)務(wù)補償?shù)臋C制了。

    對賬

    既然數(shù)據(jù)有本地存放,也有區(qū)塊鏈平臺存放,就有不一致的可能,就必須對賬。傳統(tǒng)對賬有以我為主、以他為主兩種模式。這里就只能以他為主,以區(qū)塊鏈平臺為主了。由于區(qū)塊鏈技術(shù)針對交易的特點對存儲結(jié)構(gòu)進行了要求,利用已有的時間戳、交易先后次序,可以是對賬變得更加容易。

    基本的對賬處理流程如下

  • 區(qū)塊鏈平臺和企業(yè)應(yīng)用的記錄必須有關(guān)聯(lián)的id(可以是多要素的組合)
  • 區(qū)塊鏈平臺和企業(yè)應(yīng)用都要保證生成的對賬文件明細記錄的連續(xù)性
  • 對于“隔日賬”需重復核對
  • 結(jié)語

    區(qū)塊鏈是一種新興的技術(shù),他的本質(zhì)是一種加入業(yè)務(wù)特性的分布式數(shù)據(jù)庫,通過對區(qū)塊鏈技術(shù)的研究,我們找到了業(yè)務(wù)與區(qū)塊鏈技術(shù)結(jié)合的方式,提出了微服務(wù)應(yīng)用架構(gòu)集成區(qū)塊鏈的技術(shù)模式。

    1、區(qū)塊鏈的業(yè)務(wù)價值是通過數(shù)據(jù)共享降低信任成本。

    區(qū)塊鏈建立了一個記賬簿,每個參與方在交易中都通過這個記賬簿進行交互,保證每一筆發(fā)生的交易一定被可靠的記錄下來并不可篡改,不必再反復確認,不必擔心技術(shù)問題導致的業(yè)務(wù)流程變更,不必做應(yīng)急系統(tǒng),從而降低了信任成本。

    2、區(qū)塊鏈技術(shù)的本質(zhì)是分布式數(shù)據(jù)庫。

    區(qū)塊鏈技術(shù)的數(shù)據(jù)共享方式要滿足(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,總結(jié)下來,區(qū)塊鏈技術(shù)對應(yīng)用而言,就是一個分布式數(shù)據(jù)庫,分別對應(yīng)分布式數(shù)據(jù)庫的(1)分布式存儲、(2)點對點可靠傳輸、(3)存儲過程與(4)數(shù)據(jù)安全幾個方面。

    3、為分布式應(yīng)用而生的微服務(wù),與區(qū)塊鏈技術(shù)是天生的一對。

    微服務(wù)通過區(qū)塊鏈網(wǎng)關(guān)與區(qū)塊鏈平臺交互,區(qū)塊鏈網(wǎng)關(guān)主要功能包括通訊網(wǎng)關(guān)、事件監(jiān)聽,同時配合微服務(wù)應(yīng)用框架,完成數(shù)據(jù)一致性、對賬功能。與區(qū)塊鏈網(wǎng)關(guān)集成的能力,是微服務(wù)架構(gòu)天生具備的。

    以上是對我們研究成果一個簡要介紹,后續(xù)我們還會對使用區(qū)塊鏈技術(shù)的細節(jié)進行分析,與大家共同探討。

    附記:理解區(qū)塊鏈技術(shù)常見的幾個困惑

    從剛剛接觸區(qū)塊鏈技術(shù)的一頭霧水,到概念的逐步清晰,再到區(qū)塊鏈應(yīng)用的研發(fā),經(jīng)歷很多困惑,這里列出幾個常見的困惑:

    困惑1:比特幣是區(qū)塊鏈技術(shù)的一個應(yīng)用,不能把比特幣應(yīng)用的所有內(nèi)容都歸結(jié)為區(qū)塊鏈技術(shù)

    上文提到,區(qū)塊鏈技術(shù)從比特幣中獨立出來是 2014 年左右的事情,此前每每舉出區(qū)塊鏈的案例都是比特幣,給區(qū)塊鏈技術(shù)的應(yīng)用造成了很多誤解。我建議先了解區(qū)塊鏈技術(shù),再了解比特幣,先理解聯(lián)盟鏈的業(yè)務(wù)場景,再了解公有鏈的業(yè)務(wù)場景,公有鏈看作是聯(lián)盟鏈的一種大規(guī)模延展,,可以少走一些彎路。

    困惑2:公有鏈情況下數(shù)據(jù)存儲性能不高,但聯(lián)盟鏈的性能可以遠高于公有鏈,能滿足多數(shù)場景的要求

    數(shù)據(jù)一致性問題是分布式存儲最大的問題,而并發(fā)越高,沖突的概率就越大。區(qū)塊鏈技術(shù)之所以能支持的每秒交易數(shù)(TPS)不高,主要是共識機制比較復雜,或者說共識機制就是刻意為了降低并發(fā)性,減少數(shù)據(jù)沖突的概率。在公有鏈上,這是一個無法逾越的問題,只能從事實時性要求不敏感的業(yè)務(wù)。但是,在聯(lián)盟鏈中,由于鏈中的參與方并不多,也不需要每個節(jié)點都記賬,就可以使用一些性能更高的共識機制,例如前面說的PBFT。我們曾經(jīng)嘗試過一種全對等的算法,可以支持更高的性能。

    困惑3:應(yīng)用區(qū)塊鏈技術(shù)不一定必須有礦工來挖礦

    初次接觸區(qū)塊鏈技術(shù),礦工/挖礦這個概念讓人非常費解:(1)為什么一定要挖礦?(2)為什么要給記賬成功的節(jié)點獎勵比特幣來鼓勵記賬?(3)非比特幣的業(yè)務(wù)中如何鼓勵記賬?這個困惑歸根結(jié)底還是把區(qū)塊鏈和比特幣混淆造成的。前面說過,挖礦是通過工作量證明(POW)達成共識的機制,挖礦能力愈強就取得了記錄權(quán)。更重要的是比特幣的貨幣屬性,發(fā)行貨幣要么靠國家信用(例如紙幣),要么靠奇缺資源(例如黃金),比特幣為了防止濫發(fā),就需要用算力做為一種奇缺資源。這樣說來,比特幣實際上把共識算法、貨幣屬性、鼓勵記賬這幾件事都用挖礦來解決了,思路確實精妙。但是,在業(yè)務(wù)規(guī)則不同的聯(lián)盟鏈中就不一樣了,除了有其他更高效的共識算法外,不需要奇缺資源,不需要專門對記賬做鼓勵,因為必須記賬已經(jīng)是核心企業(yè)之間的契約,可以通過技術(shù)手段保證數(shù)據(jù)的同步,支持審計等能力,自然就不需要挖礦了。

    困惑4:目前應(yīng)用區(qū)塊鏈技術(shù)不是去中心,而是多中心

    去中心是一個理想,經(jīng)常有人問(1)為什么要去中心?去中心有什么好處?(2)真的能去中心嗎?后來,我深入研究聯(lián)盟鏈的場景時發(fā)現(xiàn),實際的業(yè)務(wù)場景大多是多中心(這又是比特幣惹的禍,他真的想去中心),例如上述的企業(yè)聯(lián)盟方式,幾個建立聯(lián)盟的核心企業(yè)就是多中心,他們共同成為一個新的中心。傳統(tǒng)方式建立新的中心,往往通過建立清算機構(gòu)的方式,而區(qū)塊鏈技術(shù)讓建立中心的成本降低了。

    困惑5:不是所有的區(qū)塊鏈節(jié)點都是記賬節(jié)點,很多節(jié)點僅僅用來進行數(shù)據(jù)同步而已

    多中心就意味著不是每個節(jié)點都需要記賬,記賬的工作由幾個中心節(jié)點負責就可以了,其他節(jié)點與記賬節(jié)點間是數(shù)據(jù)同步的關(guān)系,也就是非記賬節(jié)點上也有全部數(shù)據(jù)。聯(lián)盟鏈中非記賬節(jié)點一般處在加盟企業(yè),由于數(shù)據(jù)可見性的要求,非記賬節(jié)點中的數(shù)據(jù)并不是都可見的,但是這一副本可以做為一種法律依據(jù),提高了篡改數(shù)據(jù)的成本。

    從數(shù)據(jù)的角度來看,區(qū)塊鏈本質(zhì)是一種分布式數(shù)據(jù)庫,這里的“分布式”是指區(qū)塊鏈技術(shù)利用鏈式存儲結(jié)構(gòu)不僅解決了分布式數(shù)據(jù)存儲問題,也解決了存儲時的分布式一致性問題。區(qū)塊鏈技術(shù)利用分布式記賬簿保證數(shù)據(jù)可靠傳輸和訪問,利用可自動執(zhí)行的智能合約來編程和操作數(shù)據(jù)。所以,我認為,基于分布式數(shù)據(jù)庫來理解區(qū)塊鏈,認清區(qū)塊鏈技術(shù)常見的一些困惑和誤區(qū),可以讓大家對區(qū)塊鏈有個比較正確的理解方式。

    當微服務(wù)撞上區(qū)塊鏈

    區(qū)塊鏈?微服務(wù)?普元 閱讀1516?

    作者:普元CTO 焦烈焱?
    更多區(qū)塊鏈文章投稿,請郵箱至jingqi@csdn.net?
    中國云計算技術(shù)大會http://cctc.csdn.net,在5月19日背景,將舉辦全天的區(qū)塊鏈技術(shù)峰會專場,歡迎大家與區(qū)塊鏈專家一起探討區(qū)塊鏈的技術(shù)趨勢?,F(xiàn)在購票還有折扣。

    導語

    每一種新技術(shù)的產(chǎn)生與發(fā)展,都會與既有的技術(shù)與實踐存在著聯(lián)系,例如微服務(wù)作為一種技術(shù)架構(gòu),實際上是在SOA架構(gòu)和JavaEE等分布式架構(gòu)的基礎(chǔ)上,進一步明晰了服務(wù)實現(xiàn)的方式與規(guī)則。區(qū)塊鏈技術(shù)脫胎于比特幣,作為一種多方信任的交易和技術(shù)模型,被包括國家、政府、監(jiān)管機構(gòu)等諸多業(yè)務(wù)方所關(guān)注,反而是技術(shù)從業(yè)者有些茫然,這一技術(shù)到底是什么,解決什么問題,能夠用在哪里普元近年來持續(xù)對微服務(wù)和區(qū)塊鏈技術(shù)進行了研究,這里和大家分享一下研究的成果。我們的研究重點放在了如下幾個方面:

    1. 區(qū)塊鏈技術(shù)適用的應(yīng)用場景有哪些,該技術(shù)帶來的價值是什么??
    2. 區(qū)塊鏈技術(shù)是由哪些技術(shù)組合而成,和現(xiàn)有技術(shù)的關(guān)系如何??
    3. 采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)是什么,與微服務(wù)架構(gòu)的關(guān)系,現(xiàn)有應(yīng)用如何進行遷移?

    區(qū)塊鏈的業(yè)務(wù)價值是通過數(shù)據(jù)共享降低信任成本

    區(qū)塊鏈技術(shù)是從比特幣開始的,2008年由中本聰提出開始,造成了一個比特幣的熱潮。但是,比特幣的熱潮退去后,比特幣提出的問題和解決方式卻吸引著我們。2014年左右區(qū)塊鏈逐步從比特幣中脫離出來,做為一種獨立的技術(shù)發(fā)展,進入了 2.0 時代,以數(shù)字資產(chǎn)的方式解決商業(yè)的信任問題,同時用數(shù)字化手段提高業(yè)務(wù)的效率,在很多業(yè)務(wù)中已經(jīng)有了嘗試。

    做為一種獨立的技術(shù)發(fā)展,區(qū)塊鏈分為公有鏈、聯(lián)盟鏈、私有鏈三個方向。而從業(yè)務(wù)角度看,區(qū)塊鏈的核心價值在于通過數(shù)據(jù)共享建立了多方的信任機制。

    多參與方業(yè)務(wù)產(chǎn)生的信任問題是采用區(qū)塊鏈技術(shù)的源動力

    信任問題,始終是一個大問題,為了解決信任問題,人類投入了大量的時間和金錢。尤其是多個參與方參加的業(yè)務(wù),信任的成本更高,這里我舉一個復雜的例子:信用證業(yè)務(wù)(參見下圖),信用證是指開證銀行應(yīng)申請人(買方)的要求并按其指示向受益人開立的載有一定金額的、在一定的期限內(nèi)憑符合規(guī)定的單據(jù)付款的書面保證文件。信用證是國際貿(mào)易中最主要、最常用的支付方式(摘自百度百科)。

    之所以舉這個例子,是因為區(qū)塊鏈技術(shù)適用的場景往往是業(yè)務(wù)比較復雜的情況,簡單例子很容易被誤解,這里我通俗易懂的解釋一下,在國際貿(mào)易活動,買賣雙方往往互不信任,進口商(買方)擔心預付款后,出口商(賣方)不發(fā)貨;賣方擔心發(fā)貨后買方不付款(類似詐騙經(jīng)常發(fā)生,例如賣方把貨運到碼頭了,買方就是不付余款,于是只能在當?shù)刭v賣,這時買方再去抄底),典型的麻桿打狼兩頭怕。因此雙方各找了一家銀行作為擔保人,由兩家銀行之間開具憑證,代理進口商、出口商之間業(yè)務(wù)往來,達到條件后由銀行付款,減少進口商、出口商的風險,這就是信用證業(yè)務(wù)。即使這樣,信用證詐騙還是很多,銀行為規(guī)避風險,需要各種書面的證明,反復各種確認…業(yè)務(wù)處理周期會非常長。

    上圖中信用證業(yè)務(wù)的參與方包括出口商、進口商、開證行、通知行、寄單行/附議行、運輸公司,是一個典型的多方參與業(yè)務(wù),但通常這些參與方只是一部分,可能還會有海關(guān)、保險公司、評級機構(gòu)等機構(gòu)加入到交易鏈條中。

    多參與方業(yè)務(wù)解決信任問題,現(xiàn)有方案成本高在哪里?

    解決多參與方業(yè)務(wù)的信任問題,現(xiàn)在是通過建立第三方機構(gòu)完成的,例如上述信用證業(yè)務(wù),就是通過SWIFT組織(環(huán)球同業(yè)銀行金融電訊協(xié)會)的SWIFT系統(tǒng)開立信用證,銀行和其他金融機構(gòu)通過它與同業(yè)交換電文來完成金融交易,由 SWIFT 進行銀行間轉(zhuǎn)發(fā)。

    SWIFT僅僅解決了一部分的問題,還差很遠,例如:

  • 業(yè)務(wù)上:那些沒有參加到 SWIFT 的組織無法通過 SWIFT 進行交易,例如一些進口商、出口商、保險公司等等,SWITF也不能做清算,因此銀行在辦理信用證業(yè)務(wù)的時候,只有反復通過各種其他方式確認,避免詐騙發(fā)生,導致業(yè)務(wù)非常復雜,流程很長;
  • 技術(shù)上:多方參與的業(yè)務(wù),一旦在處理業(yè)務(wù)時發(fā)生技術(shù)故障,處理起來就遠比普通業(yè)務(wù)復雜。為了保證少出問題,技術(shù)上的投入會很高,記得用過很多手段,例如曾經(jīng)給每個參與方做過應(yīng)急系統(tǒng),采用過兩個不同廠商的SWIFT網(wǎng)關(guān)互為備份,安排專人排班管理異常情況,而且每個中心接入的標準和模式也不一致,接入中心機構(gòu)帶來的開發(fā)/維護成本都很高。
  • 必須說明的是,為了能把業(yè)務(wù)講清楚,我還是簡化了很多內(nèi)容,例如如何進行銀行間清算、如何進行付款等等。總之,建立一個第三方機構(gòu)來解決信任問題,無論在業(yè)務(wù)上、技術(shù)上復雜度都很高。
  • 區(qū)塊鏈技術(shù)是通過數(shù)據(jù)共享降低信任成本的

    如果有一個分布式的記賬簿:

  • 參與方在記賬之后有相當多的副本存在,不再是一家之言;
  • 保證提交的交易一定被記錄下來;
  • 保證記賬不可逆,無法篡改;
  • 參與方的交易記錄是相對透明的,可以通過這些記錄驗證新的交易。
  • 如果有機構(gòu)建立了這樣一個記賬簿,每個參與方在交易中都通過這個記賬簿進行交互,保證每一筆發(fā)生的交易一定被可靠的記錄下來并不可篡改,不就不必再反復確認,不必擔心技術(shù)問題導致的業(yè)務(wù)流程變更,不必做應(yīng)急系統(tǒng),這樣成本就低多了。

    通過分布式的記賬簿進行數(shù)據(jù)共享,從而降低信任成本,這就是區(qū)塊鏈技術(shù)的價值。

    聯(lián)盟鏈才是應(yīng)用區(qū)塊鏈技術(shù)優(yōu)先選擇的方向

    既然區(qū)塊鏈是一個分布式的記賬簿,那這個記賬簿由誰來建立呢?這是這一技術(shù)應(yīng)用的核心問題。

    目前建立記賬簿的方式有三種:

  • 公有鏈,象互聯(lián)網(wǎng)一樣,做為一種開放的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,向任何人公開,任何人自由加入
  • 私有鏈,一個組織內(nèi)部建立,可以幫助組織內(nèi)部完成審計等工作
  • 建立公有鏈難度高,業(yè)務(wù)場景不夠精準,分布式存儲帶來的性能低下問題阻礙了可用的應(yīng)用場景,而私有鏈脫離了區(qū)塊鏈的商業(yè)價值,只是把區(qū)塊鏈做為一個技術(shù)組件使用。在目前的應(yīng)用場景中,絕大多數(shù)都可以用聯(lián)盟鏈解決,商業(yè)上相對容易成立,性能遠遠高于公有鏈。

    從上述描述就可以理解到,公有鏈太理想,私有鏈所處理的問題,傳統(tǒng)架構(gòu)完全能解決,而針對特定業(yè)務(wù)由企業(yè)聯(lián)盟建立的聯(lián)盟鏈,應(yīng)用方向更清晰,業(yè)務(wù)價值也更加明確,下圖是一個聯(lián)盟鏈的示例:

    從應(yīng)用的角度看,區(qū)塊鏈技術(shù)提供的是一個分布式數(shù)據(jù)庫。區(qū)塊鏈技術(shù)的數(shù)據(jù)共享方式要滿足:(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,上述特性總結(jié)下來,采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)如上圖所示,可以看出,區(qū)塊鏈技術(shù)對應(yīng)用而言,就是一個分布式數(shù)據(jù)庫。

    區(qū)塊鏈技術(shù)的本質(zhì)是分布式數(shù)據(jù)庫

    區(qū)塊鏈基于密碼學中的橢圓曲線數(shù)字簽名算法(ECDSA)來實現(xiàn)去中心化的P2P系統(tǒng)設(shè)計。當人們在談?wù)摶蚴褂谩皡^(qū)塊鏈”這個詞時,有時候是指數(shù)據(jù)結(jié)構(gòu),有時候是指數(shù)據(jù)庫,有時則是指數(shù)據(jù)庫技術(shù)。

    和區(qū)塊鏈技術(shù)比,分布式數(shù)據(jù)庫的概念顯然更容易被理解,我就從分布式數(shù)據(jù)庫的一些基本概念出來,理解區(qū)塊鏈的技術(shù)實現(xiàn),這些概念包括數(shù)據(jù)存儲、點對點可靠傳輸、存儲過程與觸發(fā)器(智能合約)、數(shù)據(jù)安全。

    區(qū)塊鏈技術(shù)的數(shù)據(jù)共享是一個分布式的記賬簿,交易記錄具備多個副本,因此首先要解決分布式數(shù)據(jù)存儲的問題。

    1、區(qū)塊鏈存儲的基本單元是區(qū)塊,區(qū)塊采用鏈式結(jié)構(gòu),即新增的區(qū)塊(類似數(shù)據(jù)庫一行記錄)都知道自己前一個區(qū)塊(前一行記錄)是什么,可以一直追溯到根,區(qū)塊的標識是區(qū)塊的哈希值,同時鏈式結(jié)構(gòu)保留了業(yè)務(wù)產(chǎn)生的軌跡,可以在新增交易的時候根據(jù)前面的記錄做校驗,保證了區(qū)塊的內(nèi)容不容易篡改。

    這種模式,我們在傳統(tǒng)的數(shù)據(jù)庫設(shè)計也會采用,例如下圖拉鏈表的形式,每次對數(shù)據(jù)的更新都采用追加( Insert而不是Update)模式,有起始時間、失效時間和是否生效標識,保持全部交易歷史。

    區(qū)塊鏈把這一點變成了一種底層固有模式,加入了哈希、時間戳等機制在技術(shù)上保證鏈條的正確性,因此非常有價值。

    2、既然是分布式、多中心的存儲方式,就必須解決存儲時的分布式一致性問題。在區(qū)塊鏈的前身比特幣應(yīng)用中,解決這一問題的方式是工作量證明(POW Proof-Of-Work)方式,即通過工作以獲得指定成果,用成果來證明曾經(jīng)付出的努力。

    這也是接觸區(qū)塊鏈技術(shù)時第一個比較迷惑的地方,我為啥一定要用工作量來證明,是不是還有其他方式?區(qū)塊鏈技術(shù)從比特幣中獨立出來后,大家把這一問題歸結(jié)為共識問題,工作量證明是達成共識的一種方式,這樣就清晰多了。于是就產(chǎn)生了權(quán)益證明(POS Proof of Stake)方式,是一種通過業(yè)務(wù)規(guī)則達成共識的方式;實用拜占庭容錯(PBFT Practical Byzantine Fault Tolerance)方式,是一種通過技術(shù)規(guī)則達成共識的機制。在公有鏈上,工作量證明(POW)還是一種最主要的共識方式,不容易取代,但在聯(lián)盟鏈上,完全可以根據(jù)自己的情況,創(chuàng)造出新的共識方式出來。我們就根據(jù)這一想法,在特定業(yè)務(wù)中創(chuàng)造過共識算法,解決分布式數(shù)據(jù)存儲的一致性問題。

    點對點可靠傳輸:可靠消息與P2P

    區(qū)塊鏈技術(shù)是一組技術(shù)的組合,既然是一個分布式的記賬簿,就要解決數(shù)據(jù)可靠傳輸問題。包括記賬節(jié)點(信任節(jié)點)之間、非記賬節(jié)點(非信任節(jié)點)、客戶端與記賬節(jié)點(信任節(jié)點)之間的數(shù)據(jù)傳輸。在以前我們的方案中,往往通過可靠消息或者P2P方式解決數(shù)據(jù)傳輸問題,這些技術(shù)也被用于區(qū)塊鏈技術(shù)中。但必須說明的是,在真實業(yè)務(wù)場景下,不可能把所有的數(shù)據(jù)都記錄在記賬簿中,部分業(yè)務(wù)數(shù)據(jù)還是要保存在自己的系統(tǒng)中,這就還需要在技術(shù)框架上做到本地業(yè)務(wù)數(shù)據(jù)與區(qū)塊鏈的記賬簿保持一致,后文會具體闡述,總之,區(qū)塊鏈平臺只能保證自身數(shù)據(jù)之間的一致,業(yè)務(wù)不能完全依賴區(qū)塊鏈平臺保證數(shù)據(jù)一致性。

    智能合約:觸發(fā)器與存儲過程

    智能合約是指當一定條件滿足的情況下,可以被自動執(zhí)行的數(shù)字化合約。實現(xiàn)這一特性,在數(shù)據(jù)庫中就是由觸發(fā)器和存儲過程完成的。雖然在目前流行的應(yīng)用架構(gòu)中,都不建議把邏輯寫在存儲過程中,但觸發(fā)器和存儲過程還是常用的工具,尤其在數(shù)據(jù)遷移相關(guān)的運維活動中。區(qū)塊鏈技術(shù)中智能合約就是觸發(fā)器和存儲過程,他是一個在沙箱中運行的腳本,用于執(zhí)行區(qū)塊鏈業(yè)務(wù)中的業(yè)務(wù)邏輯,也可以用于各種檢查。舉個例子,A產(chǎn)生一筆支付時,可以通過智能合約在數(shù)據(jù)鏈上進行檢查,如果發(fā)現(xiàn)A的余額無法支付這筆交易,就可以中止這筆交易。和存儲過程相比,智能合約運行在沙箱之中,不能對外部 API 做調(diào)用。這也比較好理解,如果允許外部調(diào)用,就可能無法保證自身的數(shù)據(jù)一致性,后面我們會講到這種缺陷如何彌補。美中不足的是目前的智能合約并不支持 SQL 語法。

    數(shù)據(jù)安全:用業(yè)務(wù)手段達成妥協(xié)

    交易數(shù)據(jù)是透明的,但不是全部透明,而是相對透明,這是區(qū)塊鏈技術(shù)的一個難點,關(guān)鍵有二:(1)如何保護隱私,僅僅能看到自己可見的數(shù)據(jù);(2)密鑰分配問題,例如新加入鏈中的一個節(jié)點會被分配一個新的密鑰,如何用這個密鑰解讀以前鏈中存儲的信息??梢娕c不可見,這是一個矛盾,理論上沒有一個完美的方案,這里我不對區(qū)塊鏈技術(shù)如何加密、如何做密鑰管理、如何同態(tài)加密等方式做解讀,而是講講如何通過業(yè)務(wù)方法而不是技術(shù)手段規(guī)避這一問題。舉個例子,在一個小企業(yè)支付的聯(lián)盟鏈中,核心企業(yè)包括某銀行、企業(yè)A,為A的上下游企業(yè)提供信貸業(yè)務(wù),對于所有交易的數(shù)據(jù),銀行和核心企業(yè)A都是可見的,他們擁有記賬節(jié)點,對于其他加盟企業(yè),只擁有非記賬節(jié)點,他們雖然也有全部的數(shù)據(jù),但是只能看到自己相關(guān)的數(shù)據(jù)。很明顯,加盟企業(yè)放棄了自己的部分隱私權(quán),但也得到了生意的機會,這種方式加盟企業(yè)是可以接受的,就好比貸款企業(yè)要向銀行提供經(jīng)營數(shù)據(jù)一樣。數(shù)據(jù)安全問題,在技術(shù)上很難解決,但通過業(yè)務(wù)手段是可以規(guī)避的,這也是我們看好聯(lián)盟鏈的重要原因。

    為分布式應(yīng)用而生的微服務(wù),與區(qū)塊鏈技術(shù)是天生一對

    最后說說區(qū)塊鏈技術(shù)與微服務(wù)架構(gòu)的關(guān)系。大家知道,微服務(wù)架構(gòu)是一個分布式的應(yīng)用技術(shù)架構(gòu),目的是有效的對應(yīng)用進行拆分,實現(xiàn)敏捷開發(fā)、快速演化、便捷容錯與彈性伸縮。

    微服務(wù)的一個核心概念是API網(wǎng)關(guān),由于服務(wù)的顆粒變細,網(wǎng)關(guān)承擔著安全與訪問認證等諸多職能。而在現(xiàn)有的大多數(shù)微服務(wù)架構(gòu)中,大家都更多的在談接入網(wǎng)關(guān)的概念,實際上按照信息的流向,除接入網(wǎng)關(guān)外,微服務(wù)還應(yīng)該有接出網(wǎng)關(guān)的概念。

    前面說到,區(qū)塊鏈技術(shù)本質(zhì)上就是分布式數(shù)據(jù)庫,微服務(wù)架構(gòu)與區(qū)塊鏈技術(shù)的結(jié)合,并不能簡單的看成是微服務(wù)與數(shù)據(jù)庫的結(jié)合,而應(yīng)該把區(qū)塊鏈平臺做為一個第三方應(yīng)用進行交互,這也是微服務(wù)架構(gòu)很好發(fā)揮作用的地方。上圖中紅圈所示的就是微服務(wù)與區(qū)塊鏈平臺進行交互的方式。而微服務(wù)的接出網(wǎng)關(guān),就應(yīng)該起到區(qū)塊鏈網(wǎng)關(guān)的作用。

    雖然目前的區(qū)塊鏈平臺一般都有SDK和REST服務(wù)兩種方式,按照上述的原則,一般不要使用 SDK,而是遠程調(diào)用方式,采用微服務(wù)的設(shè)計原則,使用區(qū)塊鏈網(wǎng)關(guān),把微服務(wù)與區(qū)塊鏈平臺集成的功能集中到網(wǎng)關(guān)中,見下圖:

    微服務(wù)通過區(qū)塊鏈網(wǎng)關(guān)與區(qū)塊鏈平臺交互,區(qū)塊鏈網(wǎng)關(guān)主要功能包括通訊網(wǎng)關(guān)、事件監(jiān)聽,同時配合微服務(wù)應(yīng)用框架,完成數(shù)據(jù)一致性、對賬功能。與區(qū)塊鏈網(wǎng)關(guān)集成的能力,是微服務(wù)架構(gòu)天生具備的。所以我們說微服務(wù)與區(qū)塊鏈,天生是一對。

    通訊網(wǎng)關(guān):處理微服務(wù)發(fā)起的對區(qū)塊鏈平臺的調(diào)用

    由于區(qū)塊鏈平臺的服務(wù)能力(每秒交易數(shù) TPS)有限,為保證區(qū)塊鏈平臺的可用性,區(qū)塊鏈網(wǎng)關(guān)采用了異步處理模式,實現(xiàn)限流、隔離、服務(wù)升降級等能力。

    網(wǎng)關(guān)在微服務(wù)應(yīng)用與區(qū)塊鏈平臺之間建立了隔離,避免平臺與微服務(wù)之間互相影響,這是一種 MiddleBox 的集成方式,用一個獨立的基礎(chǔ)設(shè)施做集成。微服務(wù)之間的集成往往采用 MiddlePipe 的模式,但是區(qū)塊鏈平臺做為一個第三方應(yīng)用,采用 MiddleBox 方式比較好,統(tǒng)一管理與運維比較方便。

    由于區(qū)塊鏈平臺提供的接口各有不同,區(qū)塊鏈網(wǎng)關(guān)在接受請求后記錄交易流水,把區(qū)塊鏈平臺提供的服務(wù)模擬為冪等服務(wù),調(diào)用者可以多次調(diào)用區(qū)塊鏈網(wǎng)關(guān),而區(qū)塊鏈網(wǎng)關(guān)僅僅調(diào)用區(qū)塊鏈平臺一次。為方便運維,我們可以為區(qū)塊鏈平臺提供的服務(wù)定義SLA,根據(jù)這些定義靈活的進行調(diào)用的控制。

    區(qū)塊鏈網(wǎng)關(guān)的內(nèi)部實現(xiàn)是一個 SEDA 架構(gòu)(分階段事件驅(qū)動架構(gòu)),把接入、接出和處理分開(處理主要是記錄流水、報文打解包、安全效驗等功能),三階段之間用隊列連接,采用異步模擬同步的方式,這是一個用于集成的基礎(chǔ)架構(gòu)。

    接入、處理、接出三個階段可處理資源是可以調(diào)配的,資源主要包括處理線程和接入接出的連接,根據(jù)不同業(yè)務(wù)可以有不同的資源為之服務(wù),這樣升降級、限流等特性就比較容易實現(xiàn)。

    為了方便運維,需要對業(yè)務(wù)有分組的能力,可以根據(jù)分組進行批量的運維管理。

    事件監(jiān)聽:Hook與輪詢模式

    如果記賬簿發(fā)生了改變,如何通知微服務(wù)呢,這就是區(qū)塊鏈網(wǎng)關(guān)中事件監(jiān)聽發(fā)揮的作用。目前很多區(qū)塊鏈平臺并沒有提供事件接口,即使未來有也很難統(tǒng)一,前面也說過,智能合約運行在沙箱中,為保證數(shù)據(jù)一致性不可能支持對外部服務(wù)的調(diào)用,也不能做為事件監(jiān)聽的回調(diào),這樣就需要在區(qū)塊鏈網(wǎng)關(guān)中進行處理。

    微服務(wù)可以注冊對某一類交易進行監(jiān)聽,區(qū)塊鏈網(wǎng)關(guān)定時通過區(qū)塊鏈平臺的查詢接口檢索,發(fā)現(xiàn)數(shù)據(jù)變更時通知微服務(wù)。這是一個效率不高的方法,但區(qū)塊鏈平臺本身性能也不高,時延主要由共識機制造成,輪詢的做法并不會有太大影響,這也是期待區(qū)塊鏈平臺本身提升的地方。

    數(shù)據(jù)一致性:可靠事件模式是首選

    不能把所有數(shù)據(jù)都存儲在區(qū)塊鏈平臺中,而是將交易數(shù)據(jù)存儲在區(qū)塊鏈平臺,這樣就有了本地數(shù)據(jù)庫的數(shù)據(jù)與區(qū)塊鏈交易數(shù)據(jù)的一致性問題。

    一般來說,我們不能依賴區(qū)塊鏈平臺支持事務(wù)的回滾,因為這個分布式的記賬簿一旦記賬就是不可更改的,我們甚至不能指望區(qū)塊鏈平臺實時給應(yīng)用反饋記賬是否成功,因為有可能返回超時錯誤,不清楚是否記賬成功。于是,區(qū)塊鏈網(wǎng)關(guān)需要和微服務(wù)配合保證數(shù)據(jù)的一致性。

    一般情況下微服務(wù)中的業(yè)務(wù)處理采用異步模式,發(fā)出記賬申請后處于等待狀態(tài),區(qū)塊鏈網(wǎng)關(guān)將記賬申請轉(zhuǎn)發(fā)給區(qū)塊鏈平臺。如果區(qū)塊鏈平臺返回接受Accept或者拒絕Reject,將結(jié)果通知微服務(wù);如果區(qū)塊鏈平臺返回超時或者不可確定錯誤,即開始定時輪詢,得到結(jié)果后通知微服務(wù)。同時,微服務(wù)本身需要具備事務(wù)補償?shù)哪J?#xff0c;如果記賬失敗進行反交易處理。這種數(shù)據(jù)一致性處理的方式,是微服務(wù)多種處理方式中的一種,我們一般使用服務(wù)編排的方式降低這種模式的開發(fā)復雜度。

    下面是一個示例:

    這是一個可靠事件與區(qū)塊鏈交互的流程:

    1)應(yīng)用框架接到請求后首先記錄業(yè)務(wù)流水,然后執(zhí)行業(yè)務(wù)邏輯,記錄業(yè)務(wù)數(shù)據(jù),最后在事件表中留下對區(qū)塊鏈平臺調(diào)用的記錄,事務(wù)完成?
    2)事件處理輪詢事件記錄,有更新時通過區(qū)塊鏈網(wǎng)關(guān)調(diào)用區(qū)塊鏈平臺,如果調(diào)用成功,改變事件狀態(tài),如果失敗就要調(diào)用業(yè)務(wù)補償?shù)臋C制了。

    對賬

    既然數(shù)據(jù)有本地存放,也有區(qū)塊鏈平臺存放,就有不一致的可能,就必須對賬。傳統(tǒng)對賬有以我為主、以他為主兩種模式。這里就只能以他為主,以區(qū)塊鏈平臺為主了。由于區(qū)塊鏈技術(shù)針對交易的特點對存儲結(jié)構(gòu)進行了要求,利用已有的時間戳、交易先后次序,可以是對賬變得更加容易。

    基本的對賬處理流程如下

  • 區(qū)塊鏈平臺和企業(yè)應(yīng)用的記錄必須有關(guān)聯(lián)的id(可以是多要素的組合)
  • 區(qū)塊鏈平臺和企業(yè)應(yīng)用都要保證生成的對賬文件明細記錄的連續(xù)性
  • 對于“隔日賬”需重復核對
  • 結(jié)語

    區(qū)塊鏈是一種新興的技術(shù),他的本質(zhì)是一種加入業(yè)務(wù)特性的分布式數(shù)據(jù)庫,通過對區(qū)塊鏈技術(shù)的研究,我們找到了業(yè)務(wù)與區(qū)塊鏈技術(shù)結(jié)合的方式,提出了微服務(wù)應(yīng)用架構(gòu)集成區(qū)塊鏈的技術(shù)模式。

    1、區(qū)塊鏈的業(yè)務(wù)價值是通過數(shù)據(jù)共享降低信任成本。

    區(qū)塊鏈建立了一個記賬簿,每個參與方在交易中都通過這個記賬簿進行交互,保證每一筆發(fā)生的交易一定被可靠的記錄下來并不可篡改,不必再反復確認,不必擔心技術(shù)問題導致的業(yè)務(wù)流程變更,不必做應(yīng)急系統(tǒng),從而降低了信任成本。

    2、區(qū)塊鏈技術(shù)的本質(zhì)是分布式數(shù)據(jù)庫。

    區(qū)塊鏈技術(shù)的數(shù)據(jù)共享方式要滿足(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,總結(jié)下來,區(qū)塊鏈技術(shù)對應(yīng)用而言,就是一個分布式數(shù)據(jù)庫,分別對應(yīng)分布式數(shù)據(jù)庫的(1)分布式存儲、(2)點對點可靠傳輸、(3)存儲過程與(4)數(shù)據(jù)安全幾個方面。

    3、為分布式應(yīng)用而生的微服務(wù),與區(qū)塊鏈技術(shù)是天生的一對。

    微服務(wù)通過區(qū)塊鏈網(wǎng)關(guān)與區(qū)塊鏈平臺交互,區(qū)塊鏈網(wǎng)關(guān)主要功能包括通訊網(wǎng)關(guān)、事件監(jiān)聽,同時配合微服務(wù)應(yīng)用框架,完成數(shù)據(jù)一致性、對賬功能。與區(qū)塊鏈網(wǎng)關(guān)集成的能力,是微服務(wù)架構(gòu)天生具備的。

    以上是對我們研究成果一個簡要介紹,后續(xù)我們還會對使用區(qū)塊鏈技術(shù)的細節(jié)進行分析,與大家共同探討。

    附記:理解區(qū)塊鏈技術(shù)常見的幾個困惑

    從剛剛接觸區(qū)塊鏈技術(shù)的一頭霧水,到概念的逐步清晰,再到區(qū)塊鏈應(yīng)用的研發(fā),經(jīng)歷很多困惑,這里列出幾個常見的困惑:

    困惑1:比特幣是區(qū)塊鏈技術(shù)的一個應(yīng)用,不能把比特幣應(yīng)用的所有內(nèi)容都歸結(jié)為區(qū)塊鏈技術(shù)

    上文提到,區(qū)塊鏈技術(shù)從比特幣中獨立出來是 2014 年左右的事情,此前每每舉出區(qū)塊鏈的案例都是比特幣,給區(qū)塊鏈技術(shù)的應(yīng)用造成了很多誤解。我建議先了解區(qū)塊鏈技術(shù),再了解比特幣,先理解聯(lián)盟鏈的業(yè)務(wù)場景,再了解公有鏈的業(yè)務(wù)場景,公有鏈看作是聯(lián)盟鏈的一種大規(guī)模延展,,可以少走一些彎路。

    困惑2:公有鏈情況下數(shù)據(jù)存儲性能不高,但聯(lián)盟鏈的性能可以遠高于公有鏈,能滿足多數(shù)場景的要求

    數(shù)據(jù)一致性問題是分布式存儲最大的問題,而并發(fā)越高,沖突的概率就越大。區(qū)塊鏈技術(shù)之所以能支持的每秒交易數(shù)(TPS)不高,主要是共識機制比較復雜,或者說共識機制就是刻意為了降低并發(fā)性,減少數(shù)據(jù)沖突的概率。在公有鏈上,這是一個無法逾越的問題,只能從事實時性要求不敏感的業(yè)務(wù)。但是,在聯(lián)盟鏈中,由于鏈中的參與方并不多,也不需要每個節(jié)點都記賬,就可以使用一些性能更高的共識機制,例如前面說的PBFT。我們曾經(jīng)嘗試過一種全對等的算法,可以支持更高的性能。

    困惑3:應(yīng)用區(qū)塊鏈技術(shù)不一定必須有礦工來挖礦

    初次接觸區(qū)塊鏈技術(shù),礦工/挖礦這個概念讓人非常費解:(1)為什么一定要挖礦?(2)為什么要給記賬成功的節(jié)點獎勵比特幣來鼓勵記賬?(3)非比特幣的業(yè)務(wù)中如何鼓勵記賬?這個困惑歸根結(jié)底還是把區(qū)塊鏈和比特幣混淆造成的。前面說過,挖礦是通過工作量證明(POW)達成共識的機制,挖礦能力愈強就取得了記錄權(quán)。更重要的是比特幣的貨幣屬性,發(fā)行貨幣要么靠國家信用(例如紙幣),要么靠奇缺資源(例如黃金),比特幣為了防止濫發(fā),就需要用算力做為一種奇缺資源。這樣說來,比特幣實際上把共識算法、貨幣屬性、鼓勵記賬這幾件事都用挖礦來解決了,思路確實精妙。但是,在業(yè)務(wù)規(guī)則不同的聯(lián)盟鏈中就不一樣了,除了有其他更高效的共識算法外,不需要奇缺資源,不需要專門對記賬做鼓勵,因為必須記賬已經(jīng)是核心企業(yè)之間的契約,可以通過技術(shù)手段保證數(shù)據(jù)的同步,支持審計等能力,自然就不需要挖礦了。

    困惑4:目前應(yīng)用區(qū)塊鏈技術(shù)不是去中心,而是多中心

    去中心是一個理想,經(jīng)常有人問(1)為什么要去中心?去中心有什么好處?(2)真的能去中心嗎?后來,我深入研究聯(lián)盟鏈的場景時發(fā)現(xiàn),實際的業(yè)務(wù)場景大多是多中心(這又是比特幣惹的禍,他真的想去中心),例如上述的企業(yè)聯(lián)盟方式,幾個建立聯(lián)盟的核心企業(yè)就是多中心,他們共同成為一個新的中心。傳統(tǒng)方式建立新的中心,往往通過建立清算機構(gòu)的方式,而區(qū)塊鏈技術(shù)讓建立中心的成本降低了。

    困惑5:不是所有的區(qū)塊鏈節(jié)點都是記賬節(jié)點,很多節(jié)點僅僅用來進行數(shù)據(jù)同步而已

    多中心就意味著不是每個節(jié)點都需要記賬,記賬的工作由幾個中心節(jié)點負責就可以了,其他節(jié)點與記賬節(jié)點間是數(shù)據(jù)同步的關(guān)系,也就是非記賬節(jié)點上也有全部數(shù)據(jù)。聯(lián)盟鏈中非記賬節(jié)點一般處在加盟企業(yè),由于數(shù)據(jù)可見性的要求,非記賬節(jié)點中的數(shù)據(jù)并不是都可見的,但是這一副本可以做為一種法律依據(jù),提高了篡改數(shù)據(jù)的成本。

    從數(shù)據(jù)的角度來看,區(qū)塊鏈本質(zhì)是一種分布式數(shù)據(jù)庫,這里的“分布式”是指區(qū)塊鏈技術(shù)利用鏈式存儲結(jié)構(gòu)不僅解決了分布式數(shù)據(jù)存儲問題,也解決了存儲時的分布式一致性問題。區(qū)塊鏈技術(shù)利用分布式記賬簿保證數(shù)據(jù)可靠傳輸和訪問,利用可自動執(zhí)行的智能合約來編程和操作數(shù)據(jù)。所以,我認為,基于分布式數(shù)據(jù)庫來理解區(qū)塊鏈,認清區(qū)塊鏈技術(shù)常見的一些困惑和誤區(qū),可以讓大家對區(qū)塊鏈有個比較正確的理解方式。

    總結(jié)

    以上是生活随笔為你收集整理的当微服务撞上区块链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    99热在线这里只有精品 | 夜色资源网 | 91视频这里只有精品 | 中文字幕观看在线 | 最新色站 | 在线观看国产91 | 色综合久久久久网 | av一二三区 | 亚洲午夜精品福利 | 激情综合网五月婷婷 | 亚洲午夜久久久久久久久久久 | 樱空桃av| 香蕉视频色 | 久久精品99国产精品亚洲最刺激 | 亚洲一区二区麻豆 | 国产成人一二三 | 国产一级视屏 | 91精品在线观看视频 | 国产成人高清 | 99久久www| 在线观看成人小视频 | 日韩精品中文字幕久久臀 | 欧美午夜精品久久久久久浪潮 | 男女免费av | 成人av一区二区在线观看 | 爱射综合 | 91在线视频精品 | 亚洲国产精品99久久久久久久久 | 91 在线视频 | 免费热情视频 | 国产69熟 | 天堂网一区二区三区 | 99热这里只有精品1 av中文字幕日韩 | 色综合天天天天做夜夜夜夜做 | 免费观看成人网 | 91丨九色丨丝袜 | 国产不卡一区二区视频 | 91av短视频| 日韩激情中文字幕 | 亚洲国产成人在线 | 91超碰在线播放 | 国产视频精品网 | 日韩欧美精品在线观看视频 | 欧美精品久久人人躁人人爽 | 精品国产91亚洲一区二区三区www | 精品久久久久久亚洲综合网站 | 成人午夜剧场在线观看 | av免费观看在线 | 欧美成人手机版 | 999久久国精品免费观看网站 | 亚洲免费观看视频 | 在线观看av的网站 | 国产麻豆电影在线观看 | 色综合天天干 | 成人午夜免费剧场 | 欧美a影视| 亚洲女人av | 久久久久麻豆v国产 | 国产不卡精品 | 色婷久久 | 国产精品久久久久久五月尺 | 91综合久久一区二区 | 欧美日韩中文在线观看 | 国产不卡一二三区 | 黄污视频大全 | 日韩久久精品一区二区 | 天天干天天玩天天操 | 中文字幕乱码日本亚洲一区二区 | 成人av中文字幕在线观看 | 国产馆在线播放 | 日精品在线观看 | 成人网444ppp| 欧美在线18 | 欧美日韩a视频 | a黄色影院| 久久伦理电影 | 激情久久久久 | 免费在线色 | 国产区在线 | 久久在线看 | 人人爽人人澡人人添人人人人 | 黄色三级在线观看 | 久久黄色影视 | 久久婷婷激情 | 国产精品视频久久久 | 国产一二区视频 | 久久这里只有精品9 | 欧美日韩精品在线免费观看 | 国产成人黄色 | 成人a级免费视频 | 粉嫩高清一区二区三区 | 97超碰在 | 亚洲电影第一页av | 日韩精品一卡 | 日韩欧美一区二区三区在线观看 | 免费亚洲黄色 | av日韩精品 | 成人91av| 狠狠色丁香婷婷综合最新地址 | 亚洲免费观看视频 | 精品久久国产精品 | 99久久99久久综合 | www..com黄色片| 精品国产一区二区在线 | 中文字幕在线观看网 | 国产成人久久av | 欧美aaa一级 | 精品一区二区免费视频 | 高清av免费一区中文字幕 | 国产在线欧美 | 亚洲精品资源在线观看 | 自拍超碰在线 | 中国一级片视频 | 少妇18xxxx性xxxx片 | 福利一区在线视频 | 免费av网址在线观看 | 九九久久婷婷 | 国产成人免费精品 | 国产精品美女久久久免费 | 国产精品免费久久久久久 | 国产精品一区在线观看你懂的 | 午夜丰满寂寞少妇精品 | av在线免费在线观看 | 尤物一区二区三区 | 亚洲国产mv | 开心丁香婷婷深爱五月 | 婷婷色网视频在线播放 | 色无五月| 免费福利片2019潦草影视午夜 | 最新日韩精品 | 中文字幕亚洲字幕 | 久久xxxx| 伊人影院99| 精品一区二区在线免费观看 | 精品久久久久国产免费第一页 | 久久久久黄 | 欧美日韩视频免费看 | 天天操狠狠操 | 91热这里只有精品 | 国产在线97 | 成年人三级网站 | 免费观看黄 | 国产电影一区二区三区四区 | 超碰在线日韩 | 成年人免费在线观看网站 | 亚洲国产成人在线 | 丁香电影小说免费视频观看 | 亚洲精品视频久久 | 亚洲高清视频一区二区三区 | 国产一区二区在线观看视频 | 一区二区三区电影在线播 | 亚洲精品五月天 | 色综合天天天天做夜夜夜夜做 | 91麻豆网 | 色综合久久天天 | 一区二区三区免费 | 日韩电影在线看 | 亚洲免费精彩视频 | 国产艹b视频 | 中文字幕永久免费 | 一区二区三区四区精品视频 | 在线观看的av | 黄色国产大片 | 国产亚洲在线 | 二区三区精品 | 最近中文字幕mv | 西西www4444大胆在线 | 婷婷性综合 | 中文字幕在线日亚洲9 | 国内精品久久久久久久久久 | 丁香色综合 | 欧美激情视频一区 | av免费观看高清 | 日韩网站中文字幕 | 91视频麻豆视频 | 国产精品免费观看视频 | 特片网久久 | 最近免费中文字幕mv在线视频3 | 亚洲精品天天 | 日本在线观看一区二区三区 | 久久免费公开视频 | 182午夜在线观看 | 国产成人免费精品 | 日韩欧美国产视频 | 91精品久久久久久久久久入口 | 国产伦精品一区二区三区高清 | 日本三级国产 | av中文天堂 | 久久综合狠狠综合 | 久久er99热精品一区二区 | 91在线中文 | 91av电影在线 | 我要看黄色一级片 | 国产天天爽 | 最新成人在线 | 欧美日韩伦理在线 | 免费视频久久久久 | 久久成人午夜视频 | 亚洲九九九在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 午夜精品久久久久久久99水蜜桃 | 国内久久看 | 国产在线理论片 | 狠狠操狠狠干2017 | 日韩三级.com | 国产91九色蝌蚪 | 中文字幕在线播放日韩 | 久久不射电影院 | 国产精品免费人成网站 | 麻豆视频成人 | 夜色.com| 天天摸夜夜添 | 91精品黄色| 国产一区二区免费 | 日韩成人在线免费观看 | 精品免费国产一区二区三区四区 | 国产亚洲婷婷免费 | 免费视频三区 | 91麻豆.com| av在观看 | 97在线精品视频 | 国产高清不卡 | 国产视 | 亚洲自拍自偷 | 国内精品久久久久久久久 | 日批视频国产 | 国产黄色看片 | 久热免费在线观看 | 午夜免费福利视频 | av观看免费在线 | 国产一线二线三线性视频 | 免费在线黄色av | 最近中文字幕免费观看 | 免费看在线看www777 | 久久99国产精品 | 少妇性色午夜淫片aaaze | 狠狠色丁香婷婷综合视频 | 久久超碰99| 91亚洲网| 久精品视频在线 | 亚洲丝袜一区二区 | 亚洲综合在线视频 | 国产91大片 | 黄色录像av | 久久亚洲在线 | 免费a级观看 | 69av免费视频 | 久久爱资源网 | 亚洲人成网站精品片在线观看 | 毛片网在线播放 | 久久色在线播放 | 久久一区二区三区超碰国产精品 | 久草精品视频在线观看 | 亚洲欧美日韩在线看 | www五月天com | 国产精品久久久久久久久久尿 | 国产在线91在线电影 | 综合色站导航 | 日韩三级视频在线看 | 亚洲精品国产成人av在线 | 久久综合久久综合这里只有精品 | 日韩精品在线看 | 国产一级片观看 | 日本黄色免费网站 | 黄色影院在线免费观看 | 天天射一射 | 国产一区二区三区四区大秀 | 久久99热这里只有精品国产 | 伊人狠狠| 亚洲无吗av| 国产专区第一页 | 天天色天天色天天色 | 亚洲国产人午在线一二区 | 一区二区日韩av | 色偷偷88888欧美精品久久 | 久久久久久久久久网站 | 99精品国产aⅴ | 超碰在线观看av | 中文字幕一区二区三区四区 | free. 性欧美.com | av在线等 | 69热国产视频 | 国产在线资源 | 国产精品一区二区在线播放 | 在线国产高清 | 久久97超碰 | 久久这里有 | 国产精品自产拍在线观看桃花 | 日韩va在线观看 | 国产粉嫩在线 | 亚洲精品在线免费 | 99精品视频在线免费观看 | 久草精品资源 | 99久久精品国产亚洲 | 国产在线看 | 操操碰 | 黄色官网在线观看 | 国产精品美女久久久久久2018 | 干干日日 | 伊人婷婷激情 | 天天色综合1 | 一区二区三区三区在线 | 玖玖在线免费视频 | 麻豆传媒精品 | 国产一级精品在线观看 | 色综合天天综合网国产成人网 | 精品国产日本 | 天天操夜夜操天天射 | 精品二区视频 | 欧美另类性 | 天天草天天草 | 欧美在线观看视频一区二区三区 | 久久久精品免费观看 | 国产精品乱码久久久久久1区2区 | 91免费观看国产 | 亚洲国产资源 | 国产黄在线观看 | 日本少妇久久久 | 亚洲狠狠干 | 亚洲精品视频大全 | 国产美女视频网站 | 日韩一三区 | 国产视频黄 | 亚洲日韩精品欧美一区二区 | 成人一级在线 | 麻豆91在线观看 | 亚洲国产日韩av | 免费精品在线观看 | 久久99深爱久久99精品 | 久久av在线 | 日韩精品一区二区三区水蜜桃 | 国产91精品一区二区麻豆网站 | 久久99精品久久久久蜜臀 | 免费观看全黄做爰大片国产 | 日本在线视频网址 | 天天摸日日操 | 亚洲精品久久久久久久不卡四虎 | 在线视频欧美日韩 | 亚洲精品www | 欧美电影在线观看 | 国产高h视频 | 日本黄色免费电影网站 | 久久专区 | 日本性生活免费看 | 99精品视频观看 | 国产精品久久一卡二卡 | 91色国产| 天天操天天摸天天爽 | 人人插人人看 | 亚洲视频精选 | 成年人免费看的视频 | 国产色拍拍拍拍在线精品 | 欧美一级黄大片 | 在线播放日韩 | 久久亚洲在线 | 24小时日本在线www免费的 | 91桃色免费视频 | 麻豆视频成人 | 国产高清视频色在线www | 97精品国产97久久久久久粉红 | 欧美黄色免费 | 亚洲精品免费在线 | 精品99视频 | 9i看片成人免费看片 | 国产中文在线播放 | 日韩av一区二区三区四区 | 特级a毛片| 日本久久片 | 午夜视频99 | 国产精品久久久久久婷婷天堂 | 久久免费视频播放 | 综合久久2023 | 亚洲精品国产片 | 97在线观看视频 | 日韩精品一区在线观看 | 亚洲精品综合一区二区 | 青青草在久久免费久久免费 | 免费久草视频 | 天天透天天插 | 亚洲精品日韩在线观看 | 天天操天天弄 | 欧美特一级 | 91精品国产99久久久久 | 99久久精品国产一区二区三区 | 国产一区精品在线观看 | 亚洲精品国产精品乱码不99热 | 中文字幕有码在线观看 | 天天碰天天操视频 | 国内精品国产三级国产aⅴ久 | 国产精品第10页 | 人人爽人人爽av | 中文字幕在线不卡国产视频 | 911久久| 亚洲 欧美 国产 va在线影院 | 麻豆小视频在线观看 | 91精品国产麻豆国产自产影视 | 精品成人在线 | 蜜臀av免费一区二区三区 | 天天操天天射天天插 | 国产精品毛片久久久久久久 | 免费又黄又爽 | 精品一区欧美 | 国产涩涩在线观看 | 国产精品乱码久久久久 | 久久综合久久久久88 | 天天爱综合 | 亚洲国产免费网站 | 二区中文字幕 | 99视频免费 | 亚洲va韩国va欧美va精四季 | 超碰人人干人人 | 亚洲欧美在线视频免费 | 丁香婷婷社区 | 日韩一区二区免费视频 | 久久久久国产a免费观看rela | 日韩精品一区二区在线观看 | 国产精品久久久久久久久久久免费 | 精品一二三区 | 国产视频18 | 国产1区在线观看 | 成人久久18免费网站 | 一区二区三区韩国免费中文网站 | 亚洲乱码精品 | 久草免费资源 | 国产h片在线观看 | 一区二区三区四区精品 | 亚洲成人免费在线观看 | 亚洲精品在线视频 | 天天干人人干 | a视频在线 | 国产综合福利在线 | 九九免费精品视频 | 日本大尺码专区mv | 欧洲精品一区二区 | 日韩一区二区三区免费视频 | 色av网站 | 99精品视频在线免费观看 | 成年人app网址 | 97综合视频| 青草视频在线 | 日本资源中文字幕在线 | 亚洲婷久久 | 美女视频一区 | 色91在线| 亚洲综合婷婷 | 最近高清中文在线字幕在线观看 | 成年人视频在线免费播放 | 五月激情视频 | 四虎影视成人精品国库在线观看 | 成人小视频免费在线观看 | 免费在线91| 国产精品视频永久免费播放 | 麻豆视频成人 | 国产精品久久99综合免费观看尤物 | 日韩在线视频免费观看 | 欧美午夜剧场 | 欧美日韩一区二区免费在线观看 | 超碰97av在线| 伊人天堂网 | 日韩一级成人av | 91 中文字幕| 国产中文字幕视频 | 91精彩视频在线观看 | 色多多视频在线 | 狠狠色丁香婷婷综合最新地址 | 国产精品11 | 国产亚洲精品成人av久久ww | 国产亚洲视频系列 | 婷婷色综合网 | 久久久影院官网 | 操操碰 | 久久久久免费视频 | av品善网| 久久99热国产 | 日韩在线观看网站 | 日韩精品一区二区免费视频 | 午夜国产福利视频 | 国产精品三级视频 | 免费观看版 | 欧美激情第一页xxx 午夜性福利 | 美女网站在线 | 日本三级吹潮在线 | 在线观看视频你懂的 | 色天天综合网 | 免费在线观看黄 | 国产精品欧美久久久久天天影视 | 色.www| 少妇视频在线播放 | 免费亚洲精品 | 久久精品视频中文字幕 | 国产精品免费在线播放 | 伊人欧美| 亚洲传媒在线 | 国产精品va在线播放 | 久久精品国产亚洲 | 久草在线一免费新视频 | 国产美女黄网站免费 | www免费黄色 | 欧美激情h | 玖玖玖精品 | 男女视频国产 | 麻豆精品国产传媒 | 天天天在线综合网 | 亚洲第一中文网 | 蜜桃麻豆www久久囤产精品 | av在线免费观看不卡 | 一区二区三区四区免费视频 | 骄小bbw搡bbbb揉bbbb | 国产在线观看 | 狠狠综合久久 | 亚洲黄色在线免费观看 | 久久久久久久久久久影视 | 在线a视频免费观看 | 国产69熟 | 91精品国产一区二区在线观看 | 国产精品久久久久一区二区三区共 | 天天插天天射 | 在线观看91久久久久久 | 久久试看| 九热精品 | 亚洲美女免费精品视频在线观看 | 久久久久亚洲精品成人网小说 | 天天干天天射天天操 | 天天干,天天干 | 欧美一区二区精品在线 | 精品1区二区 | 国产正在播放 | 国产精品理论片 | 国产精品av免费 | 色网站在线免费观看 | 欧洲一区二区三区精品 | 99免费看片| 午夜性福利 | 亚洲永久在线 | 国产日本亚洲高清 | 久久夜色精品国产欧美一区麻豆 | 91视频电影 | 一区二区三区免费播放 | 日本黄色免费在线 | 美女黄色网在线播放 | 久草精品电影 | 能在线看的av | 在线免费观看视频一区 | a级成人毛片| 天天干人人插 | 欧美性受极品xxxx喷水 | 在线 影视 一区 | 久久国语露脸国产精品电影 | 在线观看国产v片 | 成人动漫精品一区二区 | 久久久久久电影 | 亚洲精品国产精品国自产观看 | 视频成人免费 | 99激情网| 正在播放亚洲精品 | 亚洲人成网站精品片在线观看 | 免费h漫在线观看 | 九九激情视频 | 男女激情片在线观看 | 国产成人一区二区在线观看 | 免费看黄网站在线 | 亚洲精品高清在线 | 日韩av福利在线 | 日韩久久午夜一级啪啪 | 91精品国产综合久久久久久久 | 久久男人视频 | 色偷偷88欧美精品久久久 | 永久免费看av | 精壮的侍卫呻吟h | 五月精品 | 日韩在线视频免费观看 | 亚洲日本国产精品 | 日本黄色一级电影 | avcom在线 | 91九色精品国产 | 色在线观看网站 | 成人av影视在线 | 久久久久久久久久久久久久av | 国产在线精品二区 | 92精品国产成人观看免费 | 中文永久免费观看 | 欧美性护士 | 在线观看国产成人av片 | www.888.av| 99久久99久久精品国产片 | 日韩理论片在线观看 | 中文一区二区三区在线观看 | 欧美日韩视频在线播放 | 国产精品视频全国免费观看 | 香蕉视频在线免费 | 久久99精品国产麻豆宅宅 | 中文字幕免费观看 | 久久综合久久综合九色 | 久久国产精品99久久人人澡 | 久久免费黄色大片 | 国产精品色 | 国产精品中文字幕在线 | 日韩特级黄色片 | 亚洲精品自在在线观看 | 天天综合网久久综合网 | 日本韩国精品在线 | 久久久精品亚洲 | 国产色综合 | 天天操天天干天天综合网 | 欧亚日韩精品一区二区在线 | 欧美日韩在线免费视频 | 天天操夜| 久久爽久久爽久久av东京爽 | 国产生活一级片 | 97人人艹| 免费观看视频黄 | 国产一区在线观看免费 | 91麻豆视频网站 | www.玖玖玖 | 天天天天天天干 | 欧美性黑人| 成年人三级网站 | 久久人操 | av亚洲产国偷v产偷v自拍小说 | 婷婷日| 国产一卡二卡在线 | 亚洲播播 | 国产国产人免费人成免费视频 | 伊人五月天婷婷 | 超碰在线最新网址 | 国产婷婷精品av在线 | 四虎永久视频 | 国产人成在线观看 | 国产成人精品国内自产拍免费看 | 天天操夜夜叫 | 5月丁香婷婷综合 | 国产精品美女毛片真酒店 | 六月丁香色婷婷 | 色综合a| 精品视频999 | 91免费国产在线观看 | 在线观看日韩免费视频 | 99久久夜色精品国产亚洲96 | 国产精品99久久久久久武松影视 | 少妇18xxxx性xxxx片| 4hu视频| 精品视频免费播放 | 美女黄濒 | 超碰官网 | 91网站在线视频 | av东方在线| 特级毛片爽www免费版 | 日韩av在线网站 | 亚洲精品视频国产 | 色婷av| 亚洲天堂网视频在线观看 | 亚洲视频久久久久 | 久久影视网 | 日韩肉感妇bbwbbwbbw | 日韩免费在线网站 | 亚洲全部视频 | 成 人 免费 黄 色 视频 | 国产精品九九热 | 在线观看国产区 | 亚洲视频久久久 | 日日草天天草 | 婷婷在线免费观看 | 中文字幕韩在线第一页 | 欧美日韩国产欧美 | 国产精品原创视频 | 日本精品在线视频 | 久久久久久久久久久久久久av | 成人性生交视频 | 夜夜视频 | 狠狠伊人 | 亚洲精品小视频 | 久久夜色精品国产欧美乱 | 黄色一区二区在线观看 | 精品成人久久 | 亚洲日韩中文字幕 | 国产精品乱码久久久久 | 国产99免费 | 久久久久99精品成人片三人毛片 | 欧美日韩一区三区 | 欧美日韩三级 | 九九免费在线观看视频 | 久久久黄色av | 国产精品美女久久久久久免费 | 免费观看9x视频网站在线观看 | 狠狠操夜夜 | 深爱婷婷久久综合 | 四虎国产精品免费观看视频优播 | 91伊人久久大香线蕉蜜芽人口 | 久草在线综合 | 国产91丝袜在线播放动漫 | 亚洲一区二区三区四区精品 | 视频国产一区二区三区 | 日韩亚洲在线视频 | 久草国产在线观看 | 99资源网 | 丁香五月亚洲综合在线 | 婷婷色在线视频 | 九色视频自拍 | 中文字幕日韩无 | 青青河边草观看完整版高清 | 国产精品一区二区你懂的 | 国产成人av电影 | 91高清免费 | 91黄色视屏 | av日韩中文| 亚洲日本中文字幕在线观看 | 射综合网 | 日日爽夜夜爽 | 亚洲国产手机在线 | 丰满少妇在线观看网站 | 亚洲资源一区 | 亚洲视频中文 | 97成人免费 | 精品久久久久久久 | 亚洲精品久久久久久久蜜桃 | 成人在线视频在线观看 | 亚洲成人资源在线观看 | 久久精品国产亚洲 | 精品福利国产 | 天堂av在线网址 | 成年人在线电影 | 99999精品视频 | 人人玩人人添人人澡超碰 | 日韩天天综合 | 国产91免费观看 | 国产精品99在线观看 | 日韩视频1 | 国产精品一区二区在线看 | 日日干网址 | 日本高清免费中文字幕 | 欧洲精品码一区二区三区免费看 | 亚洲国产中文在线观看 | 97超视频免费观看 | 国产亚洲人成网站在线观看 | 黄色免费高清视频 | 视频在线99re | 成人一区二区三区在线 | 操操操操网 | 免费看的黄网站软件 | 日本精品va在线观看 | 精品在线观看国产 | 久久精选视频 | 欧美一级视频免费 | 久久久久久久久久久黄色 | 亚洲精选在线 | 国产精品高清在线 | 成片视频免费观看 | 久久精品视频一 | 久久精品视频在线播放 | 狂野欧美激情性xxxx欧美 | 国产成人性色生活片 | 午夜精品久久久久久久99水蜜桃 | 久久久久麻豆v国产 | 久久综合欧美精品亚洲一区 | 国内久久 | 亚洲视屏| 久久99亚洲热视 | av天天在线观看 | 成人一区二区三区在线 | 精品国产乱码久久久久久久 | 精品人人爽 | 久久久久久久久久国产精品 | 久草在线91 | 亚洲免费在线播放视频 | 欧美中文字幕第一页 | 视频在线精品 | a特级毛片| 欧美午夜激情网 | 91黄色小网站 | 999久久久免费精品国产 | 99精品国自产在线 | aⅴ视频在线 | 国产精品s色 | 在线一二三区 | 久热av| 久久国产精品免费一区二区三区 | 久久69精品久久久久久久电影好 | 中文字幕在线观看完整版电影 | 中文字幕在线久一本久 | 亚洲视频每日更新 | 日韩精品一区在线观看 | 天天干,天天射,天天操,天天摸 | 视频在线观看91 | 国产精品99久久免费观看 | 狠狠躁日日躁 | 久久一二三四 | 日韩在线观看小视频 | 国产精品自产拍在线观看蜜 | 奇米影视四色8888 | 日韩高清一区在线 | 久久精品99国产精品日本 | 亚洲干视频在线观看 | av九九九 | 免费看一级黄色 | 久久成人人人人精品欧 | 欧美视频国产视频 | www.com黄 | 涩av在线 | 在线综合色 | 日韩av伦理片 | 91久久黄色 | 91丨九色丨蝌蚪丰满 | 午夜精品一区二区三区在线播放 | 亚洲在线精品 | 日韩电影中文字幕 | 激情五月播播久久久精品 | 一区二区三区免费在线观看视频 | 亚洲国产免费网站 | 在线高清一区 | 欧美日本国产在线观看 | 免费色婷婷 | 成人免费观看av | 亚洲欧美日韩在线看 | 国产精在线 | 亚洲欧洲精品一区二区精品久久久 | 天天舔天天搞 | 国产大片黄色 | 麻豆果冻剧传媒在线播放 | 91视频在线播放视频 | 久久96国产精品久久99软件 | 爱情影院aqdy鲁丝片二区 | 天天干天天弄 | 四虎在线免费观看视频 | 麻花豆传媒一二三产区 | 99精品国产在热久久下载 | 成人午夜影院 | 欧美影院久久 | 最近av在线| 欧美夫妻生活视频 | 婷婷中文字幕在线观看 | 香蕉日日 | 欧美一级片播放 | 国产91在| 亚洲视频网站在线观看 | 国产五月| 狠狠色丁婷婷日日 | 四虎国产精品成人免费影视 | 国产麻豆剧传媒免费观看 | 中文字幕视频一区二区 | 欧美精品久 | 国产精品系列在线观看 | 久久国产福利 | 一级黄色片网站 | 国产中年夫妇高潮精品视频 | 久久久久久欧美二区电影网 | 久草在线在线精品观看 | 福利视频午夜 | 午夜精品一区二区三区视频免费看 | 97电影院在线观看 | 亚洲乱码中文字幕综合 | 天天视频色 | 97天天综合网 | 国产精品99页| 中文字幕精品www乱入免费视频 | 99久久精品无码一区二区毛片 | 成人av在线影视 | 国产精品九九久久99视频 | 久草在线资源观看 | 久久久国产日韩 | 国内精品久久影院 | a视频在线观看免费 | 久草手机视频 | 97在线精品视频 | 永久免费精品视频网站 | 天天色天天操天天爽 | 中文在线a√在线 | 91免费网 | 精品国内自产拍在线观看视频 | av一区二区在线观看中文字幕 | av免费网站 | 九九在线国产视频 | 免费黄在线观看 | 特级毛片爽www免费版 | 免费视频黄色 | 手机av片| 日韩高清无线码2023 | 黄色成人影视 | 精品久久1| 99热在线免费观看 | 综合激情av| 亚洲久草网| 亚洲精品成人网 | 中文字幕免费国产精品 | 91人人揉日日捏人人看 | 五月天激情综合 | 国产精品一区二区麻豆 | 91高清视频在线 | 成人一级免费电影 | 久久九九精品 | 亚洲日本一区二区在线 | a一片一级 | 欧美在线视频不卡 | 波多野结衣在线播放视频 | 中文字幕久久精品一区 | 97精品超碰一区二区三区 | 国产中文字幕在线视频 | 四川妇女搡bbbb搡bbbb搡 | 九九视频网站 | 最新久久免费视频 | 国产精品激情偷乱一区二区∴ | 久久艹99 | 爱爱av在线| 少妇性aaaaaaaaa视频 | 国产日韩欧美视频在线观看 | 超碰在线cao | 成人小视频在线播放 | 美女黄久久 | 中文字幕在线播放av | 青青草国产精品 | 日韩精品中文字幕在线 | 最新av免费在线 | 欧美日韩高清在线一区 | 91中文字幕网| 日韩电影在线观看一区二区三区 | 99精品99 | 精品电影一区 | 麻豆网站免费观看 | 国产亚洲欧美在线视频 | 91免费高清 | 国产精品视频一二三 | 国产精品久久久久aaaa | 欧美日韩国产一二 | av国产在线观看 | 精品国产观看 | 久久激情精品 | 911久久香蕉国产线看观看 | 五月婷婷.com| 国产精品久久电影观看 | 免费a网| 婷婷色九月| 国产高清精 | 超碰公开97| 色综合久 | 国产美女精品久久久 | 亚洲蜜桃av | 手机av电影在线 | 国产一区二区手机在线观看 | 国产亚洲精品久久久网站好莱 | 天天干天天干 | 99国产精品久久久久久久久久 | 美女网站视频一区 | 91在线精品视频 | 亚洲人在线7777777精品 | 久久成人免费 | 97夜夜澡人人双人人人喊 | 久久狠狠干| 国产亚洲人成网站在线观看 | bayu135国产精品视频 | 久久草在线视频国产 | 国内精品久久久久影院一蜜桃 | 成人午夜影院 | 人人干人人干人人干 | 一级一片免费观看 | 国产美腿白丝袜足在线av | 亚洲视频观看 | 美女国内精品自产拍在线播放 | 福利视频精品 | 久久a v视频 | 亚洲黄色在线观看 | 在线视频婷婷 | 国产精品白丝jk白祙 | 中文字幕一区二区三区四区久久 | 亚洲草视频 | 日日爽天天爽 | 日韩综合色 | 99麻豆久久久国产精品免费 | 免费福利小视频 | 亚洲视频免费在线观看 | 中文字幕免费在线 | 日韩福利在线观看 | 91热这里只有精品 | 国产成人三级在线播放 | 人人精品久久 | 狠狠干我| 视频成人免费 | 91女子私密保健养生少妇 | 免费日韩 精品中文字幕视频在线 | 日韩精品一区二区三区外面 | 久久夜色网| 国产高清不卡在线 | 狠狠插天天干 | 欧美美女视频在线观看 | 日韩av一区二区三区 | 国产精品视频最多的网站 | 国偷自产中文字幕亚洲手机在线 | 97超碰在线久草超碰在线观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 中文字幕九九 | 亚洲精品美女久久久 | 日本一区二区三区免费看 | 久久综合久久综合这里只有精品 | 一本一本久久a久久精品综合小说 | 天天操天天操天天 | 国产一区二区久久 | 免费进去里的视频 | 天天超碰 | 久久开心激情 | 久久精品免视看 |