.NetCore微服務Surging新手傻瓜式 入門教程 學習日誌---先讓程序跑起來(一)
寫下此文章只為了記錄Surging微服務學習過程,並且分享給廣大想學習surging的基友,方便廣大基友快速入門,讓程序跑起來。
本篇文章只記錄讓Surging跑起來,暫時不涉及部署方面,本文參考了其他幾位大佬的文章,精簡整理的
一.準備工作:
1.先把surging搞下來https://github.com/dotnetcore/surging
2.Win10 Hyper-v開啟來,我們本篇中使用輕量linux-- rancherOS,虛機環境搭建請移步文章
3. RancherOS環境暫時只使用 rabbitmq跟consul
二.運行環境搭建,在RancherOS安裝Rabbitmq跟consul(此段配置是照搬https://www.cnblogs.com/hankexia/p/9637195.html)
1.安裝consul
$ docker pull consul --下載consul 鏡像
這位老鐵的consul 服務發現介紹的還行 consul 服務發現 集群 docker 版
我提煉了一下 執行一下命令就行了,做兩個consul服務小集群,嘻嘻
由於docker默認創建容器每次重啟會重新分配容器內部IP,會導致集群的join的IP 鏈接不上從而重啟失敗!
我們設置docker的consul 容器為固定IP
docker network create --subnet=172.25.0.0/16 consulnet --創建自定義網絡類型,並且指定網段
consul 服務端 node1 --請按照順序執行一下命令
$ docker run -d --name node1 --net consulnet --ip 172.25.0.2 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -server -node=node1 -bootstrap-expect=2 --(這個2 代表集群至少兩個consul服務器才能正常啟動,我們暫且就弄兩個吧,此服務一定要是固定IP 不然下面的join會重啟後因為IP不對兒失敗)
$ JOIN_IP="172.25.0.2" --node1 的ip
consul 服務端 node2
$ docker run -d --name node2 --net consulnet --ip 172.25.0.3 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -server -node=node2 -join $JOIN_IP
consul 客戶端node11 帶UI
$ docker run -d --name node11 --net consulnet --ip 172.25.0.4 -p 8400:8400 -p 8500:8500 -p 8600:53/udp -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP
瀏覽器打開 RancherOS IP:8500 ,即可看到consul 的UI
2.安裝rabbitmq
$ docker pull rabbitmq:3-management --拉取rabbitmq的鏡像,後面不帶management,啟動rabbitmq後是無法打開管理界面的,所以我們要下載帶management插件的rabbitmq. $ docker run -d --name rabbitmq --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 rabbitmq:3-management --這個是使用的默認賬號密碼 guest guest
瀏覽器打開RancherOS ip:15672 即可進入rabbitmq 的UI
三.Surging項目配置
1.修改Surging.ApiGateway網關項目下的gatewaySetting.json
2.修改Surging.ApiGateway網關項目下的Program
3.修改Surging.Services.Server\Configs\consul.json
4.修改Surging.Services.Server下的eventBusSettings.json
5.修改Surging.Services.Server下的surgingSettings.json (Rootpath: surging會掃描該路徑,加載該路徑下的模塊)
四.Surging運行起來
1.設置多項目啟動,直接F5即可運行
2,http://localhost:8001/即可查看網關UI
3.用postman請求下user模塊,Content-Type加application/json,即可看到請求結果
4.由於surging源碼帶的demo(Surging.Services.Server)是直接引用了,common模塊,因此可直接請求。現在我們來試試rootpath加載manage模塊。
我們用命令發布到 我們設置的rootpath(配置路徑就是 三--5 圖裏的 d:\surgingApp),假設我的解決方案目錄是d:\surging\src\
dotnet publish d:\surging\src\Surging.Modules\Surging.Modules.Manager\Surging.Modules.Manager.csproj -o d:\surgingApp\Modules\Manager -c release
此時我們打開POSMAN請求一下manage的服務
OK,跑起來了,咱們可以深入研究了!
Surging官方技術群:615562965
.NetCore微服務Surging新手傻瓜式 入門教程 學習日誌---先讓程序跑起來(一)