• <button id="4fujt"><acronym id="4fujt"><u id="4fujt"></u></acronym></button><button id="4fujt"><acronym id="4fujt"><u id="4fujt"></u></acronym></button>

    <li id="4fujt"></li>
  • <tbody id="4fujt"><pre id="4fujt"></pre></tbody>
  • <button id="4fujt"><object id="4fujt"><input id="4fujt"></input></object></button>
    <button id="4fujt"></button>
    <em id="4fujt"></em>

    <tbody id="4fujt"><pre id="4fujt"></pre></tbody>
    

    <dd id="4fujt"><optgroup id="4fujt"><td id="4fujt"></td></optgroup></dd>

  • Dubbo 服務化架構

    開源、高性能、透明化,當前最成熟的 SOA 服務治理方案




    我們的電商架構,將應用程序進行業務拆分,如訂單、用戶、優惠促銷、售后、商品管理等業務,這些業務獨立運行,并提供服務給其他業務。


    系統利用分布式服務框架(阿里的 Dubbo )搭建分布式服務。Dubbo 是開源的、高性能和透明化的 RPC 遠程調用服務框架,是當前最成熟的 SOA 服務治理方案。


    對于復雜的分布式事務,我們的電商架構通過微交易架構 TCC 來解決復雜事務的一致性問題。




    SOA

    面向應用SOA把原單體應用里的業務邏輯層剝離出來,作為單獨的服務對外提供。


    例如,會員使用的演出詳情頁,展示演出的信息、演出庫存,演出價格;會員系統修改訂單,同時也需要獲取演出的基本信息、價格信息等。





    微服務

    每個服務獨占式地封裝對應主數據表的訪問,這些服務構成系統的基礎服務,一起組成系統的微內核,供所有上層應用共享。



    微內核服務是原子服務,接口粒度比較細,可以在其上構造聚合服務,為上層應用提供粗粒度服務??梢允切畔⒕酆?,比如圖演出聚合服務整合演出的基本信息/庫存/價格;也可以是流程聚合,比如下單接口,調用來自多個服務的接口,共同完成復雜的下單操作。

    這里服務是分層次的,聚合服務是上層,基礎服務是底層,依賴規則如下:


            ●  上層服務可以調用同層服務和基礎服務
            ●  基礎服務是原子服務,不可相互調用
            ●  前端應用可調用聚合服務和跨層調用基礎服務





    TCC

    跨應用之間,通過業務層面邏輯順序,進行預先鎖定,后續應用事物失敗,之前應用數據回滾來實現。

    TCC分別對應Try、Confirm和Cancel三種操作,這三種操作的業務含義如下:

        Try:預留業務資源
        Confirm:確認執行業務操作
        Cancel:取消執行業務操作


    稍稍對照下關系型數據庫事務的三種操作:DML、Commit和Rollback,會發現和TCC有異曲同工之妙。


    在一個跨應用的業務操作中,Try操作是先把多個應用中的業務資源預留和鎖定住,為后續的確認打下基礎,類似的,DML操作要鎖定數據庫記錄行,持有數據庫資源;Confirm操作是在Try操作中涉及的所有應用均成功之后進行確認,使用預留的業務資源,和Commit類似;而Cancel則是當Try操作中涉及的所有應用沒有全部成功,需要將已成功的應用進行取消(即Rollback回滾)。其中Confirm和Cancel操作是一對反向業務操作。



    隱私保護 | 使用條款 | 網站地圖

    ? 2017 版權所有 北京瑞友科技股份有限公司 京ICP備10023829號-1

    亚洲色久悠悠在线_午夜性刺激在线看免费_五月亭亭开心中文字幕_中文字幕与邻居少妇性刺激