nacos基础使用 #
服务地址:http://nacos.mall3s.com/nacos
在Mall3s中所有的服务都需要使用nacos作为配置中心,并且需要做服务注册中心统一管理。
mall3s分为四个命名空间。
public/dev/test/pro分别代表公共服务配置,开发环境配置,测试环境配置和正式生产环境配置。
dotnetcore使用nacos #
nacos服务注册与发现 #
1) launchSettings.json环境变量添加 #
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",
"SKYWALKING__SERVICENAME": "test.Mall3s.HelloWorld"
}
2) appsettings添加配置中心 #
请将ServiceName改为当前服务的名字,记住只支持字母数字下划线或横线(spring cloud gateway不支持小数点)。
{
"NacosConfig": { //nacos配置中心
"Listeners": [ //监听下面的配置(设置了的数据会自动加载到Configuration中)
{
"Optional": false,
"DataId": "Mall3s.Cache",
"Group": "Mall3s.ServiceFabric"
},
{
"Optional": false,
"DataId": "Mall3s.DbConnStr",
"Group": "Mall3s.ServiceFabric"
},
{
"Optional": false,
"DataId": "Mall3s.Oauth",
"Group": "Mall3s.ServiceFabric"
},
{
"Optional": false,
"DataId": "Mall3s.CommonSettings",
"Group": "Mall3s.ServiceFabric"
},
{
"Optional": false,
"DataId": "Mall3s.Mall3sApp",
"Group": "Mall3s.ServiceFabric"
}
],
"ServerAddresses": [ "http://121.4.154.38:30099/" ],
"UserName": "nacos",
"Password": "erp1276",
"DefaultTimeOut": 5000,
"Namespace": "69c4eecb-05bd-4041-81fe-1473f95f578c", //dev开发环境
"ListenInterval": 1000,
"ServiceName": "mall3s.test",
"GroupName": "Mall3s.ServiceFabric",
"ClusterName": "DEFAULT",
// "Ip": "localhost", //改成自己的服务ip,不填默认读取当前本机ip
"Port": 5001, //改成环境端口
//"PreferredNetworks": "",
"Weight": 100,
"RegisterEnabled": true,
"InstanceEnabled": true,
"Ephemeral": true,
"Secure": false,
//"AccessKey": "",
// "SecretKey": "",
"ConfigUseRpc": false,
"NamingUseRpc": false,
"NamingLoadCacheAtStart": ""
}
}
3) 引用微服务包Mall3s.ServiceFabric #
4) startup需要引用微服务 #
webBuilder.Inject().UseMicroService()
5)startup加入2个微服务库 #
public void ConfigureServices(IServiceCollection services)
{
//添加微服务
services.AddMicroService(Configuration);
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
//注入mall3s微服务
app.UseMicroService(Configuration);
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}