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

ops/2025/1/21 20:10:58/

官方示例: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"];}
}

服务发现

image

配置管理

image

image

postman

image


http://www.ppmy.cn/ops/151994.html

相关文章

基于大数据的气象数据分析与可视化系统设计与实现【爬虫海量数据,LSTM预测】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍研究目的研究意义研究思路可视化展示每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 本课题主要针对气象数据进行分析以及可…

node.js 文件操作

在 Node.js 中,文件操作主要通过内置的 fs(File System)模块来实现。 1. 读取文件 const fs require("fs");// 异步读取文件fs.readFile("example.txt", "utf8", (err, data) > {if (err) {console.erro…

uniapp时间组件

导入链接: https://ext.dcloud.net.cn/plugin?id17926

Python----Python高级(模块与包,Python基本库)

一、模块 1.1、概念 就是一个包含了Python代码的以.py为后缀的Python文件,可以被其他 Python程序导入和使用,也可以自己独立执行,里面存放着的是一组相关的函 数或者类,比如查看关键字列表时导入的keyword模块。 1.2、作用 令Py…

洛谷 P2392 kkksc03考前临时抱佛脚 刷题笔记 dfs

P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 题目分析 左右脑双核 当我们给左右脑各自分配一道题时 消耗的时间为两者中耗时较长的一道题 我们尝试把每一道题都分配给左右脑试一试 即可遍历所有答案 关键在于答案怎么取保证耗时最短 if(step>a[x])…

ingress-nginx代理tcp使其能外部访问mysql

一、helm部署mysql主从复制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解压后编辑values.yaml文件,修改如下(storageclass已设置默认类) 117 ## param architecture MySQL archit…

TCP断开通信前的四次挥手(为啥不是三次?)

1.四次握手的过程 客户端A发送 FIN(终止连接请求) A:我要断开连接了(FIN)。A进入FIN_WAIT_1状态,表示请求断开,等待对方确认。 服务器B回复 ACK(确认断开请求,但还未准备…

Vue2:el-tree用scope slot为每一个节点添加一个鼠标悬浮时出现的右对齐的按钮

el-tree中,每一个节点后面添加一个按钮,响应除节点点击事件之外的操作,要求: 1、按钮在鼠标悬浮在该节点之上时才出现 2、按钮右对齐 实现如下。 1、为每个节点添加按钮 从官网说明来看,有两种方式添加按钮,render-content和 scoped slot,我使用的是scoped slot方式…