微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移.玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等.而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个,而且他们也对.net不太友好,也只有apoll提供了官方的.net客户端.二来这些组件都太重量级了,比如apoll,光跑起来就要部署多个节点(admin,portal,meta sevice)还要依…
AgileConfig自发布以来有个"大问题"-UI太丑.因为当初这个项目是给自己用的,连UI界面都没有,全靠手动在数据库里改配置.后来匆匆忙忙使用bootstrap3简单的码了一些界面就发布出来了,易用性上也做的不够好.对此我一直耿耿于怀.终于在过年期间动手翻新UI. 对于一个后端程序员,标准的直男审美,想做出好看的UI几乎不可能.所以只能借助前端框架了.在经过一番考察后决定使用Ant-design-pro这个框架.Ant-design是当前最流行的前端组件库,Ant-design-…
YARP 是微软开源的一个反向代理项目,英文名叫 Yet Another Reverse Proxy .所谓反向代理最有名的那就是 nginx 了,没错 YARP 也可以用来完成 nginx 的大部分功能,比如根据不一样的域名代理到不一样的后端服务上.既然它可以做反向代理,那么其实也就可以做服务网关了,类似 Ocelot ,当然缺少部分功能,比如限流降级等.Anyway ,今天先来体验一下. 运行 YARP YARP 使用起来非常简单,它只是一个类库而已.我们新建一个 ASP.NET Core…
我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分. 其中服务端也称为分布式配置中心,他是独立的微服务应用,用来连接配置仓库并为客户端提供获取接口(这些接口返回配置信息.加密.解密信息等): 客户端是微服务架构中的各个微服务应用或基础设施,它们通过制定的配置中心来管理…
ZooKeeper节点的类型分为以下几类:  1. 持久节点:节点创建后就一直存在,直到有删除操作来主动删除该节点 2. 临时节点:临时节点的生命周期和创建该节点的客户端会话绑定,即如果客户端会话失效(客户端宕机或下线),这个节点自动删除 3. 时序节点:创建节点是可以设置这个属性,ZooKeeper会自动为给定的节点加上一个数字后缀,作为新的节点名.数字后缀的范围是整型的最大值 4. 临时性时序节点:同时具备临时节点与时序节点的特性,主要用于分布式锁的实现 配置中心使用ZooKeeper的持久…
我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分. 其中服务端也称为分布式配置中心,他是独立的微服务应用,用来连接配置仓库并为客户端提供获取接口(这些接口返回配置信息.加密.解密信息等): 客户端是微服务架构中的各个微服务应用或基础设施,它们通过制定的配置中心来管理…
AgileConfig 当初是设计给我自己用的一个工具,所以只设置了一道管理员密码,没有用户的概念.但是很多同学在使用过后都提出了需要多用户支持的建议.整个团队或者整个公司都使用同一个密码来管理非常的不方便. 今天 AgileConfig 1.3.0 版本终于支持了多用户,以及简单的权限管理.用户跟权限的设计,在我们开发管理系统的时候经常涉及,最常用的就是RBAC基于角色的权限控制.但是基于 AgileConfig 简单的理念,我稍微简化了一点权限控制的功能设计,尽量的降低学习成本. 权限设计…
加入 NCC 先说一个事,AgileConfig 在 7 月底终于通过了 NCC 社区的审核,正式成为了 NCC 大家庭的一员.这对 AgileConfig 来说是一个里程碑,希望加入 NCC 后能更好的帮助到大家.同时责任也更大了,本人会一如既往的对这个项目维护下去,感谢支持. release-1.4.0 本次1.4.0发布版本是一个比较大更新.解决了 AgileConfig 一些长期存在的功能上的问题.之前版本的发布.回滚只针对单独某个配置,当对某个配置编辑后会记录修改历史,并且发布后的配置…
AgileConfig 从发布到现在,收到不同学的 issue 说需要多环境的支持.也就是一个应用在不同的环境下可以配置不同的配置项.这是一个非常有用的功能,就跟我们开发的时候会设置多个 appsettings.json 文件一样,比如 appsettings.development.json .appsetting.production.json 等等.那么这次 1.5 版本就为大家带来了这个功能. 下面介绍下如何使用多环境配置功能. 运行控制台节点 拉取最新的 latest 或者 relea…
GitHub上AgileConfig非常详细,以下只是本人学习过程的整理 一.介绍 1.参考地址 https://github.com/dotnetcore/AgileConfig https://www.cnblogs.com/kklldog/p/agile-config.html 2.概念 这是一个基于.net core开发的轻量级配置中心.说起配置中心很容易让人跟微服务联系起来,如果你选择微服务架构,那么几乎逃不了需要一个配置中心.事实上我这里并不是要蹭微服务的热度.这个世界上有很多分布式…