首页 > 编程语言 >ASP .NET Core 使用 Agile Config配置中心

ASP .NET Core 使用 Agile Config配置中心

时间:2022-12-09 18:01:27浏览次数:69  
标签:Core ASP agile 配置 db Agile 控制台 config 节点

当服务逐渐的增多,对各服务的配置管理愈加重要,轻量级的配置中心,入手或是搭建都简单许多,基于.net core开发的轻量级配置中心AgileConfig,功能强大,上手简单。
Agile Config支持热更新。AgileConfig Client连上节点后每30s会跟节点心跳一次。每次心跳都会比较Client上所有配置的hash跟服务端的所有配置的hash是否一致,如果不一致那么会全量刷新一次配置。
当客户端读取配置后会在本地生成一个app.agileconfig.client.configs.cache文件。如果线上节点离线,会从本地配置读取。

项目地址:

部署

拉取镜像

docker pull  kklldog/agile_config:latest

# mysql使用下面的镜像
docker pull  kklldog/agile_config:mysqlconnector

初始化数据库

用户只需要手工建一个空库,所有的表在第一次启动的时候都会自动生成。目前支持sqlserver,mysql,sqlite, PostgreSql,Oracle 五种数据库。 provider对照:

  • sqlserver = SqlServer
  • mysql = MySql
  • sqlite = Sqlite
  • npgsql = PostgreSql
  • oracle = Oracle

运行服务端

docker run -d --name StarCityAgileConfig -e TZ=Asia/Shanghai -e adminConsole=true \
 -e db:provider=mysql \
 -e db:conn="Server=xxx; Database=xxx;Port=xxx;charset=utf8;uid=xxx;pwd=xxx;" \
 -p 9527:5000 \
 -v /dockerdata/agileconfig:/app/db \
 kklldog/agile_config:latest

使用sqlserver数据库需要在连接串上加上 TrustServerCertificate=True;
通过docker建立一个agile_config实例,其中有3个环境变量需要配置:

  1. adminConsole 配置程序是否为管理控制台。如果为true则启用控制台功能,访问该实例会出现管理界面。
  2. db__provider 配置程序的数据库类型。目前程序支持:sqlserver,mysql,sqlite, PostgreSql,Oracle 五种数据库。
  3. db__conn 配置数据库连接串

使用 docker-compose 运行多节点集群, 环境变量 cluster=true 会尝试获取容器的 IP ,主动注册到节点列表:

version: '3'
services:
  agile_config_admin:
    image: "kklldog/agile_config"
    ports:
      - "15000:5000"
    networks:
      - net0
    volumes:
      - /etc/localtime:/etc/localtime
    environment:
      - TZ=Asia/Shanghai
      - adminConsole=true
      - cluster=true
      - db__provider=mysql
      - db__conn= database=configcenter;data source=192.168.0.115;User Id=root;password=mdsd;port=3306
  agile_config_node1:
    image: "kklldog/agile_config"
    ports:
      - "15001:5000"
    networks:
      - net0
    volumes:
      - /etc/localtime:/etc/localtime
    environment:
      - TZ=Asia/Shanghai
      - cluster=true
      - db__provider=mysql
      - db__conn= database=configcenter;data source=192.168.0.115;User Id=root;password=mdsd;port=3306
    depends_on:
      - agile_config_admin
  agile_config_node2:
    image: "kklldog/agile_config"
    ports:
      - "15002:5000"
    networks:
      - net0
    volumes:
      - /etc/localtime:/etc/localtime
    environment:
      - TZ=Asia/Shanghai
      - cluster=true
      - db__provider=mysql
      - db__conn= database=configcenter;data source=192.168.0.115;User Id=root;password=mdsd;port=3306
    depends_on:
      - agile_config_admin
networks:
  net0:

Agile Config Web使用

初始化管理员密码

第一次运行程序需要初始化超级管理员密码,超管用户名固定为 admin

节点

AgileConfig支持多节点部署,所有的节点都是平行的。为了简化部署,AgileConfig并没有单独的控制台程序,请直接使用任意一个节点作为控制台。当环境变量adminConsole=true时,该节点同时兼备数据节点跟控制台功能。为了控制台能够管理节点,所以需要在控制台配置节点的信息。

标签:Core,ASP,agile,配置,db,Agile,控制台,config,节点
From: https://www.cnblogs.com/RainFate/p/16969634.html

相关文章

  • .net core 中 WebApiClientCore的使用
    WebApiClient接口注册与选项1配置文件中配置HttpApiOptions选项配置示例"IUserApi":{"HttpHost":"http://www.webappiclient.com/","UseParameterProper......
  • [2core]Log和Log4net的配置使用
    一、准备尽管在asp.netcore中几乎把所有能DI化的技术、知识和概念都依赖注入,不过本人还是想不让自己的项目那么DI化,完全没有必要“为了DI而DI”。这篇文章记录日志在asp.......
  • AspNetCoreWebAPI使用Serilog通过配置appsettings记录日志
    继上一篇AspNetCore中使用Serilog记录日志-点终将连成线-博客园(cnblogs.com)中的日志记录配置都是写死在Program中的,本篇是通过配置文件进行配置日志记录的参数1、......
  • asp.net 大文件分片上传处理
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......
  • ASP.NET2.0的multiview和wizard控件
    最近学习asp.net2.0中,偶遇这两个新控件,故翻译老在asp.net1.1中,如果要做一个具有向导式的应用程序,是比较麻烦的。所谓向导式应用,就是说比如一个注册用......
  • ASP.NET2.0中用Gridview控件操作数据
    在​​ASP.NET​​2.0中,加入了许多新的功能和控件,相比asp.net1.0/1.1,在各方面都有了很大的提高。其中,在数据控件方面,增加了不少控件,其中的Gridview控件功能十分强大。在本......
  • ASP.NET Core缓存Redis最佳实践+分布式Session+单点登录(SSO)
    《ASP.NETCore分布式缓存RedisLock分布锁最佳实践》1、JMeter模拟高并发工具简单入门使用2、redis分布式锁介绍3、高并发扣减库存带来的问题与思考4、netcore基于StackE......
  • ASP.NET Core跨平台WebApi+Jwt+HttpClient构建API接口服务实战
    《ASP.NETCore高级编程必备实战技能实践》1、一图看懂ASP.NETCore中的服务生命周期2、ASP.NETCore中的服务生命周期实例讲解3、查看ASP.NETCore容器已注册服务列表4......
  • (4)ASP.NET HttpRequest 类
    HttpRequest类的主要作用是读取客户端在Web请求期间发送的HTTP值。​​https://msdn.microsoft.com/zh-cn/library/system.web.httprequest(v=vs.110).aspx​​ 1.获......
  • Reason=Low socket*core*thread count, Low CPUs [slurm@2021-09-15T15:18:53]
    提交作业:#srunhostnamesrun:Requirednodenotavailable(down,drainedorreserved)srun:job58queuedandwaitingforresources查看作业状态:squeue58compute......