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

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

寫下此文章只爲了記錄Surging微服務學習過程,而且分享給廣大想學習surging的基友,方便廣大基友快速入門,讓程序跑起來。html

本篇文章只記錄讓Surging跑起來,暫時不涉及部署方面,本文參考了其餘幾位大佬的文章,精簡整理的node

一.準備工做

  1.先把surging搞下來https://github.com/dotnetcore/surginglinux

  2.Win10 Hyper-v開啓來,咱們本篇中使用輕量linux-- rancherOS,虛機環境搭建請移步文章git

  3. RancherOS環境暫時只使用 rabbitmq跟consulgithub

二.運行環境搭建,在RancherOS安裝Rabbitmq跟consul(此段配置是照搬http://www.javashuo.com/article/p-moqrpwlv-by.html)

1.安裝consul

$ docker pull consul   --下載consul 鏡像

這位老鐵的consul 服務發現介紹的還行 consul 服務發現 集羣 docker 版docker

我提煉了一下 執行一下命令就好了,作兩個consul服務小集羣,嘻嘻json

因爲docker默認建立容器每次重啓會從新分配容器內部IP,會致使集羣的join的IP 連接不上從而重啓失敗!bootstrap

咱們設置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

相關文章
相關標籤/搜索