一、Viper是什么?
Viper 是.NET平台下的Anno微服務框架的一個示例項目。入門簡單、安全、穩定、高可用、全平台可監控。底層通訊可以隨意切換thrift
grpc
。 自帶服務發現、調用鏈追蹤、Cron 調度、限流、事件總線、CQRS 、DDD、類似MVC的開發體驗,插件化開發
一個不可監控
的微服務平台是可怕的
,出了問題 難以准確定位問題的根源, Anno則提供了一套完整的監控體系,包括鏈路追蹤
、服務占用的系統資源
、系統自身 CPU、內存、硬盤使用率
實時可監控等等。
github: https://github.com/duyanming/Viper
作者的博客:https://www.cnblogs.com/duyanming/tag/Anno/
在線演示地址 :http://140.143.207.244
二、下載源碼,本地運行,安裝作者的教程來。https://github.com/duyanming/Viper 這里有教程。
我下面講的是,在騰訊雲服務器上部署。
1、服務器上先下載安裝mysql8 ,Navicat for MySQL。如果windows服務器沒有net5.0的環境也需要安裝一下,微軟的網站下載即可。
2、mysql新建一個數據庫名字叫viper,然后源碼Viper-master\database 路徑下,找到一個sql腳本 viper20210617_01.sql
運行這個腳本,腳本會建表,並初始化一些數據。
3、vs2019打開源碼,全部生成一次。Viper.GetWay這個項目要發布到文件夾,
把好發布好的文件夾拷貝到服務器
ViperService 需要修改 Anno.config 中的mysql連接字符串,改成你自己服務器的mysql賬號密碼就可以了
注冊中心ViperCenter 和 服務中心ViperService 只需要拷貝bin\Debug\net5 下的文件即可
現在服務器就有三個文件夾,分別是,ViperCenter 的bin\Debug\net5,和ViperService 的bin\Debug\net5,Viper.GetWay 的publish
cmd命令行,進入路徑ViperCenter 的bin\Debug\net5下,輸入dotnet ViperCenter.dll,注冊中心啟動成功
新開一個cmd命令行,進入路徑iperService 的bin\Debug\net5下,輸入dotnet ViperService.dll
,服務中心啟動成功:
新開一個cmd命令行,進入路徑Viper.GetWay 的publish 下,輸入dotnet Viper.GetWay.dll -h http://*:5000,服務中心啟動成功:
已經運行成功,沒有日志,起初我也以為失敗了,起始已經運行了,在瀏覽器輸入:http://localhost:5000/Home/Login
登陸進去,大功告成。
但是只能局域網訪問,我們還需要外網能訪問,還需要nginx轉一下。
下載最新版本的nginx,解壓,修改nginx-1.20.1\conf 下的nginx.conf:
打碼的是服務器ip,意思是把本機5000端口,映射到8088,外網訪問8088,會轉到5000端口。先在雲服務web后台開通8088端口,服務器防火牆入站規則增加一個8080端口入站。
成功了。
最后,這個微服務框架 作者的群是:478399354。