SpringCloud
spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
Eureka
服务注册与发现
1.配置Eureka信息
2.@EnableEurekaServer 主类上开启注册中心
微服务的通信是HTML为信息。
服务方可以在Controller发送消息
service
consumer
1.配置
2.@EnableDiscoverClient 开启发现服务功能 在主类上
3.消费服务
url:是服务方的工程名/服务的方法
<!-- SpringCloud的版本 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐dependencies</artifactId>
<version>Camden.SR5</version>
</dependency>
<!-- 使用springcloud项目 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐config-server</artifactId>
</dependency>
Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。
Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。
Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。
Zuul:网关管理,由 Zuul 网关转发请求给对应的服务。
spring cloud 断路器的作用是什么
在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。