簡單微服務的搭建

2022-01-17 05:03:28 字數 2399 閱讀 5049

consul.exe agent -dev
consul預設埠是8500,開啟localhost:8500就可以看到已經啟動了consul。

應用註冊到consul,實現服務註冊發現及健康檢查。

1.引用consul的nuget包,建立管道擴充套件,單例注入consulclient。

擴充套件方法:

__";

//健康檢查

var check = new agentservicecheck()

:/heartcheck",

timeout = timespan.fromseconds(2),

deregistercriticalserviceafter = timespan.fromseconds(2)

};//註冊到consul

var register = new agentserviceregistration()

;consul.agent.serviceregister(register);

}startup中新增擴充套件:

服務注入:

services.addsingleton(x => new consulclient(c =>

));

建立乙個gateway的webapi專案,新增nuget包--ocelot(15.0.6版本)。

1.修改startup檔案

public void configureservices(iservicecollection services)

//);

}

2.新增乙個gateway.json的配置檔案
", //下游位址,就是訪問服務所需要的位址

],"upstreampathtemplate": "/", //上游位址,就是訪問閘道器的路由位址

修改program.cs,呼叫json檔案

public static ihostbuilder createhostbuilder(string args) =>

host.createdefaultbuilder(args)

).configurewebhostdefaults(webbuilder =>

);

在閘道器中新增nuget包--ocelot.provider.consul(15.0.6版本)

1.修改gateway.json檔案

", //下游位址,就是訪問服務所需要的位址

"upstreampathtemplate": "/", //上游位址,就是訪問閘道器的路由位址

"servicename": "user_service",//consul的組名,需要與服務註冊到consul時的名稱相同

"loadbalanceroptions": ,

"useservicediscovery": true//啟動服務發現}],

"globalconfiguration":

}}

2.startup檔案中新增consul的服務
public void configureservices(iservicecollection services)

1.先啟動consul,再啟動三個服務例項。

命令列啟動三個user服務,埠分別是7777、8888、9999

dotnet microservicelearn.userservice.dll --urls="http://*:" --ip="127.0.0.1" --port=
此時,我們在consul的ui介面可以看到三個服務都已經註冊到consul並通過了心跳檢測。

2.啟動閘道器專案

dotnet microservicelearn.gateway.dll --urls="http://*:1000" --ip="127.0.0.1" --port=1000
最終效果展示:

SpringCloud 微服務 搭建

單體橫向架構思想 整個專案由乙個大工程搞定。採用分布式部署,做負載均衡。也能解決日活躍量百萬級別專案 缺點 維護成本高,打包部署困難,新員工接手難度大。牽一髮而動全身 soa架構 面向服務的體系結構 service oriented architecture,soa 是乙個元件模型架構思想,經歷過s...

搭建微服務框架

jar包 org.springframework.boot spring boot starter parent 2.3.2.release org.springframework.cloud spring cloud dependencies hoxton.sr8 pomimport com.al...

Spring Cloud 搭建微服務

spring cloud 搭建微服務 資料 spring cloud 全系列 spring cloud eureka配置引數詳解 記錄 服務註冊中心 consul eureka 負載均衡 ribbon 宣告式實現呼叫http服務 feign 在使用feign時,spring cloud整合了ribb...