【2020-03-08】SpringCloud 基础 Hystrix、Zuul、Config
SpringCloud 基础 Hystrix、Zuul、Configspringcloud 基础项目 github https://github.com/ybsdegit/SpringCloud服务熔断 Hystrix (断路器)服务端服务雪崩对于高流量的应用,单一的后端依赖坑你导致所有服务在几秒内饱和我们需要 弃车保帅Hystrix避免级联故障,提高分布式系统的弹性备...
·
SpringCloud 基础 Hystrix、Zuul、Config
springcloud 基础项目 github
https://github.com/ybsdegit/SpringCloud
服务熔断 Hystrix (断路器)服务端
-
服务雪崩
对于高流量的应用,单一的后端依赖坑你导致所有服务在几秒内饱和
我们需要 弃车保帅 -
Hystrix
避免级联故障,提高分布式系统的弹性
备选响应 -
服务熔断
熔断机制是应对雪崩效应的一种微服务链路保护机制当链路某个微服务不可用获取响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息
服务降级 Hystrix (客户端)
- 服务熔断
- 服务端
- 某个服务超时或者异常,引起熔断
- 服务降级
- 客户端
- 从整体网站请求负载考虑 当某个服务熔断或者关闭之后,服务将不被调用
- 此时客户端可以准备一个 FallbackFactory, 返回一个默认的值(缺省值)
- 整体服服务水平下降了。好歹能用,比直接挂掉强
@SpringBootApplication
@EnableEurekaClient // 在服务启动后自动注册到eureka中
@EnableDiscoveryClient // 服务发现
@EnableCircuitBreaker // 添加对熔断的支持 断路器
@Bean
public ServletRegistrationBean hystrixMetricsStreamServlet(){
ServletRegistrationBean registrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
registrationBean.addUrlMappings("/actuator/hystrix.stream");
return registrationBean;
}
Zuul 网关
- 实现外部访问统一入口
- 过滤
- Zuul 和 Eureka 整合
zuul 配置
server:
port: 9527
spring:
application:
name: springcloud-zuul
# Eureka 配置,服务注册地址
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
instance:
instance-id: springcloud-zuul-9527 # 修改Eureka上的默认,描述信息
prefer-ip-address: true # true 可以显示ip地址
info:
app.name: paulson-springcloud
company.name: ybs
zuul:
routes:
mydept.serviceId: springcloud-provider-dept
mydept.path: /mydept/**
ignored-services: springcloud-provider-dept # 不能再使用这个路径访问了
prefix: /ybs # 公共的访问前缀
# ignored-services: * # 隐藏全部
Spring Cloud Config
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
server:
port: 3344
spring:
application:
name: springcloud-config-server
cloud:
config:
server:
git:
uri: https://gitee.com/paulsonwier/springcloud-config.git
# 通过config-server可以连接到git访问其中的资源和配置
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)