標籤:
這一節,我們來說說orleans 中的幾個工具 + 生產力,OrleansHost、OrleansCounterControl、OrleansManager、ClientGenerator。
1.OrleansHost
這個工具是一個主機寄宿或者部署的一個控制台應用程式,下面我們看一下他的用法。
從那裡擷取呢,直接點的辦法就是在源碼包裡找到這個項目然後編譯後得到的就是你需要的。
另外一種就是當你建立服務端然後安裝了Microsoft.Orleans.Server包的時候,編譯這個項目也會在編譯包下產生出來。
我是直接編譯源碼包得到,如下:
一些dll,值得注意的是那個Configuration包,裡面有個檔案OrleansConfiguration.xsd,這個就是服務端檔案配置所需的xsd驗證檔案,如果我們不知道設定檔需要那些節點的時候
可以查看該檔案,可以將其複製到你的vs安裝目錄的xml環境中,就可以獲得智能提示了,如下:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Xml\Schemas
我的安裝目錄,如果你的安裝目錄有變,你可以靈活調整了
看圖
然後我們在OrleansHost.exe所在目錄下建立OrleansConfiguration.xml檔案用vs開啟
添加根節點OrleansConfiguration,然後增加xmlns="urn:orleans",我們就可以得到智能提示了,如
接下來,我們配置一個基本的設定檔,內容如下
<?xml version="1.0" encoding="utf-8" ?><OrleansConfiguration xmlns="urn:orleans"> <Globals> <StorageProviders> <Provider Type="Orleans.Storage.MemoryStorage" Name="MemoryStore" /> <Provider Type="Orleans.Storage.MemoryStorage" Name="Default" /> <!--<Provider Type="Orleans.Storage.AzureTableStorage" Name="AzureStore"/>--> </StorageProviders> <SeedNode Address="localhost" Port="22222"/> <Messaging ResponseTimeout="30s"/> </Globals> <Defaults> <Networking Address="localhost" Port="22222"/> <ProxyingGateway Address="localhost" Port="40000" /> <Tracing DefaultTraceLevel="Info" TraceToConsole="true" TraceToFile="{0}-{1}.log" PropagateActivityId="false" BulkMessageLimit="1000"> <TraceLevelOverride LogPrefix="Application" TraceLevel="Info" /> <!-- <TraceLevelOverride LogPrefix="Runtime.Dispatcher" TraceLevel="Verbose" /> <TraceLevelOverride LogPrefix="AssemblyLoader.Silo" TraceLevel="Warning" /> --> </Tracing> <Statistics MetricsTableWriteInterval="30s" PerfCounterWriteInterval="30s" LogWriteInterval="300s" WriteLogStatisticsToTable="true" StatisticsCollectionLevel="Info"/> </Defaults></OrleansConfiguration>View Code
好我們來運行一下這個看看,雙擊StartOrleans.cmd,程式跑完,有記錄檔產生,大概瀏覽一遍,不太順暢,有一些錯誤,少了一些dll的引用,少了OrleansCodeGenerator.dll,OrleansDependencyInjection.dll,再到源碼包中直接產生該項目,然後將其產生產物拷貝到StartOrleans目錄下,再次運行,一切如預料的那樣,成功:
這裡我整理的一個OrleansHost的部署套件:OrleansHost
如有需要的可以直接下載使用。
再來看看他的一些使用的參數:
該工具有如下參數:/? 、/help、-?、-help、/debug、deploymentid=[value]、deploymentgroup=[value]。
這次我們先沖控制台進入該程式所在目錄:
cmd-> d: -> cd D:\demo\OrleansHost ,如下:
如果我們什麼參數都不帶,改程式就直接啟動
如果下面我們帶上如上參數看看效果:OrleansHost /? 這個是尋求協助的一個命令
OrleansHost /debug 這個是以調試環境啟動
OrleansHost deploymentid=[value] 這個是給部署的當前silo起一個部署時的名稱然後啟動(這裡的value將來是設定為siloname的)
OrleansHost deploymentgroup=[value]這個值暫時還沒有啟用,說不定後續版本會有用處
有個了這個工具我們直接將開發好的grain編譯好的程式發布到該程式目錄下就可以了,然後重啟,不信你可以試一試,哈哈!
2.OrleansCounterControl
在於OrleansHost相同的目錄下還有一個exe,就是OrleansCounterControl
如:
我們先用cmd進入該程式所在目錄下
cd C:\Demo
接下來,我們先看看OrleansCounterControl有哪些參數
OrleansCounterControl /r,/register、/u、/unregister、/f、/force、/pause、/?、/help,我們來看看這些參數命令。
以管理員運行,如果OrleansCounterControl不帶任何參數的時候,將運行服務端的一些序列化初始化,並輸出一些控制台日誌,且註冊windows計數器
/r 或/register windows計數器註冊
/u 或/unregister 取消windows計數器
/f 或 /force 刪除計數器
/pause 是否有退出時提示
/? 或/help 協助提示.
這些命令可以組合使用,如:OrleansCounterControl /r /pause
OrleansCounterControl /r /?
總結:這個工具用來進行管理程式的windows計數器管理工具.
3.OrleansManager
命令列定位到該程式目錄下(此工具主要是用來在用戶端,或者別的地方查看服務端上silo或者grain的一些狀態資訊。)
接下來看看命令參數:
OrleansManager [ ] [/?] [-?] 執行這個命令時會有一些協助提示
OrleansManager grainstats [silo1,silo2,...] 用來查看統計查看silo的address、啟用的數量、grain類型等。
fullgrainstats [silo1,silo2,...] 查看全部的grain的狀態
collect [silo1,silo2,...]
unregister [silo1,silo2,...] 取消註冊
lookup [silo1,silo2,...]
grainreport [silo1,silo2,...]
具體就不再這裡講解了,大家在開發過程中可以去探索。
4.ClientGenerator
這個工具是通過grain的執行個體或者是服務端grain的dll路徑產生一個程式集,但是,沒使用過(如果有知道使用的請告知一聲,不勝感激!)
不過,這個工具不會用也不會影響開發。
就說到這裡吧。
Orleans 之 監控工具的使用