无名商城论坛

搜索
查看: 296|回复: 0

[其他技术] 【L·S】基于.NetCore的一个轻量级配置中心【一】

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 17:34:45 | 显示全部楼层 |阅读模式

AgileConfig
这是一个基于.net core开发的轻量级配置中心。

部署简单,最少只需要一个数据节点,支持docker部署
支持多节点分布式部署来保证高可用
配置支持按应用隔离,应用内配置支持分组隔离
使用长连接技术,配置信息实时推送至客户端
支持IConfiguration,IOptions模式读取配置,原程序几乎可以不用改造
配置修改支持版本记录,随时回滚配置
架构
AgileConfig的架构比较简单,主要是分3块:

客户端
客户端程序是使用netstandard2.0开发的一个类库,方便.net core程序接入,nuget搜agileconfig.client就可以安装。可以在启动客户端的时候配置多个节点的地址,客户端会随机挑选一个进行连接,连接成功后会维持一个websocket长连接。如果连接的节点发生故障导致连接中断,客户端会继续随机一个节点进行连接,直到连接成功。

节点、管理程序
节点是使用asp.net core开发的一个服务。为了部署简单,直接把管理程序跟节点服务合二为一了。任何一个节点都可以在启动的时候配置环境变量开启管理程序功能。

数据库
使用数据库来存储数据,目前支持Sqlserver, Mysql, Sqlite 三种数据库。因为服务端使用EF Core框架访问数据,原则上只要EF Core支持的数据库,节点就可以很方便的支持它。
部署服务端
初始化数据库
用户只需要手工建一个空库,所有的表在第一次启动的时候都会自动生成。目前支持sqlserver,mysql,sqlite三种数据库。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表