![](https://img-blog.csdnimg.cn/65bcc33e7ae44706a3331a0e14f052b9.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringCloud
文章平均质量分 85
SpringCloud 为开发人员提供了在分布式系统中快速构建一些通用模式的工具(例如配置管理、服务发现、微服务等),使用 SpringCloud 开发人员可以快速地建立实现这些模式的服务和应用程序。
低吟不作语
这是最坏的时代,也是最好的时代
展开
-
服务链路追踪 —— SpringCloud Sleuth
随着业务的发展,系统规模变得越来越大,微服务拆分越来越细,各微服务间的调用关系也越来越复杂。客户端请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,几平每一个请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超时或者错误都有可能引起整个请求最后的失败。原创 2023-10-08 12:27:06 · 156 阅读 · 0 评论 -
分布式事务 —— SpringCloud Alibaba Seata
传统的单体应用中,业务操作使用同一条连接操作不同的数据表,一旦出现异常就可以整体回滚。随着公司的快速发展、业务需求的变化,单体应用被拆分成微服务应用,原来的单体应用被拆分成多个独立的微服务,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题无法保证。在微服务架构中,一次业务请求需要操作多个数据源或需要进行远程调用,就会产生分布式事务问题。原创 2023-10-06 09:42:58 · 157 阅读 · 0 评论 -
消息总线 —— SpringCloud Bus
Spring Cloud Bus 是 Spring Cloud 体系内的消息总线,支持 RabbitMQ 和 Kafka 两种消息中间件。所谓消息总线,简单理解就是一个消息中心,众多微服务实例都可以连接到总线上,实例可以往消息中心发送或接收信息,例如:实例 A 发送一条消息到总线上,总线上的实例 B 可以接收到信息(实例 B 订阅了实例 A),消息总线充当一个中间者的角色,使得实例 A 和实例 B 解耦。原创 2023-10-04 12:15:25 · 337 阅读 · 0 评论 -
消息驱动 —— SpringCloud Stream
Spring Cloud Stream 是用于构建消息驱动的微服务应用程序的框架,提供了多种中间件的合理配置Destination Binders:目标绑定器,目标指的是 Kafka 或者 RabbitMQ,绑定器就是封装了目标中间件的包,如果操作的是 Kafka,就使用 Kafka Binder,如果操作的是 RabbitMQ,就使用 RabbitMO BinderBindings:外部消息传递系统和应用程序之间的桥梁,提供消息的“生产者”和“消费者”(由目标绑定器创建)原创 2023-10-02 20:11:46 · 1084 阅读 · 0 评论 -
熔断、限流、降级 —— SpringCloud Alibaba Sentinel
Sentinel 是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性Sentinel 用来实现微服务系统中服务熔断、降级等功能Sentinel Dashboard 用来监控微服务系统中流量调用等情况。原创 2023-10-01 16:24:13 · 1639 阅读 · 0 评论 -
声明式调用 —— SpringCloud OpenFeign
Spring Cloud Feign 是一个 HTTP 请求调用的轻量级框架,可以以 Java 接口注解的方式调用 HTTP 请求,而不用通过封装 HTTP 请求报文的方式直接调用Feign 通过处理注解,将请求模板化,当实际调用的时候传入参数,根据参数再应用到请求上,进而转化成真正的请求。原创 2023-09-30 14:43:33 · 243 阅读 · 0 评论 -
负载均衡 —— SpringCloud Netflix Ribbon
Ribbon 是 Netfix 客户端的负载均衡器,可对 HTTP 和 TCP 客户端的行为进行控制。为 Ribbon 配置服务提供者地址后,Ribbon 就可以基于某种负载均衡算法自动帮助服务消费者去请求。Ribbon 默认提供了很多负载均衡算法,例如轮询、随机等,也可以为 Ribbon 实现自定义的负载均衡算法Rule:该组件主要决定从候选服务器中返回哪个服务器地址进行远程调用的操作Ping:在后台运行的组件,用来确认哪些服务器是存活可用的。原创 2023-09-23 21:58:22 · 430 阅读 · 0 评论 -
微服务网关 —— SpringCloud Gateway
Spring Cloud Gateway 基于 Spring 5、Spring Boot 2 和 Project Reactor 等技术,是在 Spring 生态系统之上构建的 API 网关服务,Gateway 旨在提供一种简单而有效的方式来对 API 进行路由以及提供一些强大的过滤器功能,例如熔断、限流、重试等基于 Spring Framework 5、Project Reactor 以及 Spring Boot 2.0 进行构建能够匹配任何请求属性。原创 2023-09-02 17:57:37 · 763 阅读 · 0 评论 -
微服务网关 —— SpringCloud Netflix Zuul
鉴权:对于访问每个服务的请求进行鉴权,拒绝鉴权失败的请求监控:对系统的请求进行监控,记录请求响应日志,实时统计当前系统的访问量以及监控状态压力测试:帮助对集群进行可控的压力测试灰度测试:灰度发布可以保证整体系统的稳定,在初始灰度时就可以发现问题并进行调整动态路由:基于请求路径,将请求分发到指定的客户端负载控制:统一控制客户端请求压力,超过压力的请求直接拒绝静态响应处理:在边缘位置直接建立部分响应,避免其流入内部集群。原创 2023-08-27 10:22:53 · 646 阅读 · 0 评论 -
注册中心/配置管理 —— SpringCloud Consul
Consul 是一个可以提供服务发现,健康检查,多数据中心,key/Value 存储的分布式服务框架,用于实现分布式系统的发现与配置。Cousul 使用 Go 语言实现,因此天然具有可移植性,安装包仅包含一个可执行文件,直接启动即可运行,方便部署。原创 2023-08-19 11:43:56 · 1304 阅读 · 0 评论 -
注册中心 —— SpringCloud Netflix Eureka
Eureka 是一个基于 REST 的服务发现组件,SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务注册与发现,同时提供了负载均衡、故障转移等能力,目前 Eureka2.0 已经不再维护,故不推荐使用Eureka Server:服务注册中心组件,提供了服务的注册与发现的接口。原创 2023-08-13 12:15:08 · 864 阅读 · 0 评论 -
注册中心/配置管理 —— SpringCloud Alibaba Nacos
Nacos 是一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生的应用程序服务发现和服务健康监测:服务提供者使用原生 SDK、OpenAPI 等注册服务后,服务消费者可以使用 HTTP&API 查找和发现服务。Nacos 提供对服务的实时健康检查,阻止向不健康的主机或服务实例发送请求动态配置服务:动态配置服务可以让你以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。原创 2023-08-06 17:02:57 · 361 阅读 · 0 评论