hello world .net core 微服務框架 Viper


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 調用鏈路追蹤

      4、Viper 微服務框架 編寫一個hello world 插件-02

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 微服務框架 編寫一個hello world 插件-02

  喜歡Viper的小伙伴們可以在體驗地址 通過 “集群總覽” 找到兩個服務 “HelloWorld-SoEasy”、“HelloWorld”,然后進入 API詳情,模擬調用API提前體驗一下網關如何調用服務,服務之間如何相互調用。后面也會帶着大家編寫一到兩個簡單的功能插件,以此加深對Viper的了解。

 

 github: https://github.com/duyanming/Viper

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

體驗地址: http://140.143.207.244/

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM