orleans/Documentation
福利
奧爾良的主要好處是︰開發人員工作效率,甚至為非專家程序員;和默認的透明可伸縮性與程序員沒有特別努力。我們擴大每個下面這些好處。
開發人員的生產力
奧爾良的編程模型通過提供以下關鍵的抽象、 擔保和系統服務引發的專家和非專家程序員的生產力。
- 熟悉面向對象編程 (OOP) 范式。行為者實施的.NET 類聲明.NET 演員接口使用異步方法。因此演員這似乎對程序員來說是可以直接調用其方法的遠程對象。這為程序員提供了熟悉的面向對象范式的轉成消息的方法調用,將它們路由到正確的終結點,調用目標演員方法處理失敗和角情況下,在完全透明的方式。
 - 單線程執行的行動者。運行時保證,演員從來沒有超過一個線程上執行一次。再加上從其他行動者隔離,程序員永遠不會面臨并發演員一級,因此永遠不會需要使用鎖或其他同步機制來控制對共享數據的訪問。這一功能使分布式應用程序開發為非專家程序員溫順。
 - 透明激活。運行時激活演員作為需要只有當它處理的消息。這干凈地分離創建引用到的演員,是可見并由應用程序代碼和演員在內存中,這是對應用程序透明的物理活化控制的概念。在許多方面,這是類似于虛擬內存,因為它決定什么時候"頁出"(停用) 或"頁面中"(激活) 的演員;應用程序具有不間斷的接觸充分"內存空間"的邏輯創建行動者,無論他們是否在任何特定時刻的物理內存在時間。透明激活使動態、 自適應負載平衡通過放置和遷移的演員跨硬件資源池。此功能是傳統角色模型,在哪個演員一生是應用程序管理有重大改善。
 - 位置透明性。主角引用 (代理對象),程序員使用來調用演員的方法或傳遞給其他組件只包含邏輯的演員身份。翻譯的這位演員的邏輯身份對其物理位置和相應路由的消息由奧爾良運行時透明地完成。應用程序代碼進行通信與行動者沒有注意到它們的物理位置,可能由于故障或資源管理時間的推移,或因為演員被停用時調用。
 - 與持久存儲區的透明集成。奧爾良允許演員的內存中狀態到持久存儲區的聲明式映射。它將同步更新,以透明方式保證調用方接收結果的持久性狀態已成功更新后才。延長和/或自定義現有持久性存儲提供程序可用集是直截了當的。
 - 錯誤的自動傳播。運行庫會自動傳播與異步和分布式的 try-catch 語義調用鏈中向上的未處理的錯誤。因此,錯誤不會丟失在應用程序中。這允許程序員把錯誤處理邏輯在適當的地方,沒有手動傳播錯誤的每個級別的繁瑣工作。
 
默認情況下的透明可擴展性
奧爾良的編程模型被為了指導程序員下來路徑有可能成功地擴展他們的應用程序或服務通過幾個數量級。這是通過結合行之有效的最佳做法和模式,并提供較低的能級系統功能有效地執行。這里有幾個關鍵因素,使可伸縮性和性能。
- 隱式細晶粒分區的應用程序狀態。通過使用直接尋址的實體作為演員,程序員隱式分解及其應用程序的整體狀態。雖然的奧爾良編程模型并沒有規定如何大或小演員應當是,在大多數情況下它意義有相對大量的行動者 — — 數以百萬計或更多 — — 與每個元素代表一個自然的實體的應用程序,如用戶帳戶、 采購訂單等。演員被單獨可尋址與抽象出來了由運行時其物理位置,奧爾良有極大的靈活性,在平衡負載和處理熱點在透明和通用的方式,沒有任何思想從應用程序開發人員。
 - 自適應資源管理。與行動者關于他們交互由于位置透明性與其他演員現場制作沒有假設,運行時可以管理和調整可用的硬件資源的分配在一個非常動態的方式使細粒決定按安置/遷移的演員跨計算群集中反應來加載和通信模式沒有傳入的請求。通過創建多個副本的一個特定的演員運行時可以提高吞吐量的演員如有必要,不需要更改任何應用程序代碼。
 - 復用通信。在奧爾良行為者邏輯終結點,而它們之間消息傳遞多路復用在一套固定的全部共物理連接 (TCP 套接字)。這允許運行時主機尋址的實體,與每位演員較低的操作系統開銷非常大號 (百萬)。此外,激活/取消激活的演員并不招致的注冊注銷一個物理端點,例如 TCP 端口或一個 HTTP URL,或甚至關閉 TCP 連接的成本。
 - 高效調度。運行時安排跨與每個物理處理器核心線程的自定義線程池執行大量的單線程的演員。與演員代碼寫在非阻塞延續基于風格 (奧爾良編程模型要求) 應用程序的代碼運行在一個非常有效的"合作"多線程的方式與沒有爭用。這可使系統達到較高的吞吐量和運行在 CPU 使用率很高 (達 90%以上) 與極大的穩定性。在系統和負載行為者的人數增長不會導致額外的線程或其他 OS 基元的事實幫助各個節點和整個系統的可擴展性。
 - 顯式異步。奧爾良編程模型使得導游程序員編寫非阻塞異步代碼與分布式應用程序顯式異步性質。與異步消息傳遞、 高效調度相結合,這樣,很大程度的分布式并行性和整體吞吐量無需顯式使用多線程。
 
