Config分布式配置中心
Config 分布式配置中心1、Config 分布式配置中心介绍1-1、分布式系统面临的配置问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。
SpringCloud 提供了 ConfigServer 来解决这个问题,我们每一个微服务自己带着一个 application.yml,上百个配置文件的管理…/(ㄒ o ㄒ)/~~
1-2、是什么SpringCloud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。
1-3、怎么玩SpringCloud Config 分为 服务端 和 客户端 两部分。
服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口
客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息配置服务器默认采用 git ...
Gateway网关
Gateway 网关1、Gateway 简介1-1、官网上一代 zuul 1.X:https://github.com/Netflix/zuul/wiki
当前 gateway:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/
1-2、是什么SpringCloud Gateway 是 SpringCloud 的一个全新项目,基于 Spring5.O+Springboot 2.0 和 ProjectReactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。
SpringCloudGateway 作为 SpringCloud 生态系统中的网关,目标是替代 Zuul,在 SpringCloud2.0 以上版本中,没有对新版本的 zuul2.0 以上最新高性能版本进行集成,仍然还是使用的 Zuul 1.x 非 Reactor 模式的老版本。而为了提升网关的性能,SpringCloud Gateway 是基于 Web ...
服务降级——Hystrix断路器
服务降级——Hystrix 断路器1、Hystrix 简述1-1、分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败
服务雪崩:多个微服务之间调用的时候,假设微服务 A 调用微服务 B 和微服务 C,微服务 B 和微服务 C 又调用其它的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务 A 的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。
对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和,比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加、备份队列、线程和其他系统资源紧张,导致整个系统发生更多的级联故障,这些都表示需要对故障和延迟进行隔离和管理,以便单个依赖关系的失败,不能取消整个应用程序或系统,所以,通常当你发现一个模块下的某个实例失败后,这时候这个模块依然还会接收流量,然后这个有问题的模块还调用了其他的模块,这样就会发生级联故障,或者叫雪崩。
1-2、Hystrix 是什么Hystrix 是一个用于处理分布式系统 ...
OpenFeign服务接口调用😐😐
OpenFeign 服务接口调用 😐😐1、OpenFeign 简介1-1、OpenFeign 是什么Feign 是一个声明式 WebService 客户端,使用 Feign 能让编写 Web Service 客户端更加简单。
它的使用方法是定义一个服务接口然后在上面添加注解,Feign 也支持可拔插式的编码器和解码器,Spring Cloud 对 Feign 进行了封装,使其支持了 Spring MVC 标准注解和 HttpMessageConverters,Feign 可以与 Eureka 和 Ribbon 组合使用以支持负载均衡。
GitHub:https://github.com/spring-cloud/spring-cloud-openfeign
官网解释:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign
1-2、能干嘛Feign 旨在使编写 Java Http 客户端变得更容易,前面在使用 Ribbon+RestTempl ...
Ribbon负载均衡服务调用😐😐
Ribbon负载均衡服务调用😐😐1、Ribbon简介1-1、是什么Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。
2-2、官网资料https://github.com/Netflix/ribbon/wiki/Getting-Started
Ribbon目前也进入维护模式 https://github.com/Netflix/ribbon
未来替换方案
1-3、能干吗LB负载均衡(Load Balance)是什么?
简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用),常见的负载均衡有软件Nginx,LVS,硬件 F5等
...
三个注册中心异同点⭐⭐⭐
三个注册中心异同点 ⭐⭐⭐
1、CAPC:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错性)
CAP 理论关注粒度是数据,而不是整体系统设计的策略
2、经典 CAP 图最多只能同时较好的满足两个。
CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大CP - 满足一致性,分区容忍性的系统,通常性能不是特别高AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些
AP(Eureka):AP 架构:
当网络分区出现后,为了保证可用性,系统 B 可以返回旧值,保证系统的可用性。
结论:违背了一致性 C 的要求,只满足可用性和分区容错,即 AP
CP(Zookeeper/Consul)CP 架构:
当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性
结论:违 ...