day44_java_基础巩固

简介: 自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!

SpringCloud 是什么?

SpringCloud 是一系列框架的集合,集成 SpringBoot,提供很多优秀服务:服务发现

和注册,统一配置中心, 负载均衡,网关, 熔断器等的一个微服务治理框架.

SpringCloud 的优势?

因为 SpringCloud 源于 Spring,所以它的质量,稳定性,持续性都是可以保证的。

SpringCloiud 天热支持 SpringBoot 框架,就可以提高开发效率,能够实现需求。

SpringCloud 更新很快,后期支持很给力。

SpringCloud 可以用来开发微服务。

SpringCloud 有哪些核心组件?

Eureka: 注册中心, 服务注册和发现

Ribbon: 负载均衡, 实现服务调用的负载均衡

Hystrix: 熔断器

Feign: 远程调用

Zuul: 网关

Spring Cloud Config: 配置中心

(1)Eureka

提供服务注册和发现, 是注册中心. 有两个组件: Eureka 服务端和 Eureka 客户端

Eureka 服务端: 作为服务的注册中心, 用来提供服务注册, 支持集群部署.

Eureka 客户端: 是一个 java 客户端, 将服务注册到服务端, 同事将服务端的信息缓存

到本地, 客户端和服务端定时交互.

Eureka-Server:就是服务注册中心(可以是一个集群),对外暴露自己的地址。

提供者:启动后向 Eureka 注册自己信息(地址,服务名称等),并且定期进行服务续

消费者:服务调用方,会定期去 Eureka 拉取服务列表,然后使用负载均衡算法选出一

个服务进行调用。

心跳(续约):提供者定期通过 http 方式向 Eureka 刷新自己的状态

2. 服务下线、失效剔除和自我保护

服务的注册和发现都是可控制的,可以关闭也可以开启。默认都是开启

注册后需要心跳,心跳周期默认 30 秒一次,超过 90 秒没发心跳认为宕机

服务拉取默认 30 秒拉取一次.

Eureka 每个 60 秒会剔除标记为宕机的服务

Eureka 会有自我保护,当心跳失败比例超过阈值(默认 85%),那么开启自我保护,不

再剔除服务。

Eureka 高可用就是多台 Eureka 互相注册在对方上.

(2)Ribbon

Ribbon 是 Netflix 发布的云中服务开源项目. 给客户端提供负载均衡, 也就是说

Ribbon 是作用在消费者方的.

简单来说, 它是一个客户端负载均衡器, 它会自动通过某种算法去分配你要连接的机

器.

SpringCloud 认为 Ribbon 这种功能很好, 就对它进行了封装, 从而完成负载均衡.

Ribbon 默认负责均衡策略是轮询策略.

(3)Hystrix 熔断器

有时候可能是网络问题, 一些其它问题, 导致代码无法正常运行, 这是服务就挂了, 崩

溃了. 熔断器就是为了解决无法正常访问服务的时, 提供的一种解决方案.

解决因为一个服务崩溃而引起的一系列问题, 使问题只局限于这个服务中,不会影响其

他服务.

Hystrix 提供了两种功能, 一种是服务降级, 一种是服务熔断.

1. 服务降级原理

Hystrix 为每个服务分配了小的线程池, 当用户发请求过来, 会通过线程池创建线

程来执行任务, 当创建的线程池已满或者请求超时(这里和多线程线程池不一样,不

存在任务队列), 则启动服务降级功能.

降级指的请求故障时, 不会阻塞, 会返回一个友好提示(可以自定义, 例如网站维

护中请稍后重试), 也就是说不会影响其他服务的运行.

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
监控 NoSQL Redis
day52_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
存储 消息中间件 NoSQL
day48_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
运维 Dubbo Java
day35_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
day38_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
|
存储 NoSQL MongoDB
day60_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
存储 安全 Java
java基础相关知识
java语言是面向对象语言,他和面向过程C不同点是,有封装、继承、多态,万物皆是对象,但是执行效率面向过程稍微快些。
52 0
|
消息中间件 存储 负载均衡
day56_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
Java 数据库连接 Spring
day42_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
缓存
day47_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
XML Java 应用服务中间件
day39_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i