第五十六章:Spring Cloud容器

Spring Cloud中文网

Spring Cloud 是什么?

Spring Cloud 是一系列框架的有序集合,将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。

Spring Cloud 优缺点

基于注解,没有配置文件,解耦的

Spring Cloud 和 Dubbo 对比

Dubbo 只是实现了服务治理,而 Spring Cloud 实现了微服务架构的方方面面,服务治理只是其中的一个方面。Spring Cloud 基于 Spring Boot,基于http协议,Dubbo基于RPC协议。

SpringCloud分布式开发

五大常用spring cloud子项目

  • 服务发现——Netflix Eureka:

  • 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。

  • Eureka服务注册与发现

  • 运行原理:

      服务提供者和消费者都注册到Eureka服务器上,浏览器访问消费者地址,消费者会通过Eureka服务器上服务提供者的名字,找到提供者的真实路径,进行调用。高可用时可以搭建几个Eureka服务器,互相注册,复制各自信息。

    作用:透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何api侵入。

      eureka是springcloud的一个子项目,通过rest api来调用。更看重高可用和分区容错性。springcloud对构建微服务架构有一套完整的技术栈; zookeeper只是一个单纯的服务注册组件,通过rpc方式调用。zookeeper更加看重一致性和分区容错性。很难说谁好谁坏,还是根据公司业务做技术选型吧。

  • 客服端负载均衡——Netflix Ribbon:

    扫描二维码关注公众号,回复: 4668192 查看本文章
  • 提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件

  • 断路器——Netflix Hystrix:

  • 断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正​​,应用程序可以尝试调用操作。

  • 断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。

  • 服务网关——Netflix Zuul:类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。

  • 分布式配置——Spring Cloud Config:配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。

猜你喜欢

转载自blog.csdn.net/java_wxid/article/details/85228445
今日推荐