zookeeper 与 spring 云配置服务器有什么区别?

What's the difference between zookeeper vs spring cloud config server?

zookeeper 与 spring 云配置服务器有何区别?它们都将配置存储在服务器中并使它们可供客户端使用。

什么时候应该用一个代替另一个?

What's the difference between zookeeper vs spring cloud config server?

使用 Spring 云配置服务器,您可以集中管理所有环境中应用程序的外部属性。配置服务器映射的概念与 Spring EnvironmentPropertySource 抽象相同,因此它们非常适合 Spring 应用程序但可以与任何应用程序运行以任何语言一起使用。

Zookeeper 不仅仅是一个分布式配置服务器,它是一个集中式服务,几乎用于 令人眼花缭乱的用例,包括配置管理、同步数据 在服务、领导人选举、消息队列之间,以及作为命名 服务。

如果您只想关注配置管理部分,我应该说,它们是同一概念的不同实现。

有了 Spring 云配置服务器,您就有了一个由(默认)git 存储库支持的配置服务器。每次对 git 存储库进行新推送时,配置服务器都会知道新的配置值。配置服务器的客户端可以从服务器中提取新的配置值并重新配置自己,或者通过连接到云总线来追求事件驱动的方法。

从本质上讲,Zookeeper 提供了一个用于存储信息的分层命名空间。客户 可以在此层次结构中插入新节点、更改它们或查询它们。此外,他们可以 向节点添加监视,以便在节点发生变化时得到通知。

When should one be used over the other?

在我看来,Spring 云似乎非常适合许多 cloud-native 应用程序,尤其是当您已经在使用 spring 框架时。此外,配置服务器基于存储库的方法对我来说更自然并且非常灵活,您可以轻松存储通用的、特定于应用程序的和基于环境的配置值。最后但同样重要的是,Spring Cloud Zookeeper 作为 spring 云的一部分提供。