微軟奧爾良Orleans分散式應用框架已是跨平臺
Microsoft Orleans(奧爾良)是.NET的開源程式設計框架,最初由Microsoft Research的eXtreme Computing Group構建,可以使用虛擬角色actor簡化分散式應用程式開發,這些角色是具有自己狀態的單執行緒物件,它們不共享任何記憶體並透過使用非同步遠端過程呼叫交換訊息進行通訊,這些呼叫是按需啟用的,當它們不再使用時被收集並按需要無縫地重新啟用。
因為執行時負責啟用,清理和分發虛擬角色actor(奧爾良稱之為grains),所以開發人員可以編寫他們的程式碼,好像它在一臺機器上執行而不用擔心併發性,Orleans將其擴充套件到儘可能多的伺服器。
當Microsoft 在2015年初開源奧爾良時,它需要.NET Framework,這意味著它只能在Windows Server上執行。2.0版本透過遷移到.NET Core來實現Orleans跨平臺,.NET Core現在可以在Linux和macOS上執行(支援.NET Core 2.0和2.1,因此開發人員無需升級其.NET版本即可使用新奧爾良版本)。
Orleans已經支援依賴注入,主要是允許開發人員在執行時將依賴項注入到自己的應用程式程式碼中,所有內部元件都是可注射的。
奧爾良設計
熟悉的ASP.NET概念使新開發人員更容易學習,還使社群更容易為奧爾良做出貢獻,這對專案來說變得越來越重要。
即將釋出的2.1版本中最大的變化之一是排程程式,它可以處理孤島中數百萬個任務的執行,新的排程程式提供了30%的更高吞吐量 - 它是由GitHub社群成員編寫的。
另一個重要特性是新的程式碼生成器。“奧爾良的一個重要價值主張是它易於使用。您可以編寫程式碼,就像物件是本地的一樣,即使它是遠端的; 為此,我們生成透明的代理類和序列化器。您可以本地編寫程式碼,該程式碼採用特定型別的引數,但需要從一臺機器神奇地轉移到另一臺機器,我們編寫序列化器來執行此操作。“
Orleans 2.1中新程式碼生成包的大部分程式碼也是由社群提供的。這使用Roslyn .NET編譯器的程式碼分析來避免潛在的衝突以及與不同版本的.NET Core SDK衝突的依賴關係。“程式碼生成的新版本使用程式碼來編譯程式碼:它根本不載入程式集,它沒有版本繫結 - 它只是查詢程式碼並生成序列化程式和代理引用的程式碼。”
相關文章
- 微軟的分散式應用框架 Dapr Helloworld微軟分散式框架
- .NET分散式框架 | Orleans 知多少分散式框架
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- .NET分散式Orleans - 7 - Streaming分散式
- 微信平臺應用
- .NET分散式Orleans - 6 - 事件溯源分散式事件
- .NET分散式Orleans - 3 - Grain放置分散式AI
- .NET分散式Orleans - 5 - 持久化分散式持久化
- 快手分散式高效能圖平臺KGraph及其應用分散式
- Electron框架使用vue開發跨平臺桌面工具應用-專案搭建框架Vue
- 一款開源的跨平臺實時web應用框架——DotNetifyWeb框架
- 使用 cmake 來搭建跨平臺的應用程式框架:C語言版本框架C語言
- ComPDFKit: 跨平臺框架PDF SDK框架
- Elixir 分散式平臺分散式
- Flutter 跨平臺框架應用實戰-2019極光開發者大會Flutter框架
- 跨平臺開發框架的大旗框架
- 跨平臺開發框架 Lynx 初探框架
- GStreamer跨平臺多媒體框架框架
- Electron構建跨平臺應用Mac/Windows/LinuxMacWindowsLinux
- 使用Electron構建跨平臺的桌面應用
- 分散式流平臺Kafka分散式Kafka
- .NET分散式Orleans - 4 - 計時器和提醒分散式
- 英特爾貢獻基於 Kubernetes 分散式深度學習平臺:Nauta分散式深度學習
- 解析分散式應用框架Ray架構原始碼分散式框架架構原始碼
- Qt-跨平臺的C++圖形使用者介面應用程式框架(一)QTC++框架
- HTML5到跨平臺App應用深度解析HTMLAPP
- Flutter嚐鮮:跨平臺移動應用開發Flutter
- 跨平臺桌面應用 Electron 嘗試(VS2019)
- 打造企業級微服務平臺架構,分散式應用場景管理微服務架構分散式
- 微軟把UWP定位成業務線應用程式開發平臺微軟
- .NET分散式Orleans - 9 - 貪吃蛇專案演示分散式
- 《使用Gin框架構建分散式應用》讀後感框架架構分散式
- 藉助Unity AR Foundation構建跨平臺AR應用Unity
- cross-plateform 跨平臺應用程式-01-概覽ROSORM
- 用JS開發跨平臺桌面應用,從原理到實踐JS
- 跨平臺開發框架Qt 6.5LTS版釋出,支援安卓12和微軟Win11/10框架QT安卓微軟
- 鏈家分散式作業平臺分散式
- 《React Native跨平臺移動應用開發》讀後鬼扯React Native