2018-11-30 09:55

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。

引用来自“许雪里”的评论

几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。

引用来自“就像风”的评论

假设1个配置项需要占用1K的空间,那么1G的空间可以容纳 1,048,576 个配置项,超过千万。事实上实际场景平均每个配置项所需要占用的空间只能用字节计算,所以实际1G空间能存在的配置项要远远高于这个。从实际出发目前没有哪个项目能够拥有如此多的配置项。

引用来自“许雪里”的评论

配置中心是承担各业务所有项目的,不知道你们有多少项目要接入,我见过一个配置中心接入上千个项目的,部分配置一条几百K,所以需要细粒度到KV格式,都是前人的经验总结。

你提到 ”假设一个配置1k” ,还有”没有哪个项目有这么多配置” ,你假设不存在的情况,恰好是我们遇到的问题,这认知有区别,讨论下去没有意义的,打住吧。

引用来自“就像风”的评论

就占用空间的问题继续讨论也不会有任何意义。

不过我需要强调一点数据放在内存,完全不会限制应用的横向扩展。因为数据最终还是持久化在DB中的。
👍 其实合适的就是最好的,你是要解决你遇到的问题,#xxl-conf# 是要解决我们以及 #xxl-conf# 用户的问题。没有绝对的优劣。
2018-11-30 09:53
#xxl-conf# 跨机房特性已经更新到文档: http://www.xuxueli.com/xxl-conf/

可参考章节 “5.9 跨机房(异地多活)”

---
得益于配置中心集群关系对等特性,集群各节点提供幂等的配置服务;因此,异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;

举个例子:比如机房A、B 内分别部署配置中心集群节点。即机房A部署 a1、a2 两个配置中心服务节点,机房B部署 b1、b2 两个配置中心服务节点;

那么各机房内应用只需要请求本机房内部署的配置中心节点即可,不需要跨机房调用。即机房A内业务应用请求 a1、a2 获取配置、机房B内业务应用 b1、b2 获取配置。

这种跨机房部署方式实现了配置服务的 "异地多活",拥有以下几点好处:

1、配置服务加载更快:配置请求本机房内搞定;
2、配置服务更稳定:配置请求不需要跨机房,不需要考虑复杂的网络情况,更加稳定;
2、容灾性:即使一个机房内配置中心全部宕机,仅会影响到本机房内应用加载服务,其他机房不会受到影响。
2018-11-30 09:41

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。

引用来自“许雪里”的评论

几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。

引用来自“就像风”的评论

假设1个配置项需要占用1K的空间,那么1G的空间可以容纳 1,048,576 个配置项,超过千万。事实上实际场景平均每个配置项所需要占用的空间只能用字节计算,所以实际1G空间能存在的配置项要远远高于这个。从实际出发目前没有哪个项目能够拥有如此多的配置项。

引用来自“许雪里”的评论

配置中心是承担各业务所有项目的,不知道你们有多少项目要接入,我见过一个配置中心接入上千个项目的,部分配置一条几百K,所以需要细粒度到KV格式,都是前人的经验总结。

你提到 ”假设一个配置1k” ,还有”没有哪个项目有这么多配置” ,你假设不存在的情况,恰好是我们遇到的问题,这认知有区别,讨论下去没有意义的,打住吧。
就占用空间的问题继续讨论也不会有任何意义。

不过我需要强调一点数据放在内存,完全不会限制应用的横向扩展。因为数据最终还是持久化在DB中的。
2018-11-30 06:52

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。

引用来自“许雪里”的评论

几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。

引用来自“就像风”的评论

假设1个配置项需要占用1K的空间,那么1G的空间可以容纳 1,048,576 个配置项,超过千万。事实上实际场景平均每个配置项所需要占用的空间只能用字节计算,所以实际1G空间能存在的配置项要远远高于这个。从实际出发目前没有哪个项目能够拥有如此多的配置项。
配置中心是承担各业务所有项目的,不知道你们有多少项目要接入,我见过一个配置中心接入上千个项目的,部分配置一条几百K,所以需要细粒度到KV格式,都是前人的经验总结。

你提到 ”假设一个配置1k” ,还有”没有哪个项目有这么多配置” ,你假设不存在的情况,恰好是我们遇到的问题,这认知有区别,讨论下去没有意义的,打住吧。
2018-11-30 00:01

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。

引用来自“许雪里”的评论

几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。
假设1个配置项需要占用1K的空间,那么1G的空间可以容纳 1,048,576 个配置项,超过千万。事实上实际场景平均每个配置项所需要占用的空间只能用字节计算,所以实际1G空间能存在的配置项要远远高于这个。从实际出发目前没有哪个项目能够拥有如此多的配置项。
2018-11-29 23:12

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。

