.NET微服务之配置中心

简介

配置中心是对服务配置进行统一管理,用来动态修改程序执行的机制。

为什么要使用配置中心?

  • 统一性:所有服务配置统一在配置中心管理,这样更简单,不易出错。

  • 高效性:如果一个服务有多个副本,按传统方式需要改几遍,很费时间。有了配置中心,只需要改一遍就可以及时同步给其他服务副本,非常高效、及时。

  • 安全性:配置跟随源码一起保存在代码库中,容易造成配置泄漏。

创建一个Web Api项目

安装依赖包

dotnet add package Wing.Consul

 Program代码

using Wing;

var builder = WebApplication.CreateBuilder(args);

builder.Host.AddWing(builder => builder.AddConsul());

// Add services to the container.

builder.Services.AddControllers();

builder.Services.AddWing();

var app = builder.Build();

// Configure the HTTP request pipeline.

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

添加Consul配置

{
  // 是否启用配置中心,默认启用
  "ConfigCenterEnabled": true,
  "Consul": {
    "Url": "http://localhost:8500",
    "Service": {
      //Http  Grpc
      "Option": "Http",
      "HealthCheck": {
        "Url": "http://localhost:2210/health",
        //单位:秒
        "Timeout": 10,
        //单位:秒
        "Interval": 10
      },
      "Name": "Wing.Demo_2.2",
      "Host": "localhost",
      "Port": 2210,
      "LoadBalancer": {
        //RoundRobin  WeightRoundRobin LeastConnection
        "Option": "WeightRoundRobin",
        //权重
        "Weight": 60
      },
      // 配置中心的Key,如果为空,则取服务名
      "ConfigKey": "",
      "Scheme": "http",
      "Developer": "linguicheng"
    },
    //定时同步数据时间间隔,单位:秒 小于等于0表示立即响应
    "Interval": 10,
    //数据中心
    "DataCenter": "dc1",
    //等待时间,单位:分钟
    "WaitTime": 3
  }
}

配置中心添加配置信息

 

{
   "Test":"hello wing"
}

查看运行效果

  • 读取配置中心添加的配置信息
[HttpGet]
public string Test()
{
    return App.Configuration["Test"];
}

本教程基于.NET微服务框架Wing,项目地址:https://gitee.com/linguicheng/Wing

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微服务注册中心是微服务架构中的一个关键组件,用于管理和维护微服务的注册和发现。在.NET微服务架构中,常用的微服务注册中心包括Consul、Eureka和Zookeeper等。这些注册中心提供了服务注册、服务发现和负载均衡等功能,使得微服务之间可以方便地进行通信和协作。 Consul是一个开源的分布式服务发现和配置管理系统,它提供了一个可靠的注册中心,用于注册和发现微服务。Consul使用Gossip协议进行节点之间的通信,支持ACL访问控制,并采用Raft算法保证服务的高可用性。通过Consul,微服务可以注册自己的服务实例,并通过查询接口来发现其他服务的实例,从而实现微服务之间的通信。 Eureka是Netflix开源的服务发现组件,也是一个常用的微服务注册中心。它使用RESTful接口进行服务注册和发现,并提供了负载均衡和故障转移等功能。Eureka采用了客户端-服务器架构,其中Eureka Server负责管理服务注册和发现,而Eureka Client则负责将自己的服务注册到Eureka Server,并从Eureka Server获取其他服务的信息。 Zookeeper是一个分布式协调服务,也可以用作微服务注册中心。它提供了一个可靠的分布式数据存储和协调机制,用于管理和维护微服务的注册和发现。Zookeeper使用ZAB协议进行节点之间的通信,并提供了高可用性和一致性保证。微服务可以将自己的服务注册到Zookeeper,并通过查询接口来发现其他服务的实例。 总之,.NET微服务架构中的注册中心是用于管理和维护微服务的注册和发现的关键组件。常用的微服务注册中心包括Consul、Eureka和Zookeeper等,它们提供了服务注册、服务发现和负载均衡等功能,使得微服务之间可以方便地进行通信和协作。 #### 引用[.reference_title] - *1* *3* [asp.net微服务架构(概述)](https://blog.csdn.net/CrtLife/article/details/117029560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [『注册中心』Consul微服务注册中心的使用及相关集群搭建](https://blog.csdn.net/qq_34202873/article/details/106429687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值