?
系統必備組件
奧爾良是一套的.NET 庫。要使用奧爾良,需要.NET 框架4.5.1 或更高和Visual Studio 2015 或更高版本的副本。請注意,快遞版本的 Visual Studio 不支持擴展包,但您可以通過直接添加引用 NuGet 程序包使用奧爾良。
在生產中,奧爾良需要持久存儲。以下技術支持 (只需要其中之一)︰
- Azure -測試與Azure SDK 2.4-2.8
 - SQL Server 2008 或更高
 - 動物園管理員3.4.0 或更高
 - MySQL 5.0 或更高
 - 領事0.6.0 或更高
 - DynamoDB - AWSSDK-亞馬遜 3.1.5.3與測試
 
Nuget 程序包
自1.3.1 版奧爾良 NuGet 程序包
有 4 關鍵的 NuGet 程序包,您將需要在大多數情況下使用︰
微軟奧爾良生成時間代碼生成
PM> Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build建立糧食接口和執行項目的支持。將它添加到您的糧食接口和執行項目,使糧食引用和序列化程序的代碼生成。 和包是過時和提供僅用于向后兼容性和遷移。Microsoft.Orleans.Templates.InterfacesMicrosoft.Orleans.Templates.Grains
微軟奧爾良核心庫
PM> Install-Package Microsoft.Orleans.Core包含 Orleans.dll,定義大多數奧爾良公共類型和奧爾良客戶端。引用它構建庫和客戶端應用程序使用奧爾良類型但不需要任何包含提供者。
微軟奧爾良服務器庫
PM> Install-Package Microsoft.Orleans.Server包括一切您需要運行一個筒倉。
微軟奧爾良客戶端庫
PM> Install-Package Microsoft.Orleans.Client包括一切你需要的奧爾良客戶端 (前端)。
附加的軟件包
下列的軟件包提供額外的功能。
供應商和擴展
微軟奧爾良蔚藍的實用程序
PM> Install-Package Microsoft.Orleans.OrleansAzureUtils包含基于 Azure 表群集成員資格提供程序,簡化的筒倉和 Azure 工人/Web 角色、 持久性提供程序 Azure 表和 Azure Blob 和 Azure 隊列流供應商中的客戶端實例化的包裝類。
微軟奧爾良 Sql 實用程序
PM> Install-Package Microsoft.Orleans.OrleansSqlUtils包含基于 SQL 群集成員身份和持久性提供與 SQL Server、 MySQL、 PostgreSQL 和其他 SQL 數據庫一起使用。
微軟奧爾良提供商
PM> Install-Package Microsoft.Orleans.OrleansProviders包含一組內置的持久性和流服務供應商。包括在 Microsoft.Orleans.Client 和 Microsoft.Orleans.Server。
微軟奧爾良 ServiceBus 實用程序
PM> Install-Package Microsoft.Orleans.OrleansServiceBus包括流提供商 Azure 事件集線器。
微軟奧爾良領事實用程序
PM> Install-Package Microsoft.Orleans.OrleansConsulUtils包括用于存儲群集成員資格數據使用領事的插件。
微軟奧爾良飼養員實用程序
PM> Install-Package Microsoft.Orleans.OrleansZooKeeperUtils包括用于存儲群集成員資格數據使用 ZooKeeper 的插件。
微軟奧爾良遙測消費者-性能計數器
PM> Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AIWindows 性能計數器的奧爾良遙測 API 執行的情況。
微軟奧爾良遙測消費者-Azure 應用程序的見解
PM> Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI包括遙測消費者對 Azure 應用程序的見解。
微軟奧爾良遙測消費者-NewRelic
PM> Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic包括為 NewRelic 遙測消費者。
微軟奧爾良債券序列化程序
PM> Install-Package Microsoft.Orleans.Serialization.Bond包括對債券的序列化程序的支持。
主辦和測試
微軟奧爾良運行時
PM> Install-Package Microsoft.Orleans.OrleansRuntime核心運行時庫的 Microsoft 奧爾良承載并執行谷物筒倉內。
微軟奧爾良筒倉主機
PM> Install-Package Microsoft.Orleans.OrleansHost包括默認筒倉主機-OrleansHost.exe。可以用于在內部部署或作為一個進程外筒倉主機在 Azure 工作者角色。包含在 Microsoft.Orleans.Server 中。
微軟奧爾良服務結構支持
PM> Install-Package Microsoft.Orleans.ServiceFabric主辦微軟奧爾良服務織物上的支持。
微軟奧爾良測試主機圖書館
PM> Install-Package Microsoft.Orleans.TestingHost包括用于承載筒倉在測試項目庫。
微軟奧爾良代碼生成
PM> Install-Package Microsoft.Orleans.OrleansCodeGenerator包括運行的時代碼生成器。包括在 Microsoft.Orleans.Server 和 Microsoft.Orleans.Client。
工具
微軟奧爾良性能計數器工具
PM> Install-Package Microsoft.Orleans.CounterControl包括 OrleansCounterControl.exe,注冊 Windows 性能計數器類別,奧爾良統計,并為部署的糧食類。需要提升權限。可以在 Azure 作為角色啟動任務的一部分執行。包含在 Microsoft.Orleans.Server 中。
微軟奧爾良管理工具
PM> Install-Package Microsoft.Orleans.OrleansManager包括奧爾良管理工具-OrleansManager.exe。
?
總結
以上是生活随笔為你收集整理的orleans/Documentation的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 网联能否一统天下,取决于三个问题
 - 下一篇: Linux故障模拟