hello world .net core 微服務框架 Viper

1、Viper是什麼?

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

 github: //github.com/duyanming/Viper

文檔地址: //duyanming.github.io/

體驗地址: //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.ServerAnno.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: //github.com/duyanming/Viper

文檔地址: //duyanming.github.io/

體驗地址: //140.143.207.244/

 關於Viper的更多內容,隨後更新。敬請關注。開源不易,感謝Star。