.net使用nacos設定,手把手教你分散式設定中心

2023-04-24 12:01:42

.net使用nacos設定,手把手教你分散式設定中心

Nacos是一個更易於構建雲原生應用的動態服務發現、設定管理和服務管理平臺。

這麼優秀的分散式服務管理平臺,怎麼能不接入呢?

nacos的安裝和使用這裡就不細說了,可以參考網上教學和官方檔案。https://nacos.io/zh-cn/docs/quick-start.html

我們以建立一個webapi專案為例手把手教你使用Nacos進行設定管理和服務註冊

1.建立專案

建立一個webapi專案

2、專案設定

新增Nacos依賴

	 <PackageReference Include="nacos-sdk-csharp" Version="1.3.4" />
	 <PackageReference Include="nacos-sdk-csharp.AspNetCore" Version="1.3.4" />
	 <PackageReference Include="nacos-sdk-csharp.Extensions.Configuration" Version="1.3.4" />
	 <PackageReference Include="nacos-sdk-csharp.IniParser" Version="1.3.4" />
	 <PackageReference Include="nacos-sdk-csharp.YamlParser" Version="1.3.4" />

!

修改appsettings.json

新增nacos設定

"NacosConfig": {
    //設定中心
    "Listeners": [
      {
        "Optional": false,
        "DataId": "netTestConfig",
        "Group": "zltest"
      }
    ],
    //名稱空間GUID
    "Namespace": "bf644fca-1276-415a-89de-428331e96a46",
    "ServerAddresses": [ "172.16.9.88:8848" ],
    //服務發現
    "ServiceName": "netTest",
    "GroupName": "zltest"
  }

3.Program.cs載入設定

//註冊服務
builder.Services.AddNacosAspNet(builder.Configuration,section: "NacosConfig");
//設定nacos設定
builder.Host.UseNacosConfig(section: "NacosConfig", parser: null, logAction: null);

4.Nacos 上新增組態檔

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "NacosConfig": {
    //設定中心
    "Listeners": [
      {
        "Optional": false,
        "DataId": "netTestConfig",
        "Group": "zltest"
      }
    ],
    //名稱空間GUID
    "Namespace": "bf644fca-1276-415a-89de-428331e96a46",
    "ServerAddresses": [ "172.16.9.88:8848" ],
    //服務發現
    "ServiceName": "netTest",
    "UserName": "nacos",
    "Password": "nacos",
    "GroupName": "zltest"
  },
  "DbConfig":{
      "DbType": 0,
      //資料庫連線字串
      "ConnectionString": "Data Source=localhost;port=3306;Initial Catalog=TNBLOG;uid=root;pwd=1234567;CharSet=utf8mb4;Allow User Variables=true;",
      "IsAutoCloseConnection": true
  }
}

5.寫個介面顯示Naocs的設定

6.驗證結果

啟動服務

服務註冊結果

服務列表中顯示我們的服務:nettest

設定引數獲取結果

介面返回nacos上的設定