Asp .Net Core实现微服务:使用 Nacos 实现配置管理和服务发现

官方示例:https://kgithub.com/nacos-group/nacos-sdk-csharp

安装 Nuget 包

dotnet add package nacos-sdk-csharp.AspNetCore
dotnet add package nacos-sdk-csharp.Extensions.Configuration

配置 appsettings.json

{
    "Nacos": {
        "ServerAddresses": ["http://127.0.0.1:8848/"],
        //命名空间GUID,public默认没有
        "Namespace": "",
        "UserName": "nacos",
        "Password": "nacos",
        // 配置中心
        "Listeners": [
            {
                "Group": "dev",
                "DataId": "dotnet-nacos-service",
                "Optional": false
            }
        ],
        // 服务发现
        "ServiceName": "nacos-service",
        "GroupName": ".NET Core",
        // 权重
        "Weight": 100,
        "Metadata": {
            "aa": "bb",
            "cc": "dd"
        }
    }
}

添加服务和配置

using Nacos.AspNetCore.V2;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();

// 注册服务到Nacos
builder.Services.AddNacosAspNet(builder.Configuration, section: "Nacos");

// 添加配置中心
builder.Configuration.AddNacosV2Configuration(builder.Configuration.GetSection("Nacos"));

var app = builder.Build();

// Configure the HTTP request pipeline.

app.UseAuthorization();

app.MapControllers();

app.Run();

测试

using Microsoft.AspNetCore.Mvc;

namespace NacosDemo.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private IConfiguration _configuration;

        public WeatherForecastController(IConfiguration configuration) => _configuration = configuration;

        [HttpGet]
        [Route("get")]

        public string Get() => _configuration["RedisConn"];
    }
}

服务发现

配置管理

postman

相关推荐
40岁的系统架构师4 小时前
10 为什么系统需要引入分布式、微服务架构
分布式·微服务·架构
专注VB编程开发20年5 小时前
.NET Core封装Activex Dll,向COM公开.NET Core组件
数据库·ui·.netcore·dll·com·activex
MoFe16 小时前
【.net core】【sqlsugar】时间查询示例
linux·前端·.netcore
csdn_aspnet8 小时前
C# .NetCore 使用 Flurl.Http 与 HttpClient 请求处理流式响应
c#·.netcore·httpclient·flurl.http
张某人想退休11 小时前
请简述公司的系统服务架构类型(单体架构、分布式架构、微服务架构、分层架构、集群架构、SOA 架构、中台架构)
分布式·微服务·架构
Archy_Wang_113 小时前
ASP.NET Core WebApi接口IP限流实践技术指南
后端·c#·asp.net·.netcore
nbsaas-boot14 小时前
架构设计:微服务还是集群更适合?
微服务·云原生·架构
诸葛悠闲15 小时前
SOME/IP 协议详解——服务发现
网络协议·tcp/ip·服务发现
Rinai_R16 小时前
【Golang/nacos】nacos配置的增删查改,以及服务注册的golang实例及分析
开发语言·经验分享·后端·学习·微服务·nacos·golang