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

news/2024/5/19 23:43:26 标签: .netcore

1、安装nuget包

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);

启动后

4、使用服务发现

/// <summary>
/// 服务发现-调用
/// </summary>
/// <returns></returns>
[HttpPost("find")]
public async Task<string> 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;
}
/// <summary>
/// 得到ip和端口
/// </summary>
/// <param name="instance"></param>
/// <returns></returns>
public static string GetIpPort(this Instance instance)
{
    return $"{instance.Ip}:{instance.Port}";
}

5、注册配置中心

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

随意添加配置

6、使用配置中心

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

    return "ok";
}

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

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

然后自由发挥吧


http://www.niftyadmin.cn/n/5329261.html

相关文章

alibaba.item_get API:电商行业中的数据驱动决策支持

alibaba.item_get API 是阿里巴巴提供的一个用于获取商品详情的接口。在电商行业中&#xff0c;数据驱动的决策支持是非常重要的&#xff0c;而这个 API 可以帮助你获取到商品的各种详细信息&#xff0c;从而为你的决策提供支持。 具体来说&#xff0c;通过使用 alibaba.item_…

java基础:使用冒泡排序求数组的最大值

什么是冒泡排序 冒泡排序是一种简单的排序算法&#xff0c;其基本思想是多次遍历待排序的元素&#xff0c;比较相邻的两个元素&#xff0c;如果顺序不对则交换它们的位置&#xff0c;直到整个序列按照从小到大&#xff08;或从大到小&#xff09;的顺序排列。 具体的步骤如下&…

gsap timeline示例-实现滚动切换手机颜色

前言 最近使用gsap有点上瘾。看过一个手机官网滚动切换手机颜色的效果&#xff0c;初次见还是很炫。所以呢&#xff0c;就去研究了下&#xff0c;发现也不过如此。我们现在使用gsap来实现它。 首先来看最终效果&#xff1a; gsap timeline示例-实现滚动切换手机颜色 实现原理…

[linux]同步缓冲区数据到flash

一、需求 由于linux自身策略问题&#xff0c;在某些情况下需主动同步数据到flash。 二、方案 同步数据的两种方式&#xff1a;sync和fsync 2.1sync 将整个缓冲区同步至flash。性能较差。 2.2fsync -d [file] 将某一文件的数据同步至flash。 三、应用实例 3.1sync 3.2f…

x-cmd pkg | tokei - 代码行数统计工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 tokei 是一个使用 Rust 编写的显示有关代码统计信息的命令行工具&#xff0c;可以分门别类的统计目录内的代码行数。 tokei 具有良好的跨平台性&#xff0c;可以在 Linux、macOS、Windows 等多种平台上安装运行。 首…

linux基础学习(3):挂载

挂载可以理解为给磁盘空间一个可访问的入口&#xff0c;那个入口称为挂载点&#xff0c;相当于windows中的盘符。 1.挂载命令mount 1.1直接输入mount 查看系统已挂载的设备 1.2挂载与卸载命令 mount -t 文件系统名 设备文件名 挂载点 | umount 挂载点 或 umount 设…

申泰勇教练的独家人物化身系列即将登陆 The Sandbox

申泰勇&#xff08;Shin Tae-yong&#xff09;教练是足球界的传奇人物&#xff0c;他来到 The Sandbox&#xff0c;推出了自己的专属人物化身系列。作为前 K 联赛中场球员和印尼队取得历史性成就的幕后教练&#xff0c;他的传奇经历现在已经影响到了虚拟世界。 向过去、现在和未…

openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题

文章目录 openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题198.1 分析查询效率异常降低的问题198.1.1 问题现象198.1.2 处理办法 openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题 198.1 分…