.Net Core为我们提供了一套强大的Configuration配置系统,使用简单扩展性强。通过这套配置系统我们可以将Json、Xml、Ini等数据源加载到程序中,也可以自己扩展其他形式的存储源。今天我们要做的就是通过自定义的方式为其扩展Etcd数据源操作。
何为Etdc 在使用etcd之前我们先介绍一下Etcd,我相信很多同学都早有耳闻。Etcd是一款高可用、强一致的分布式KV存储系统,它内部采用raft协议作为一致性算法,本身也是基于GO语言开发的。相信了解过K8S的同学对这个肯定不陌生,它是K8S的数据管理系统。官方地址为https://etcd.io/。
在此之前,我相信大家已经了解过很多存储系统了,Etcd到底能实现了什么功能呢?其一用于配置中心和服务发现,再者也可以实现分布式锁和消息系统。它本身就是基于目录型存储,并且内部有一套强大的Watch机制可以监听针对节点和数据的操作变化,每次对节点的事务操作都会有对于的版本信息。
通过上面的介绍是不是感觉和Zookeeper有点类似呢