技术栈一览

#数据结构和算法 HashMap #SpringMVC:各种注解 #SpringBoot:各种注解 #SpringCloud:各种组件

此图转载,图片来源@王璐-Louise

Netflix是一个大的模块,包含几个核心项目

  • 服务发现(Eureka)
  • 客服端负载均衡
  • 断路器(Hystrix)
  • 服务网关
  • 分布式配置

作为微服务框架,服务注册和发现组件是必不可少的。 Eureka:服务注册与发现,CP,高可用。停止更新。 Zookeeper:服务注册与发现,AP,最终一致性。Zookeeper像一个文件系统,有存储的功能,保证一致性。 Consul:SpringCloud服务注册与发现。分布式的、高可用、横向扩展的

  • service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。
  • health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。
  • key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。
  • multi-datacenter:无需复杂的配置,即可支持任意数量的区域。 点评: Zookeeper作为一个强一致性(CP)的组件,很适合大数据等一些对数据要求严格的业务场景,比如hadoop框架中,就使用的是Zookeeper。HBase和kafka Eureka是一个高可用(AP)的组件,适合互联网企业的一些应用场景,即使一些服务器宕机,也可以保证对外提供服务。但是停止维护与更新。 Consul也是一个强一致性(CP)组件,自身和SpringCloud框架融合的非常好。 题外话:除了这3个,还有其他的服务注册与发现组件,不再一一赘述,而且,Zookeeper和Consul等CP组件,也可以构建高可用集群。

一般来讲,微服务结构下,会有很多独立的业务项目,每个项目都有一套配置的话,就很繁杂,也不容易维护和保持一致。 Config:是一个配置外部化的组件。Config实现了SpringCloud的分布式配置功能。

Hystrix断路器 在微服务架构中,通常有多层服务调用。较低级别的服务中的服务故障可能导致用户级联故障。当对特定服务的呼叫达到一定阈值时(Hystrix中的默认值为5秒内的20次故障),电路打开,不进行通话。在错误和开路的情况下,开发人员可以提供后备。 注意事项: Hystrix超时和Ribbon客户 当使用包含Ribbon客户端的Hystrix命令时,您需要确保您的Hystrix超时配置为长于配置的Ribbon超时,包括可能进行的任何潜在的重试。例如,如果您的Ribbon连接超时为一秒钟,并且Ribbon客户端可能会重试该请求三次,那么您的Hystrix超时应该略超过三秒钟。

客户端负载平衡器:Ribbon Ribbon是一个客户端负载均衡器,它可以很好地控制HTTP和TCP客户端的行为。Feign已经使用Ribbon

转载于:https://my.oschina.net/u/3957231/blog/3051752

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值