Disconf、Apollo和Nacos分布式配置框架差异对比

news/2024/7/12 2:33:50 标签: eureka, Disconf, Nacos, Apollo

差异对比表格:

功能点DisconfApolloNacos
依赖高可用框架完全依赖于Zookeeper来实现监听拉取,向外提供了HTTP拉取数据接口依赖于Eureka实现内部服务发现注册,提供HTTP接口给Client SDK拉取监听数据内部自研实现框架高可用
CAP理论偏重点Zookeeper是CP,因此是CPEureka为AP,因此为AP尽管Nacos支持CP和AP两种模式,但作为配置中心官方定义只能为AP
开源方百度携程阿里
开源社区情况停止维护,star5.5K社区活跃,star27.7K社区活跃,star25.4K
Spring集成情况没有提供集成包,需要自行根据需求配置对应的SpringBean支持Springbot和SpringCloud,没有传统SpringMVC集成包支持SpringMVC、Springboot和Springcloud
配置界面功能功能较少,无配置审计提供审计、灰度发布、版本回滚和编辑发布提供审计、回滚和灰度发布
开源时间201620162018
配置实时推送HTTP拉取,Zookeeper长连接监听http long polling拉取监听2.0长连接拉取监听,1.0 http long polling拉取监听
配置格式校验不支持支持支持
分布式配置中等,需配置Zookeeper集群和Server复杂,需配置Portal、Admin Service和Config Service简单,仅需配置Nacos Server即可
数据一致性协议ZAB协议Eureka协议CP的raft协议,AP的Distro协议
多机房不支持多机房的负载均衡,需要依赖于SLB等三方组件支持支持自身多机房和SLB三方组件
多环境支持支持支持

综合来看,Nacos的优势是毋庸置疑的,承受住了双十一的流量,且进步十分迅速,有阿里背书,维护团队无需担心。

如果还有其它的功能差异点需要了解欢迎评论提出,我也查漏补缺研究一波。

三个配置框架原理传送门:

  1. Apollo原理浅析;
  2. Nacos框架服务注册发现和配置中心原理;
  3. Disconf-Client端原理分析和使用思考。

*注:本表格数据截止2023.2.20


http://www.niftyadmin.cn/n/82705.html

相关文章

nginx命令

启动sudo brew services start nginx4、查看nginx版本nginx -v15、重新启动nginx服务sudo brew services restart nginx6、关闭nginx服务sudo brew services stop nginx在终端中输入ps -ef|grep nginx如果执行的结果是501 15800 1 0 12:17上午 ?? 0:00.00 nginx: master proc…

SpringCloud alibaba-Sentinel服务降级策略

文章目录RT:异常比例:异常数:RT: 平均响应时间 (DEGRADE_GRADE_RT):当 1s 内持续进入 N 个请求,对应时刻的平均响应时间(秒级)均超过阈值(count,以 ms 为单位…

【C++提高编程】C++全栈体系(二十二)

C提高编程 第三章 STL - 常用容器 五、stack容器 1. stack 基本概念 概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈中进入数据称为 — 入…

FrontendBlocks 可视化前端低代码设计器 3.7版本发布

介绍 项目地址:https://gitcode.net/yumeisoft/frontend-blocks FrontendBlocks专注于页面实时的效果呈现、静态布局设计以及不断逼近产品级的前端代码生成 FrontendBlocks 是一款强大的所见即所得前端页面设计器,是低代码开发领域的基础设施&#xff…

【PTA Advanced】1144 The Missing Number(C++)

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 思路 代码 题目 Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list. Input Specification: Each input file contains…

MySQL 运算符及优先级

MySQL 运算符 MySQL 主要有以下几种运算符: 算术运算符比较运算符逻辑运算符位运算符算术运算符 MySQL 支持的算术运算符包括: 运算符作用加法-减法*乘法/ 或 DIV除法% 或 MOD取余 在除法运算和模运算中,如果除数为0,将是非法除数&#x…

Selenium原理

我们使用Selenium实现自动化测试,主要需要3个东西1.测试脚本,可以是python,java编写的脚本程序(也可以叫做client端)2.浏览器驱动, 这个驱动是根据不同的浏览器开发的,不同的浏览器使用不同的webdriver驱动…

C#开发的OpenRA的OpenGL创建纹理流程

C#开发的OpenRA的OpenGL创建纹理流程 由于OpenRA采用的是OpenGL来显示游戏画面, 那么它就必然采用纹理来显示了。 并且由于它是2D的游戏,所以3D的模型是没有的,只要使用纹理贴图,就可以完全实现了游戏的功能。 OpenGL的纹理要起作用,需要经过一系列的动作。 先要使用glGen…