Orleans 3.0 發布,微軟下一代雲計算編程模式

2020-11-29 開源中國

Orleans 是一種新的編程模式,用來提升微軟通用語言運行庫(CLR)的抽象水平,Orleans 的宗旨就是為了創建一種既適用於客戶端又適用於伺服器的編程模式,簡化代碼調試,提高代碼的可移植性。3.0 版本帶來大量的改進和修復,以及一些新的特性。

自 2.0 以來的一些主要變化是:

  • 分布式 ACID 事務——多個 grains 可以加入一個事務(不管它們的狀態存儲在哪裡)
  • 新的調度器,它在某些情況下提高了 30% 以上的性能
  • 新的基於 Roslyn 代碼分析的代碼生成器
  • 重寫集群成員以提高恢復速度
  • 共同託管支持

Networking layer replacement with ASP.NET Bedrock

在 3.0 版本中,引入 TLS 支持,可通過 Microsoft.Orleans.Connections.Security 包獲得。Orleans 3.0 將其整個網絡層替換為構建在 Project Bedrock 之上的整個網絡層,這是 ASP.NET 團隊的一個創舉。Bedrock 的目標是幫助開發人員構建快速、健壯的網絡客戶端和伺服器。

網絡層重寫還包括用對 MemoryPool<byte> 的依賴替換自定義緩衝區池,在進行這種更改時,序列化現在更多地利用了 Span<T> 。在 Orleans 3.0 中,增加了對通過協議協商逐步升級網絡協議的支持。Orleans 3.0 中添加的協議協商,例如定製核心序列化程序,同時保持向後兼容性。新網絡協議的一個好處是支持全雙工 silo-to-silo 連接,而不是以前在 silo 之間建立的單純連接對。協議版本可以通過 ConnectionOptions.ProtocolVersion 配置。

Co-hosting via the Generic Host

現在,與其他框架(如 ASP .NET Core)在同一個進程中共同託管 Orleans 比以前更容易。下面是一個使用 UseOrleans 將 Orleans 與 ASP.NET Core 一起添加到主機的示例:

