我们正在启动一个新项目,它将基于微服务架构。我们正在考虑使用netflix技术栈。为了开发rest服务,我们将使用dropwizard。到目前为止一切顺利。但是在阅读一些资料后,我变得很困惑。下面是关于
- hystrix
- eureka
- ribbon
的不同用例。我知道现在问题非常模糊,我会在有人有疑问时添加更多细节。
我们正在启动一个新项目,它将基于微服务架构。我们正在考虑使用netflix技术栈。为了开发rest服务,我们将使用dropwizard。到目前为止一切顺利。但是在阅读一些资料后,我变得很困惑。下面是关于
的不同用例。我知道现在问题非常模糊,我会在有人有疑问时添加更多细节。
这篇文章详细解释了Eureka和Ribbon
Netflix Eureka - 服务发现服务器 Netflix Eureka允许微服务在运行时注册自己,以便它们出现在系统环境中。
Netflix Ribbon - 动态路由和负载均衡器 服务消费者可以使用Netflix Ribbon在运行时查找服务。Ribbon使用Eureka中可用的信息来定位适当的服务实例。如果找到多个实例,则Ribbon将应用负载平衡以将请求分散到可用实例上。Ribbon不作为单独的服务运行,而是作为每个服务消费者中的嵌入式组件运行。
Netflix Hystrix - 断路器 Netflix Hystrix为服务消费者提供断路器功能。如果服务没有响应(例如由于超时或通信错误),Hystrix可以将调用重定向到服务消费者中的内部备用方法。如果服务重复无法响应,则Hystrix将打开电路并快速失败(即在每个后续调用中调用内部备用方法而不尝试调用服务),直到服务再次可用。为了确定服务何时再次可用,Hystrix允许一些请求尝试使用服务,即使电路已打开。Hystrix在其服务消费者中执行。