Zookeeper vs Eureka在微服务中的作用是什么?



我将在我的应用程序中实现一组微服务的编排。我找到了Apache Zookeeper和Netflix Eureka的两个广泛使用工具。

任何人都可以根据基本差异进行比较,这两种服务有吗?

还有其他功能强大的工具吗?

我将在我的应用程序中实施一组微服务的编排。

这是一个很难解决的问题。您可能会使用现有的编排系统更好(见下文(。

还有其他功能强大的工具吗?

您应该研究Kubernetes,这似乎是编排的标准。它具有许多额外的好处(启用可扩展性,自我修复等(,并在今天的生产中广泛使用。请参阅以下链接:

  • kubernetes网页
  • 文章

关于比较Zookeeper,Eureka和Kubernetes:

  • Zookeeper是一个分布式钥匙值存储。它可以用作实现服务发现的基础(类似于ETCD(。
  • Eureka主要是一个服务定位器,用作Netflixes加载平衡器和故障转移的一部分(允许找到正确的服务目标,以将客户端呼叫分配给应用程序集群的成员(。
  • Kubernetes是一种容器编排解决方案,包括服务的部署,发现和自我修复。有关功能的完整列表,请检查上面的链接。Kubernetes中的服务发现基于它跨越的虚拟网络中的DNS,并基于ETCD。
  • 领事(在另一个答案中提到(是一个服务发现框架,具有REST接口和一些其他功能(健康检查,服务细分,..(。它具有自己的内部分布式钥匙值存储,也可以使用。

可能会领事。

尤里卡(Eureka(主要是一种服务发现工具,主要设计用于在AWS基础架构内部使用。

Zookeeper是一个通用的分布式密钥/值商店,可与Curator-X-Discovery Framework一起用于服务 - 发现

这是服务 - 发现解决方案的简要概述

您还可以在此处找到领事与尤里卡vs Zookeeper的比较。

尽管领事和Zookeeper一样 - 不仅可以用于发现,而且可以用作钥匙/值商店,但领事的优势是很酷的服务发现功能

  1. dns开箱即用
  2. 方便的静坐API
  3. healthcheck api开箱即用

领事也具有更多的分布性质:代理已安装在所有服务VM上,因此该系统的可用性高于Zookeeper。请注意,领事系统在数据中心之间的耦合较低。

Zookeeper已经成熟,但太通用了。因此,您不仅可以使用Zookeeper进行服务发现,而且可以用于存储配置,分布式锁,通知等。同样,将所有这些功能与策展人框架/策展人配方一起使用很方便。

Zookeeper正在使用群集中的节点之间的主/从属通信模式。主由集群成员选举。请注意,当群集中的1个主人更多主人时,可能会有边缘案例(例如由于网络问题(。在这种情况下,重新启动集群会有所帮助。

尤里卡(Eureka(与Zookeeper和领事的差异是尤里卡(Eureka(是狭窄的系统 - 服务发现和负载平衡系统。

所有3个系统都可以与弹簧集成。

最新更新