1、Viper是什么?
Viper 是.NET平臺下的Anno微服務框架的一個示例專案,入門簡單、安全、穩定、高可用、全平臺可監控,底層通訊可以隨意切換thrift grpc, 自帶服務發現、呼叫鏈追蹤、Cron 調度、限流、事件總線、CQRS 、DDD、類似MVC的開發體驗,插件化開發

github: https://github.com/duyanming/Viper
檔案地址: https://duyanming.github.io/
體驗地址: http://140.143.207.244/
如果對Viper不了解可以看:
1、 net core 微服務 快速開發框架 Viper 初體驗
2、打不死的小強 .net core 微服務 快速開發框架 Viper 限流
3、net core 微服務框架 Viper 呼叫鏈路追蹤
2、Viper微服務撰寫一個Hello World
Anno微服務引擎使用非常簡單,Anno只專于與服務治理,對業務代碼深度解耦,下面我們來寫一個Hello World 服務,以此作為引子 讓我們了解Anno服務的創建有多簡單,
2.1、新建一個.Net Core 的控制臺程式
讓我們新建一個.Net Core 的控制臺程式作為服務插件的宿主程式,當然你也可以新建一個Window服務程式、Winform程式作為插件宿主程式, 這里以.Net Core控制臺程式為例,

2.2、 添加Anno依賴
添加依賴需要兩個,一個是 Anno.EngineData ,一個是Anno.Rpc.Server,Anno.Rpc.ServerAnno服務的核心程式包, Anno.EngineData 是一個可選程式包,在這里主要是因為業務插件(例如 Anno.Plugs.ViperService)是一個和通訊解耦的模塊, 為了方便服務之間也可以呼叫 Anno.EngineData 里面宣告了服務之間呼叫的介面約束,Thrift、Grpc 插件里面做實作, 以此來解耦通訊組件和業務插件,
添加Anno Nuget依賴
Install-Package Anno.EngineData -Version 1.0.2.6
Install-Package Anno.Rpc.Server -Version 1.0.2.6
增加一個Anno組態檔
Anno組態檔的名稱為Anno.config,我們直接復制一個過來修改就可以了,主要還是修改下服務的埠、名稱, 修改完城后我們就可以啟動服務了,
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!--0,0 第一位是 作業站,第二位資料中心 (所有的 AnnoService 的 兩位數不能重復例如不能存在【1,2】【1,2】) 可以存在【1,2】【2,1】 --> <IdWorker>0,1</IdWorker> <!--App名稱--> <AppName>HelloWorld</AppName> <!--監聽埠--> <Port>7012</Port> <!--權重--> <Weight>1</Weight> <!--功能 非Anno.Plugs 加入方式--> <FuncName></FuncName> <!--忽略的功能 Trace,Logic--> <IgnoreFuncName></IgnoreFuncName> <!--超時時間毫秒--> <TimeOut>20000</TimeOut> <!--注冊到的目標--> <Ts Ip="127.0.0.1" Port="7010"/> <IocDll> <!-- IOC 倉儲--> <Assembly>Anno.Repository</Assembly> </IocDll> <appSettings> <!-- 沒有用到Redis可以留空默認--> <add key="redisConn" value=""/> <add key="redisPrefix" value="HW:"/> <add key="redisExpiryDate" value="20"/> <add key="redisSwitch" value="false"/> </appSettings> </configuration>

到此為止一個HelloWorld服務已經撰寫完成且成功啟動,每個一秒會向注冊中心注冊,另外我們沒有看到提示服務功能Tag,這是因為我們還沒有撰寫功能插件, 下一小節我們來撰寫一個功能插件,
喜歡Viper的小伙伴們可以在體驗地址 通過 “集群總覽” 找到兩個服務 “HelloWorld-SoEasy”、“HelloWorld”,然后進入 API詳情,模擬呼叫API提前體驗一下網關如何呼叫服務,服務之間如何相互呼叫,后面也會帶著大家撰寫一到兩個簡單的功能插件,以此加深對Viper的了解,

github: https://github.com/duyanming/Viper
檔案地址: https://duyanming.github.io/
體驗地址: http://140.143.207.244/
關于Viper的更多內容,隨后更新,敬請關注,開源不易,感謝Star,轉載請註明出處,本文鏈接:https://www.uj5u.com/net/199876.html
標籤:.NET Core
