博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud的组件和概念介绍
阅读量:6636 次
发布时间:2019-06-25

本文共 876 字,大约阅读时间需要 2 分钟。

SpringCloud是基于SpringBoot实现的一套微服务框架,包括Eureka、Ribbon、Hystrix、Feign、Zuul等。

Eureka:注册中心

要管理分布式环境下的各个Spring Boot微服务,必然存在服务的注册问题。所以我们先从服务的注册谈起。既然是注册,必然有个管理注册中心的服务器,各个在Spring Cloud管理下的Spring Boot应用就是需要注册的client。

Ribbon:负载均衡

顾名思义,不用解释。

Hystrix:起到自我保护的作用

解决的问题:雪崩问题(比如生产汽车,一个零件不能使用,其他的都要等待这个零件修复好才能使用,这样的话会导致整个工厂陷入等待的状态,陷入瘫痪)

方法:线程隔离,服务熔断(降级)

意思:把每个功能的线程进行隔离,这样的话可以保证一个功能失败的话其他功能还能继续使用;然后的话如果线程池已满或者请求超时的话,返回一个友好的提示信息(比如连接失败)。

熔断的状态:开启、关闭、半打开 

关闭:服务器的熔断状态是关闭的,所有请求正常访问

开启:所有请求会被降级,Hystric会对请求情况进行比较,当一定时间内失败请求百分比打到一个值时会触发熔断,默认的值是50%

半打开:关闭的状态不是永久的,关闭后会进入休眠时间(默认5秒),随后熔断器进入半打开状态,此时会释放部分请求通过,如果都是健康的话熔断器不会打开,否则将会打开。

相关属性配置:

circuitBreaker.requestVolumeThreshold:触发熔断的最小次数,默认20

circuitBreaker.errorThresholdPercentage:触发熔断的失败请求最小占比,默认50%

circuitBreaker.sleepWindowInMilliseconds:休眠时长,默认5000毫秒

Feign:声明式服务调用,也就远程调用。

Zuul:服务的网关,可以进行拦截等操作。

转载于:https://www.cnblogs.com/zengjiao/p/10127612.html

你可能感兴趣的文章
理解环境变量 JAVA_TOOL_OPTIONS
查看>>
sql server 索引阐述系列八 统计信息
查看>>
阿里云服务器更改时区为utc
查看>>
APP测试流程和测试点
查看>>
ansible实战
查看>>
PowerShell 远程管理之启用和执行命令
查看>>
Java实现二叉树及相关遍历方式
查看>>
nrf51822, How to use a vendor specific UUID?
查看>>
Jackson xml json
查看>>
【翻译】Sklearn与TensorFlow机器学习实用指南 —— 第16章 强化学习(上)
查看>>
Python第一讲——高质量数据挖掘模型开发七步法
查看>>
运维老鸟教你安装centos6.5如何选择安装包
查看>>
终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月
查看>>
企业级nginx基础、负载、读写分离技术(续一)
查看>>
利用DBMS_ADVISOR.TUNE_MVIEW包生成物化视图创建语句
查看>>
系统安装EMC多路径软件
查看>>
Web前端——Head区域代码规范
查看>>
我认为的android入门学习策略
查看>>
ssh服务配置
查看>>
Windows 8 异步编程
查看>>