DSS簡介

來源:互聯網
上載者:User
文章目錄
  • DSS覆蓋的問題領域

原文連結 

去中心化軟體服務(DSS)是一個基於CCR的輕量級.net運行時環境。DSS提供了一個輕量級的,狀態導向的服務模型,它將REST概念和構造高效能高擴充性應用的系統級方法結合在一起。在DSS中服務被暴露為一種可以被程式和UI操作介面訪問的資源。通過整合:狀態隔離、結構化狀態操作、事件通知和常規服務組合,DSS解決了編寫運行在一個節點或者跨網路的高效能、可觀察、松耦合的應用程式的需求。

DSS的主要設計目標是將效能、簡單性和強壯性結合在一起。這使得DSS非常適合於建立由服務彙總而成的應用,無論服務是運行在同一個節點還是跨越網路。這個目標使得DSS成為一個靈活且簡單的可以用於編寫多種應用的平台。DSS使用去中心化服務合約(
 Decentralized Software Services Protocol (DSSP))和HTTP協議作為服務間互動的基礎。DSSP是一種輕量級的基於SOAP的協議,它提供了一個清晰、對稱(symmetric)支援狀態操作的狀態轉移應用程式模型和一個由狀態變化驅動的事件模型。DSS運行時提供了一個宿主環境(hosting environment),這個環境提供了內建的在同一個節點和跨越網路的對服務組合、發布/訂閱、生命週期管理、安全、監控、日誌等的支援。服務可以使用Visual Studio編寫,也可以使用Microsoft Visual Programming Language(VPL)來編寫。VPL可以通過簡單的托拽服務到畫布上,然後根據資料依賴關係把服務串連到一起來建立簡單的服務組合應用。另外,DSS清單編輯器(DSS manifest editor)提供了一個圖形化環境來串連(wiring up)、配置、部署和在一個節點或跨越網路運行DSS應用程式。DSS覆蓋的問題領域下面我們討論三個常見的應用程式設計的問題領域,以及DSS如何來解決它們:強壯性在任何負責的系統中,系統一個部分的失敗都有導致整個系統癱瘓的可能。這是因為部分失敗如果不能被正確的隔離、檢測和處理,將會導致災難性的失敗。松耦合是一種常見的用於限制部分失敗影響的設計模式。然而,為了構造松耦合的系統,每個組件必須與其他組件隔離,並且與底層運行環境隔離。在系統失敗中兩種常見的隔離方法是資料隔離和運行隔離。缺少資料隔離會導致服務的內部狀態被破壞,而缺少運行隔離則會導致組建失去響應。DSS同時在資料和運行上隔離服務。資料隔離是通過完整複製所有服務(包括系統服務)間交換的訊息來實現的。複製代碼作為編譯的一部分來產生,它比完整序列化的速度快很多。可組合性強壯性的需求強制要求程式成為一批松耦合組件的組合。這引發了另外一個問題:如何識別、定位以及把這些組件組合到一個正在啟動並執行應用程式中。大多數傳統的系統把一個應用定義為一個單一的進程而不是一組共同工作的松耦合服務的組合,這就把組合的任務留給了應用的設計者。DSS提供了協議和運行時來支援建立、管理、部署和運行由松耦合服務組合而成的應用。服務在運行時被建立,並且為了功能的正確,根據它需要組合的其他服務的描述進行串連。這個模型允許應用程式在運行時配置每個服務的實力在哪裡運行。而且,由於每個服務執行個體與其他服務執行個體的關係都可以通過DSSP暴露出來,這使得看到任意指定的服務執行個體所依賴的服務執行個體成為可能。可觀察性 

所有應用程式的一個重要的方面是:可以知道它正在做什麼,它處於什麼狀態,以及它如何到達這個狀態。簡單的說:一個沒有辦法觀測的系統就不可能知道它是否功能正常。通過將一個服務定義為一個由URI表達的資源標識以及暴露這個資源的狀態(可能被服務內部行為或者通過與其他服務互動改變),DSS將可觀察性概念放置於它應用程式模型的核心。然而,可觀察性概念超越了只是通過偵測服務的狀態來監控應用程式。通過根據服務的狀態統一的暴露服務,DSS為處理管理、安全和基於狀態操作的服務組合提供了簡單且一致的解決方案。DSS還使得每個DSS服務都可以通過瀏覽器UI進行訪問,以及非常容易的與各種常用的工具和平台整合。

起步

作為DSS的一部分,我們提供了大量不同的例子和指導,它們示範的範圍涵蓋了從開始編寫“Hello world”之類的簡單應用到可以平滑的運行在同一個節點或者跨越網路的複雜應用。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.