初识SpringCloud(未完待续)
一 概述
Eureka:服务注册与发现,由Eureka服务端和Eureka客户端组成
Eureka服务端用作服务注册中心,支持集群部署。
Eureka客户端为一个java客户端,用来处理服务注册与发现。
在应用启动时,Eureka客户端向服务端注册自己的服务信息,同时将服务端的服务信息缓存到本地。客户端会和服务端进行周期性的进行心跳交互进行更新服务信息。
Feign:基于动态代理机制,根据注解和选择的机器,拼接请求url地址,发起请求。
Ribbon:客户端负载均衡(从一个服务的多台机器中选择一台)
提供客户端的软件负载均衡算法。它基于Http和Tcp的客户端负载均衡,使得面向REST请求时变换为客户端的负载服务调用。
Hystrix:熔断器(提供线程池,不同的服务走不同的线程,实现了不同服务调用的隔离,避免了服务雪崩的问题)
熔断器,保护系统,控制故障范围,为了保证高可用,单个服务通常会集群部署。当网络或者其他原因导致单个服务出现问题,调用这个服务就会出现线程阻塞,此时如果大量请求进入,Servlet容器的线程资源就会消耗完毕,最终导致服务瘫痪。服务于服务之间的依赖,故障会传播,对整个微服务框架造成灾难性的严重后果,即为服务故障的”雪崩”效应。
Zuul:服务网关(网关管理,由Zuul网关转发请求给对应的服务)
API网关,路由,负载均衡等作用,可以作为反向代理
在微服务框架中,后端服务往往不直接暴露给前端,而是通过一个Api网关根据请求的Url,路由到响应的服务(MVC机制)。当添加Api网关后,在第三方调用端和服务提供之间就会直接创建与调用方法进行通信机制权限控制。然后将请求均衡分配给后台服务。
Spring Cloud Config:配置管理。
还没有评论,来说两句吧...