yu120 / Mconf
Licence: mit
微服务配置中心 mconf ,基于 Zookeeper和Redis实现的配置中心。提供拉取配置、订阅配置、新增配置、删除配置、修改配置等功能。支持多数据中心、多环境配置、配置分组、多版本配置等功能。
Stars: ✭ 112
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Mconf
Javafamily
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Stars: ✭ 28,668 (+25496.43%)
Mutual labels: zookeeper, redis
Nagios Plugins
450+ AWS, Hadoop, Cloud, Kafka, Docker, Elasticsearch, RabbitMQ, Redis, HBase, Solr, Cassandra, ZooKeeper, HDFS, Yarn, Hive, Presto, Drill, Impala, Consul, Spark, Jenkins, Travis CI, Git, MySQL, Linux, DNS, Whois, SSL Certs, Yum Security Updates, Kubernetes, Cloudera etc...
Stars: ✭ 1,000 (+792.86%)
Mutual labels: zookeeper, redis
Learning tools
Go 学习、Go 进阶、Go 实用工具类、Go-kit ,Go-Micro 微服务实践、Go 推送
Stars: ✭ 605 (+440.18%)
Mutual labels: redis, micro
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+282.14%)
Mutual labels: zookeeper, redis
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (-10.71%)
Mutual labels: zookeeper, redis
Onemall
芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
Stars: ✭ 5,312 (+4642.86%)
Mutual labels: zookeeper, redis
Zenko
Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
Stars: ✭ 353 (+215.18%)
Mutual labels: zookeeper, redis
Jeeplatform
一款企业信息化开发基础平台,拟集成OA(办公自动化)、CMS(内容管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,代码已经捐赠给开源中国社区
Stars: ✭ 1,285 (+1047.32%)
Mutual labels: zookeeper, redis
Eshop Soa
EShop基于Dubbo实现SOA服务化拆分,并基于RocketMQ解决了分布式事务(新版SpringBootSOASkeleton)
Stars: ✭ 65 (-41.96%)
Mutual labels: zookeeper, redis
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (+243.75%)
Mutual labels: zookeeper, redis
Superman
Superman是什么:构建Java 高级开发技术的知识体系,从基础不断打怪升级成为超人之路(更新中.......)
Stars: ✭ 106 (-5.36%)
Mutual labels: zookeeper, redis
Aquarius
🔱 Nepxion Aquarius is a list of distribution components based on Redis + Zookeeper with Nepxion Matrix AOP framework, including distribution lock, cache, id generator, limitation 分布式锁、缓存、全局唯一主键、限流
Stars: ✭ 368 (+228.57%)
Mutual labels: zookeeper, redis
Javakeeper
✍️ Java 工程师必备架构体系知识总结:涵盖分布式、微服务、RPC等互联网公司常用架构,以及数据存储、缓存、搜索等必备技能
Stars: ✭ 502 (+348.21%)
Mutual labels: zookeeper, redis
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+591.96%)
Mutual labels: zookeeper, redis
Surging
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm, built-in service gove…
Stars: ✭ 3,088 (+2657.14%)
Mutual labels: zookeeper, redis
Dis Seckill
👊SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统
Stars: ✭ 315 (+181.25%)
Mutual labels: zookeeper, redis
Whatsmars
Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)🔥🔥🔥🔥🔥
Stars: ✭ 1,389 (+1140.18%)
Mutual labels: zookeeper, redis
配置中心(Mconf)
,---. ,---. _______ ,-----. ,---. .--. ________
| \ / | / __ \ .' .-, '. | \ | | | |
| , \/ , | | ,_/ \__) / ,-.| \ _ \ | , \ | | | .----'
| |\_ /| | ,-./ ) ; \ '_ / | : | |\_ \| | | _|____
| _( )_/ | | \ '_ '`) | _`,/ \ _/ | | _( )_\ | |_( )_ |
| (_ o _) | | > (_) ) __ : ( '\_/ \ ; | (_ o _) | (_ o._)__|
| (_,_) | | ( . .-'_/ ) \ `"/ \ ) / | (_,_)\ | |(_,_)
| | | | `-'`-' / '. \_/``".' | | | | | |
'--' '--' `._____.' '-----' '--' '--' '---' QQ:191958521
开源产品介绍(微服务基础设施QQ交流群:191958521)
- 配置中心(mconf)
- 微核心(micro)
- 微服务神经元(neural)
- 微序列(sequence)
1 概述
在分布式微服务架构中,当应用数量和各个应用部署实例的数量较多时,如果还是手动去实现配置信息的修改或数据的迁移等,其效率是很低的。且认为手动操作的也有可能出现错误的情况,从而引发应用发布错地方、启动不了、发不通等情况。
为了解决以上问题,开发了基于Zookeeper的配置中心(微服务配置中心:mconf),用于解决以上问题。同时新引入了微服务配置中心也为架构带来了运维成本和故障风险。因此建议不要强制依赖mconf,即没有mconf也能正常使用,当然有了mconf更好,可以为我们解决很多繁琐的事情。mconf依赖的Zookeeper可以靠集群来实现高可用,但mconf本身的问题也是可能存在的,所以使用请慎重。
核心支持功能:
- 支持精简版mconf:管理精简版的“app-conf”结构型配置
- 支持多数据中心配置管理
- 支持多环境配置原理
- 支持配置文件分组管理
- 支持配置文件多版本管理
- 支持单个配置文件多数据项结构(List型)
- 支持配置文件存储的高可靠(由Zookeeper和Redis保证)
2 配置接口
2.1 基本接口
void connect(URL url);//Connect configuration center
boolean available();//Configuration center status
2.2 操作接口
void addConf(Cmd cmd, Object obj);//The Add Configuration Data.
void delConf(Cmd cmd);//The Delete Configuration Data.
void upConf(Cmd cmd, Object obj);//The Update Configuration Data.
<T> T pull(Cmd cmd, Class<T> cls);//The Pull Configuration Data.
<T> List<T> pulls(Cmd cmd, Class<T> cls);//The Pulls Configuration Data.
<T> void push(Cmd cmd, Class<T> cls, Notify<T> notify);//The Push Configuration Data.
void unpush(Cmd cmd);//The UnPush Configuration Data.
2.3 统计接口
List<DataConf> getApps();//The Get Apps.
List<DataConf> getConfs();//The Get Confs.
List<DataConf> getDataBodys();//The Get Data Body.
3 数据结构
3.1 连接URL
连接配置中心的URL格式:
[zookeeper/redis] ://127.0.0.1:2181/mconf?node=[node]&app=[app]&env=[env]&conf=[conf]&category=[category]&version=[version]&data=[data]&……
####3.1.1 Zookeeper
- timeout:连接超时时间,单位为ms,默认值60000ms
- session:数据过期清理时间,单位为ms,默认值6000ms
####3.1.2 Redis
- retryPeriod:数据变更探测周期,单位为ms,默认值10000ms
3.2 数据存储结构
3.2.1 Zookeeper
用curator来实现Zookeeper的操作。使用PATH节点来表示配置所属的相关信息,使用最后一层PATH的DATA区来存储JSON结构的配置数据。
第1层PATH:/mconf?……
第2层PATH:/[app]?node=[node]&……
第3层PATH:/[conf]?env=[env]&group=[group]&version=[version]&……
第4层PATH:/[data]?……
第4层DATA:{JSON Data String}
完整PATH格式:
/mconf?……/[app]?node=[node]&……/[conf]?env=[env]&group=[group]&version=[version]&……/[data]?……
3.2.2 Redis
Redis使用Map结构来存储配置信息。
Key:/mconf?……/[app]?node=[node]&……/[conf]?env=[env]&group=[group]&version=[version]&……
Field:[data]?……
Value:{JSON Data String}
4 可视化管理界面
5 功能范围
- mconf暂不支持本地缓存配置未离线文件,后期会考虑将拉下来的配置信息缓存到离线文件,解决对Zookeeper的强依赖问题。
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].