.net core 6 集成nacos的服务注册和配置中心

1、安装nuget包

.net core 6 集成nacos的服务注册和配置中心_第1张图片

2、加上配置文件

"nacos": {
  "ServerAddresses": [ "http://127.0.0.1:8848" ],
  "GroupName": "DEFAULT_GROUP",
  "ClusterName": "DEFAULT",
  "ServiceName": "webapi",
  "DefaultTimeOut": 5000,
  "Namespace": "public",
  "Password": "nacos",
  "UserName": "nacos",
  "ListenInterval": 3000,
  "ConfigUseRpc": false,
  "NamingUseRpc": false,
  "Listeners": [
    {
      "Group": "DEFAULT_GROUP",
      "DataId": "webapi",
      "Optional": false
    }
  ]
}

        注意:

        "ConfigUseRpc": false
        "NamingUseRpc": false

        http连接选false否则配置中心可能会获取不到内容

3、注册

//注册nacos
builder.Services.AddNacosAspNet(builder.Configuration);

启动后

.net core 6 集成nacos的服务注册和配置中心_第2张图片

4、使用服务发现

/// 
/// 服务发现-调用
/// 
/// 
[HttpPost("find")]
public async Task Find([FromServices] INacosNamingService nacosNaming)
{
    Instance instance = await nacosNaming.SelectOneHealthyInstance("webapi", "DEFAULT_GROUP");
    string ip = instance.GetIpPort();
    HttpTool tool = new HttpTool();

    string str = await tool.PostSendMessage($"http://{ip}/nacos/get", string.Empty);

    return str;
}
/// 
/// 得到ip和端口
/// 
/// 
/// 
public static string GetIpPort(this Instance instance)
{
    return $"{instance.Ip}:{instance.Port}";
}

5、注册配置中心

//配置中心
builder.Services.AddNacosV2Config(builder.Configuration);

随意添加配置

.net core 6 集成nacos的服务注册和配置中心_第3张图片

6、使用配置中心

/// 
/// 配置中心
/// 
/// 
/// 
[HttpPost("config")]
public async Task GetConfig([FromServices] INacosConfigService nacosConfigService)
{
    string str = nacosConfigService?.GetConfigAndSignListener("test", "DEFAULT_GROUP", 3000, new Tools.ConfigListener()).Result ?? "";
    NacosTool? nacosTool = str.JsonTo();

    return "ok";
}

7、配置变化的监听方法,结合第6点

/// 
/// 配置变化监听
/// 
public class ConfigListener : IListener
{
    /// 
    /// 监听方法
    /// 
    /// 
    public void ReceiveConfigInfo(string configInfo)
    {
        Trace.WriteLine("接收到配置变化信息");
    }
}

然后自由发挥吧

你可能感兴趣的:(.netcore)