引用来自“许雪里”的评论

几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。
1. 配置是MB级别的,事实上你目前的配置有达到GB级别又或者你遇到了GB级别的配置管理场景吗?当然前提是要从实际角度出发,毕竟配置是纯文本管理,我从前面采用ZK那一套KV存储方式完全能够得出,如果你纯文本的配置达到GB级别,可以想象那是什么场景。
2. android, ios 也直接配置这有何问题?
3. xxl-conf 对于跨机房有做啥特别的处理?显然没有,所以你能实现的其它都能实现,这显然不是xxl-conf特有的。我前面也说过了跨机房的实现方式有很多做法,显然xxl-conf并没有在其中做什么特别的工作。
2018-11-29 22:13

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。

引用来自“就像风”的评论

1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。
几个问题。
1、配置仅仅是MB级别?
2、android,ios也直连配置中心拿配置?
3、跨机房不重要?

这几个问题,我们认知有本质的区别。

我们遇到过一个kv配置就几百K,嘉定、北京等多机房,要容灾,等等。

因为遇到的问题不一样,所以要解决的痛点也不一样,等你也遇到我们的问题,就明白我们的设计出发点了。
2018-11-29 21:33

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。

引用来自“许雪里”的评论

因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。
1. 支持海量数据对于配置中心来说也只是MB的量级,没有哪个企业的配置能达到GB的量级,即便有那也早早的会进行业务拆分。
2. 说 #DuiC# 不支持横向扩展,其实并不了解#DuiC#的实现,#DuiC#会利用数据库做服务管理,在修改数据后会即时通知各个实例更新内存中的配置(毫秒级),所以#DuiC#在集群部署时甚至不需要一行配置或者一行代码,只管启实例即可。
3. #DuiC# 能将所有配置放置在内存中是对于产品本身有一个合理的定位,因配置所占用的内存非常有限,所以性能是首先要追求的,其实是#DuiC#支持按需要获取配置,如果查库这效率实在太低而且不实用。
4. #DuiC# 的定位并不仅仅是服务端的配置管理,而是管理整个产品线上的应用配置包括android/ios/web等。
5. 多机房部署,这实现方式有很多种当然#DuiC#也是可以实现的,不过这个特性的重要程度对于一个配置管理来说到底有多重要,我觉得还是需要考量的。
2018-11-29 18:36

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60

引用来自“就像风”的评论

为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。
因为 XXL-CONF 定位不同,线上公司接入也有一些了,个别公司配置数量很小但是非常多。
所以迭代方向是:支持海量配置,多机房集群部署。

你提到的这个看了一下,其他特性还不错,但是数据放内存,这一条就限制了它的横向扩展性。

这里的秒级,指的是集群全部节点,同时刷新,1s以内送达。而不是单机,或者部分机器。
2018-11-29 17:15

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍

引用来自“许雪里”的评论

废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60
为什么废弃zk推送就会从毫秒级变成秒级? #DuiC# 依然可以做到毫秒级推送。
2018-11-29 14:43
废弃ZK这个决定犹豫很久。最终决定废弃的理由如下:

1,成本高:依赖zk,需要额外维护一套zk集群,维护成本较高。移除之后,成本大大降低。

2,横向扩展受限:依赖zk,接入方数量受限于zk集群规模。当配置数量与接入方越来越多,对zk的watch与读写压力越来越大。移除zk后,理论上可以无限水平扩展。

当然,移除zk也有缺点。

1,强一致性特性,退化成最终一致性。
2,毫秒级推送更新,退化为秒级别推送更新。

如果需要强一致性特性,可以使用 XXL-CONF 1.5.x 版本,将会一同持续维护。
2018-11-29 14:43

引用来自“jlkm2010”的评论

一开始就该废弃zk
一开始被ZK的强一致性吸引了。😆
2018-11-29 14:16
一开始就该废弃zk
2018-11-29 13:30

引用来自“prelove88”的评论

惊喜来得太快了,说干就干,这速度!!!👍👍👍
废弃ZK其实有得有失,不过决定了就是要干:https://github.com/xuxueli/xxl-conf/issues/60
2018-11-29 13:21
惊喜来得太快了,说干就干,这速度!!!👍👍👍
2018-11-29 12:26
很多人在说废弃ZK,但是往往用另一个产品替换而已。

既然要废弃,就要彻底废弃。

XXL-CONF 底层架构升级之后,彻底完成轻量级改造,无论单机还是集群部署,第三方零依赖。
回复 @
{{emojiItem.symbol}}
返回顶部
顶部