springCloud五大组件

       (1)服务发现-- Netflix Eureka

     由两个组件组成:Eureka服务端和Eureka客户端

               Eureka服务端用作服务注册中心,支持集群部署

 

               工作原理: 在应用启动时,Eureka客户端向服务端注册自己的服务信息,同时将服务端的服务信息缓存到本地。客户端会和服务端进行周期性的进行心跳交互进行更新服务信息。

         (2)  客户端负载均衡 -- Netflix Ribbon

    提供客户端的软件负载均衡算法。它基于Http和Tcp的客户端负载均衡,使得面向REST请求时变换为客户端的负载服务调用。

         (3) 熔断器 -- Netflix Hystrix

               作用:断路器,保护系统,控制故障范围。为了保证高可用,单个服务通常会集群部署。当网络或者其他原因导致单个服务出现问题,调用这个服务就会出现线程阻塞,此时如果大量请求进入,Servlet容器的线程资源就会消耗完毕,最终导致服务瘫痪。服务与服务之间的依赖,故障会传播,对整个微服务框架造成灾难性的严重后果,这个就是服务故障的“雪崩”效应。

        (4)服务网关--Netflix Zuul

    作用:api网关,路由,负载均衡等作用

              类型Nginx 和F5,可以实现反向代理。

             在微服务架构中,后端服务往往不直接暴露给前端,而是通过一个Api网关根据请求的Url,路由到响应的服务(MVC机制)。当添加Api网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方进行通信进行权限控制。后将请求均衡分发给后台服务端。

          (5) 分布式配置 -- Spring Cloud Config

    作用:配置管理

              提供服务端和客户端,服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境。Config是静态配置的。

             如果需要动态配置,可以使用spring cloud bus进行动态配置更新。

posted @ 2020-06-02 21:30  北城cheng  阅读(1231)  评论(0编辑  收藏  举报