ar host = new HostBuilder() .ConfigureWebHostDefaults(webBuilder => { // Configure ASP.NET Core webBuilder.UseStartup<Startup>(); }) .UseOrleans(siloBuilder => { // Configure Orleans siloBuilder.UseLocalHostClustering(); }) .ConfigureLogging(logging => { /* Configure cross-cutting concerns such as logging */ }) .ConfigureServices(services => { /* Configure shared services */ }) .UseConsoleLifetime() .Build();// Start the host and wait for it to stop.await host.RunAsync();

使用通用主機構建器,Orleans 將與其他託管服務共享服務提供商。這使得這些服務可以進入 Orleans。例如,開發人員可以將 IClusterClient 或 IGrainFactory 注入 ASP.NET Core MVC 控制器,並直接從它們的 MVC 應用程式調用 grains。此功能可用於簡化部署拓撲或向現有應用程式添加其他功能。

Improved extensibility

streams 現在可以有自定義數據適配器,允許它們以任何格式接收數據。這使開發人員能夠更好地控制 stream 項在存儲中的表示方式。它還使 streams 提供程序能夠控制數據的編寫方式,從而使 steams 能夠與遺留系統和/或 non-Orleans  服務集成。自定義事務狀態現在可以聲明它在事務中能夠履行的角色。現在可以公開訪問預定義的布局策略,以便在配置期間可以替換任何位置指示符。

Reliability improvements

此版本中,集群從故障中恢復得更快。消息傳遞錯誤現在得到更一致的處理,從而導致提示錯誤被傳送回調用方。這有助於開發人員更快地發現錯誤。例如,當消息不能完全序列化或反序列化時,詳細的異常將被傳回原始調用方。

發布說明:

https://devblogs.microsoft.com/dotnet/orleans-3-0/

相關焦點

  • 極簡科學課|什麼是量子計算
    中央紀委國家監委網站 王小寧我國企業自主研發的6比特超導量子計算雲平臺日前正式上線,全球用戶可以在線體驗來自中國的量子計算服務。那什麼是量子計算呢?量子計算機和普通的計算機又有何不同呢?為此,記者專門採訪了雲平臺研發單位本源量子公司的相關專家。量子計算是一種遵循量子力學規律調控量子信息單元進行計算的新型計算模式,它與現有計算模式完全不同。
  • 以「雲」為裳,量子計算不再「高冷」
    據了解,量子計算是一種遵循量子力學規律調控量子信息單元進行計算的計算模式,它與現有的經典計算模式完全不同。經典計算使用二進位的數字電子方式進行運算,而二進位總是處於0或1的確定狀態。量子計算則藉助量子力學的疊加特性,能夠實現計算狀態的疊加,它不僅包含0和1,還包含0和1同時存在的疊加態。
  • 下一代教育裡,編程可能跟英語一樣重要
    Papert 提出兒童編程最重要的,不是學習所謂的知識,而是通過編程來改變思維模式。「不是 learn to code,而是 code to learn」。 這是他創立 LOGO 語言的初衷。線下暑期少兒編程班異常火爆,在百度上以「兒童編程教育」為關鍵詞搜索,檢索出的結果將近 600 萬個。根據《2017-2023 年中國少兒編程市場分析預測研究報告》顯示,當下中國大陸少兒編程教育的滲透率僅為 0.96%,市場蛋糕規模正在逐漸擴大,未來五年有望出現頭部企業。
  • 微軟發分布式圖處理引擎GraphEngine1.0
    【IT168 資訊】5月21日消息,由微軟亞洲研究院開發的Graph Engine 1.0預覽版正式發布。Graph Engine是一個基於內存的分布式大規模圖數據處理引擎。在此之前,它在學術界更廣為人之的名稱是Trinity。  大規模圖處理在很多領域扮演著重要的角色。
  • 國內首個量子計算雲平臺上線 量子計算機正走出實驗室
    據了解,量子計算是一種遵循量子力學規律調控量子信息單元進行計算的計算模式,它與現有的經典計算模式完全不同。經典計算使用二進位的數字電子方式進行運算,而二進位總是處於0或1的確定狀態。量子計算則藉助量子力學的疊加特性,能夠實現計算狀態的疊加,它不僅包含0和1,還包含0和1同時存在的疊加態。
  • 微軟正式啟動「編程一小時」活動 用計算思維分析解決問題
    微軟正式啟動「編程一小時」活動 用計算思維分析解決問題 2018年11月30日 13:57作者:吳陳純編輯:吳陳純文章出處:泡泡網原創
  • 我國自主研發的6比特 超導量子計算雲平臺上線
    據新華社電 我國企業自主研發的6比特超導量子計算雲平臺日前正式上線,全球用戶可以在線體驗來自中國的量子計算服務。這是記者從9月12日舉辦的世界製造業大會江淮線上經濟論壇獲悉的消息。在當前技術條件下,量子計算機還離不開嚴苛的運行環境與複雜的輔助設備。
  • 量子計算,我們一直在前進
    那麼,究竟什麼是量子計算呢? 量子計算是一種遵循量子力學規律調控量子信息單元進行計算的新型計算模式,它與現有計算模式完全不同。在理解量子計算的概念時,通常將它與經典計算相比較。經典計算使用二進位的數字電子方式進行運算,而二進位總是處於0或1的確定狀態。量子計算藉助量子力學的疊加特性,能夠實現計算狀態的疊加。
  • 我國自主研發的6比特超導量子計算雲平臺上線
    新華社合肥9月13日電(記者徐海濤)我國企業自主研發的6比特超導量子計算雲平臺日前正式上線,全球用戶可以在線體驗來自中國的量子計算服務。這是記者從9月12日舉辦的世界製造業大會江淮線上經濟論壇獲悉的消息。在當前技術條件下,量子計算機還離不開嚴苛的運行環境與複雜的輔助設備。
  • 微軟發布計劃:馬斯克SpaceX星鏈加持,讓雲服務遍布全球
    這樣一張網,是微軟發展雲服務的理想合作夥伴。在發布 Azure Space 時微軟還表示,除了 SpaceX 以外微軟表示我有現成的:很多機構正通過 Azure Stack 等產品在智能邊緣充分利用雲計算的優勢。微軟已經在極端環境中數據中心試點建設方面取得了巨大的飛躍,如著名的 Project Natick 水下數據中心研究項目。基於以往的經驗以及客戶最艱難任務的需求,微軟 MDC 將進一步提升這種邊緣計算能力。
  • 微軟宣布WPF、Windows Forms和WinUI這3個流行框架正式開源
    雷鋒網(公眾號:雷鋒網)查詢微軟.NET Blog了解到,2014年11月12日,微軟正式宣布了.NET Core的開源。它取得了巨大的成功。.NET平臺已經收到來自微軟以外的3700多家公司的超過60000個社區的拉取請求。微軟在現場承諾,將在.NET Core上為這些框架做出貢獻。第一波代碼將於今天在GitHub上發布,未來幾個月將出現更多代碼。
  • 微軟發布超級計算機版Excel測試版本
    微軟今天在一個超級計算機會議上發布了一款超級計算機版Excel的測試版本.
  • 【GET2018】景山學校毛澄潔:編程教育仍是從0到1的起步階段
    【GET2018】景山學校毛澄潔:編程教育仍是從0到1的起步階段 作者:阿飛醬 發布時間:
  • 【預告】2020年華為HC大會量子計算專場——HiQ3.0量子計算模擬器及開發者工具
    直播二維碼本專場介紹了華為量子計算軟體HiQ3.0雲平臺的技術內核、近期開發的新特性和對開發者編程體驗的改進情況
  • 微軟未來將使用 Rust 作為 C、C++ 以及其他程式語言的替代方案
    微軟近日提出,未來將使用 Rust 作為 C、C++ 以及其他程式語言的替代方案,以改善應用程式的安全性的計劃。 近日,微軟安全響應中心(MSRC)團隊在官網更新文章,就近日提出的最新計劃,即未來將使用 Rust 作為 C、C++ 以及其他程式語言的替代方案以改善應用程式的安全性的計劃,從空間內存安全、時間內存安全、數據競爭等方面進行了進一步的深入補充。
  • 微軟《第四範式:數據密集型科學發現》中文版發布
    2012年11月7日,北京——微軟研究院今天發布了《第四範式:數據密集型科學發現》論文集中文版,該書是迄今為止為數不多的從科學研究模式角度來分析大數據及其深遠影響的著作。而早在大數據流行之前微軟就開始對之加以研究和利用,微軟研究院的部分基礎研究通過基於雲的大數據處理和分析完成,並基於及與其它高校、科研機構的相關合作成果,彙編了《第四範式:數據密集型科學發現》論文集的英文版。這對於發掘研究人員新的科研方式、加速科學發現,以及實現消費者與數據間更自然的交互等方面都將產生重要影響。
  • 量子計算發展歷程_量子計算與量子信息 計算部分 - CSDN
    (3)分子模擬——華為:2019年9月發布量子化學應用雲服務HiQ 2.0模擬器,作為國內首個一站式量子化學應用雲服務,已成功模擬乙烯(C2H4)、氨氣(NH3)、甲矽烷(SiH4)等分子基態能量。Rigetti的商業模式為硬體+軟體+雲服務的全棧式服務,旗下產品包括最新型31位物理比特的Aspen-8量子處理器、量子軟體開發包Forest、量子程式語言PyQuil、提供自有量子云平臺QCS以及亞馬遜雲服務。
  • Julia程式語言助力天氣/氣候模式
    我們因此推薦使用具有2指數位的16位作為標準的Posit格式,其32個數量級的寬動態範圍為天氣和氣候模式提供了巨大的潛力。雖然主要集中於地球物理流體的模擬,但研究結果也表明對於在計算流體力學的廣闊領域中應用精度較低的Posit數制具有重要的意義和應用前景。圖文
  • 微軟開源 Quantum Katas,領先的量子編程解決方案
    據外媒報導,微軟近日推出了一套先進的量子編程解決方案,讓編程人員可以更好地學習量子計算及其相關的 Q# 程式語言。
  • 若你不知道微軟的量子編程Q,那得知道新出的Silq量子程式語言
    比如,程式語言領域就迎來了一個重要的突破:第一種高級程式語言 Silq問世。之所以說它是第一種高級程式語言,就是因為這個程式語言是量子計算機領域的,不是目前的在很低的抽象級別工作的程式語言,也不是我們普通認識學習的程式語言。量子計算機領域的頭號程式語言Silq,誕生於蘇黎世聯邦理工學院的計算機科學界人士之手。