Spring Cloud 模块的相关介绍如下:
Eureka:服务注册中心,用于服务管理。
Ribbon:基于客户端的负载均衡组件。
Hystrix:容错框架,能够防止服务的雪崩效应。
Feign:Web 服务客户端,能够简化 HTTP 接口的调用。
Zuul:API 网关,提供路由转发、请求过滤等功能。
Config:分布式配置管理。
Sleuth:服务跟踪。
Stream:构建消息驱动的微服务应用程序的框架。
Bus:消息代理的集群消息总线。
1.Eureak服务注册与发现:
a.服务端,也称为服务注册中心:
Eureka Server在启动的时候会创建一个定时任务,默认每隔一段时间(默认为60秒)将当前清单中
超时(默认为90秒)没有续约的服务剔除出去.
# 定义服务失效的时间,默认90秒
eureka.instance.lease-expiration-duration-in-seconds=90
使用到的依赖:
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
使用到的注解:
@EnableEurekaServer 表示使用 Eureka Server 端功能,也就是启动为一个注册中心节点。
b.客户端,也成为服务提供者,主要处理服务的注册与发现。:*
客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,
Eureka客户端向注册中心注册(也就是服务的发送心跳,默认30秒发送一次,以证明服务状态可用)自身提
供的服务并周期性地发送心跳来更新它的服务租约。
# 定义服务续约任务的调用间隔时间,默认30秒
eureka.instance.lease-renewal-interval-in-seconds=30
使用到的依赖:
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
使用到的注解:
@EnableEurekaClient 表示要注册到注册中心
# 关闭保护机制,以确保注册中心可以将不用的实例正确剔除(本地调试可以使用,线上不推荐)
eureka.server.enable-self-preservation=false
2.分布式配置中心组件spring cloud config:
支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.
a.config server:
使用到的依赖:
org.springframework.cloud
spring-cloud-config-server
使用到的注解:
@EnableConfigServer注解开启配置服务器的功能
b.config client:
使用到的依赖:
org.springframework.cloud
spring-cloud-starter-config
使用到的注解:
@EnableConfigServer 注解开启配置服务器的功能
@Value("${xxx.xxx.xxx}") 获取配置文件里配置的信息