Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署
springcloud如何实现服务注册与发现?
服务发布时指定对应的服务名(IP地址和端口号),将服务注册到注册中心(eureka和zookeeper),但是这一切是Springcloud自动实现的,只需要在SpringBoot的启动类上加上@EnableDisscoveryClient注解,同一服务修改端口就可以启动多个实例调用方法:传递服务名称通过注册中心获取所有的可用实例,通过负载均衡策略(Ribbon和Feign)调用对应的服务
springcloud核心组件简介
1.Spring Cloud核心组件:Eureka
微服务架构中的注册中心,专门负责服务的注册与发现
Eureka Client:负责将这个服务的信息注册到Eureka Server中
Eureka Server:注册中心,里面有一个注册表,保存了各个服务所在的机器和端口
2.Spring Cloud核心组件:Feign
基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求
3.Spring Cloud核心组件:Ribbon
它的作用是负载均衡,会帮你在每次请求时选择一台机器,均匀的把请求分发到各个机器上
4.Spring Cloud核心组件:Hystrix
发起请求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题
5.Spring Cloud核心组件:Zuul
如果前端、移动端要调用后端系统,统一从Zuul网关进入,由Zuul网关转发请求给对应的服务