微服务架构——netflix 技术栈

Posted

技术标签:

【中文标题】微服务架构——netflix 技术栈【英文标题】:Microservice arcitecture - netflix technology stack 【发布时间】:2015-10-02 18:09:05 【问题描述】:

我们正在开始一个新项目。它将基于微服务架构。我们正在为此考虑使用 netflix 技术堆栈。为了开发休息服务,我们将使用 dropwizard。到目前为止,一切都很好。读完后,我感到很困惑。

有什么不同的用例 hystrix 尤里卡 丝带

我知道现在的问题很模糊。如果有人有疑问,我会添加更多详细信息。

【问题讨论】:

【参考方案1】:

这篇文章对 Eureka 和 Ribbon 有很好的解释

Netflix Eureka - 服务发现服务器 Netflix Eureka 允许微服务在运行时注册自己,因为它们出现在系统环境中。

Netflix Ribbon - 动态路由和负载均衡器 服务消费者可以使用 Netflix Ribbon 在运行时查找服务。 Ribbon 使用 Eureka 中可用的信息来定位适当的服务实例。如果找到多个实例,Ribbon 将应用负载平衡将请求分散到可用实例上。 Ribbon 不作为单独的服务运行,而是作为每个服务使用者中的嵌入式组件运行。

Netflix Hystrix - 断路器 Netflix Hystrix 为服务消费者提供断路器功能。如果服务没有响应(例如由于超时或通信错误),Hystrix 可以将调用重定向到服务消费者中的内部回退方法。如果服务反复无法响应,Hystrix 将在每次后续调用中打开电路并快速失败(即调用内部回退方法而不尝试调用服务),直到服务再次可用。为了确定服务是否再次可用,Hystrix 允许一些请求尝试服务,即使电路是打开的。 Hystrix 在其服务消费者中嵌入执行。

http://callistaenterprise.se/blogg/teknik/2015/04/10/building-microservices-with-spring-cloud-and-netflix-oss-part-1/

【讨论】:

Spencer GIbb 也有一个非常好的演示应用程序和演示幻灯片,可以从高层次上介绍这些工具。幻灯片很好地分解了每一部分。 github.com/spencergibb/oscon2015 我为我们自己的公司构建了一个使用 jaxrs/resteasy、ribbon 接口和一个 eurekaserver 的非常基本的简洁概念证明。该代码在 Wildlfy 9 上运行,但通常很有用。没有观察者,也没有什么花哨的。 github.com/Bjond/ribbon-resteasy-poc

以上是关于微服务架构——netflix 技术栈的主要内容,如果未能解决你的问题,请参考以下文章

架构师必读:微服务架构设计指南

微服务架构技术栈选型手册(万字长文)

微服务架构~Netflix的微服务是如何分层的

什么是微服务架构?主流的微服务如何实现?

全面解析Netflix的微服务架构设计

微服务架构技术栈选型手册¶