1. 程式人生 > >.NetCore微服務Surging新手傻瓜式 入門教程 學習日誌---先讓程序跑起來(一)

.NetCore微服務Surging新手傻瓜式 入門教程 學習日誌---先讓程序跑起來(一)

des 安裝 spro expect logs boot hyper-v 準備工作 use

原文:.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不對兒失敗)
  獲取 node1 的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新手傻瓜式 入門教程 學習日誌---先讓程序跑起來(一)