我们正在开始一个新项目。它将基于微服务架构。我们正在为此考虑使用 netflix 技术堆栈。为了开发休息服务,我们将使用 dropwizard。到目前为止,一切都很好。读完后,我感到很困惑。有什么不同的用例
- 海丝特里克斯
- 尤里卡
- 丝带
我知道问题现在很模糊。我会添加更多细节,因为有人有疑问。
我们正在开始一个新项目。它将基于微服务架构。我们正在为此考虑使用 netflix 技术堆栈。为了开发休息服务,我们将使用 dropwizard。到目前为止,一切都很好。读完后,我感到很困惑。有什么不同的用例
我知道问题现在很模糊。我会添加更多细节,因为有人有疑问。
这篇文章对 Eureka 和 Ribbon 有相当的解释
Netflix Eureka - 服务发现服务器 Netflix Eureka 允许微服务在运行时注册自己,因为它们出现在系统环境中。
Netflix Ribbon - 动态路由和负载均衡器 Netflix Ribbon 可以被服务消费者用来在运行时查找服务。Ribbon 使用 Eureka 中可用的信息来定位适当的服务实例。如果找到多个实例,Ribbon 将应用负载平衡将请求分散到可用实例上。Ribbon 不作为单独的服务运行,而是作为每个服务使用者中的嵌入式组件运行。
Netflix Hystrix - 断路器 Netflix Hystrix 为服务消费者提供断路器功能。如果服务没有响应(例如由于超时或通信错误),Hystrix 可以将调用重定向到服务消费者的内部回退方法。如果一个服务反复无法响应,Hystrix 将在每个后续调用中打开电路并快速失败(即调用内部回退方法而不尝试调用该服务),直到该服务再次可用。为了确定服务是否再次可用,Hystrix 允许一些请求尝试服务,即使电路是打开的。Hystrix 执行嵌入在其服务消费者中。