
Spring Cloud
文章平均质量分 92
Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。
逆流°只是风景-bjhxcc
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
展开
-
【Spring Cloud】Gateway的配置与使用
Gateway其实是springcloud 原生的东西,但是我还是想放在这里讲,因为我们使用nacos时,前端调用服务之后,一般会调用到我们的网关上面,然后网关选择我们的nacos服务,再调用后端的服务在当今微服务架构中,网关起着至关重要的角色。它充当着应用程序和外部世界之间的门户,处理来自客户端的请求并将其转发到适当的微服务。而Spring Cloud Gateway作为Spring Cloud生态系统中的一员,为我们提供了一个强大而灵活的网关解决方案。原创 2023-07-30 20:58:54 · 2601 阅读 · 0 评论 -
【Spring Cloud Alibaba】Sentinel运行原理
本文基于sentinel-1.8.0版本Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。sentinel整体设计的很精巧,只需要一个sentinel-core便可以运行,它提供了诸如服务降级、黑白名单校验、QPS、线程数、系统负载、CPU负载、流控等功能,可谓是功能非常的强大。原创 2023-07-27 20:12:57 · 1161 阅读 · 0 评论 -
【Spring Cloud Alibaba】限流--Sentinel
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。丰富的应用场景:承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀,可以实时熔断下游不可用应用;完备的实时监控:同时提供实时的监控功能。可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况;原创 2023-07-27 20:01:02 · 1621 阅读 · 0 评论 -
【Spring Cloud】Hystrix熔断机制
hystrix熔断主要是指在一定的时间窗口内,当请求的次数达到一定的失败比率后,hystrix就会主动拒绝服务,采取将请求直接降级等方式,从而有效的缓解了服务雪崩的问题,通过快速错误的方式,有效的控制服务之间链路调用的响应时间,保证整个微服务的健康。原创 2023-07-24 19:44:43 · 706 阅读 · 0 评论 -
【Spring Cloud】Ribbon 中的几种负载均衡策略
负载均衡通常有两种实现手段,一种是服务端负载均衡器,另一种是客户端负载均衡器,而我们今天的主角 Ribbon 就属于后者——客户端负载均衡器。服务端负载均衡器的问题是,它提供了更强的流量控制权,但无法满足不同的消费者希望使用不同负载均衡策略的需求,而使用不同负载均衡策略的场景确实是存在的,所以客户端负载均衡就提供了这种灵活性。然而客户端负载均衡也有其缺点,如果配置不当,可能会导致服务提供者出现热点,或者压根就拿不到任何服务的情况,所以我们本文就来了解一下这 7 种内置负载均衡策略的具体规则。原创 2023-07-24 14:25:27 · 1018 阅读 · 0 评论 -
【Spring Clound】Nacos高可用集群搭建与使用
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。nacos官网:https://nacos.io/zh-cn/docs/what-is-nacos.html。原创 2023-06-26 17:03:18 · 7252 阅读 · 0 评论 -
【Spring Cloud】Spring Cloud Alibaba-- 分布式事务Seata原理
AT模式:无侵入式的分布式事务解决方案,适合不希望对业务进行改造的场景,但由于需要添加全局事务锁,对影响高并发系统的性能。该模式主要关注多DB访问的数据一致性,也包括多服务下的多DB数据访问一致性问题TCC模式:高性能的分布式事务解决方案,适用于对性能要求比较高的场景。该模式主要关注业务拆分,在按照业务横向扩展资源时,解决服务间调用的一致性问题Saga模式:长事务的分布式事务解决方案,适用于业务流程长且需要保证事务最终一致性的业务系统。原创 2023-06-12 15:37:08 · 1714 阅读 · 0 评论 -
【Spring Cloud】Spring Cloud 中 Zuul 网关原理及其配置
Spring Cloud 是一个基于 Spring Boot 实现的微服务应用开发工具,其中的 Zuul 网关可以实现负载均衡、路由转发、鉴权、限流等功能。本文将从 Spring Cloud 中 Zuul 网关的原理、使用场景和配置过程详细介绍,帮助大家更好地了解和应用 Zuul 网关。Zuul 是 Netflix 提供的一个基于 JVM 的网关服务,其主要作用是将所有请求转发到相应的后端服务。原创 2023-05-31 12:32:28 · 3354 阅读 · 0 评论 -
【Spring Cloud】Spring Cloud Alibaba 实战 Seata (分布式事务)
Seata(Simple Extensible Autonomous Transaction Architecture) 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。原创 2023-05-10 20:15:43 · 2218 阅读 · 0 评论 -
【Spring Cloud】Spring Cloud 是什么?
Spring 以Bean(对象)为中心,提供 IOC、AOP 等功能。Spring Boot 以Application(应用)为中心,提供自动配置、监控等功能。Spring Cloud 以Service(服务)为中心,提供服务的注册与发现、服务的调用与负载均衡等功能。提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。服务注册与发现配置中心服务网关智能路由负载均衡。原创 2023-04-25 10:15:26 · 520 阅读 · 0 评论 -
【Spring Cloud】Sleuth+Zipkin全链路日志追踪接入实战
在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。原创 2023-04-24 21:53:21 · 1585 阅读 · 0 评论 -
【Spring Cloud】Feign底层原理分析-自动装载&动态代理
是一个HTTP请求调用轻量级框架,可以以Java接口注解的方式调用HTTP请求,而不用像Java中通过封装HTTP请求报文的方式直接调用,下面详细介绍。这里套用Feign官方Github上的介绍:“Feign是一个灵感来自于Retrofit、JAXRS-2.0、WebSocket的Java Http客户端,Feign的主要目标是降低大家使用Http API的复杂性”。其实,原创 2023-04-15 11:55:56 · 2312 阅读 · 0 评论 -
【Spring Cloud Alibaba Nacos】Nacos心跳机制实现快速上下线
我们都知道是通过客户端和服务端的心跳机制,来实现服务的注册和下线的,Nacos的心跳机制默认是存在BeatInfo的period属性里面的,默认的心跳周期是5s,心跳的超时时间是15s,就意味着如果超过15秒不发送心跳,Nacos就认为这个服务不健康了,超过30秒该实例就将被Nacos删除下线。在某种情况下,显然不太满足公司项目的要求,默认的心跳时间30秒太长了,服务的上线和下线的感知还是有点慢的,为了能让服务上下线进行快速感知,我调整了Nacos的心跳配置时间。原创 2023-03-23 13:00:00 · 1525 阅读 · 2 评论 -
【Nacos】Nacos原理详解(注册中心,配置中心)
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。是Spring Cloud A 中的服务注册发现组件,类似于Consul、Eureka,同时它又提供了分布式配置中心的功能,这点和Consul的config类似,支持热加载。原创 2023-03-22 21:15:01 · 2189 阅读 · 0 评论 -
【java】Spring Cloud--Feign 基本使用
什么是 FeignFeign 是一个声明式的 Web Service 客户端。它的出现使开发 Web Service 客户端变得很简单。使用 Feign 只需要创建一个接口加上对应的注解,比如:@FeignClient 注解。Feign 有可插拔的注解,包括 Feign 注解和 AX-RS 注解。原创 2022-12-30 17:00:58 · 930 阅读 · 1 评论 -
【java】Spring Cloud --Spring Cloud Alibaba 教程
Spring Cloud 本身并不是一个拿来即可用的框架,它是一套微服务规范,这套规范共有两代实现。2018 年 12 月12 日,Netflix 公司宣布 Spring Cloud Netflix 系列大部分组件都进入维护模式,不再添加新特性。这严重地限制了 Spring Cloud 的高速发展,于是各大互联网公司和组织开始把目光转向 Spring Cloud 的第二代实现:Spring Cloud Alibaba。Spring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务原创 2023-02-24 07:00:00 · 3214 阅读 · 4 评论 -
【Java】Spring Cloud 教程
微服务(MicroServices)最初是由 Martin Fowler 于 2014 年发表的论文 《MicroServices》 中提出的名词,它一经提出就成为了技术圈的热门话题。微服务,我们可以从字面上去理解,即“微小的服务”,下面我们从“服务”和“微小”两个方面进行介绍。所谓“服务”,其实指的是项目中的功能模块,它可以帮助用户解决某一个或一组问题,在开发过程中表现为 IDE(集成开发环境,例如 Eclipse 或 IntelliJ IDEA)中的一个工程或 Moudle。“微小”则强调的是单个服务的原创 2023-02-05 22:36:21 · 1376 阅读 · 0 评论 -
【java】Spring Cloud --Spring Cloud Alibaba 微服务解决方案
今天简单介绍了 Spring Cloud Alibaba 的系列组件,以及支持的功能。原创 2023-02-23 07:30:00 · 818 阅读 · 2 评论 -
【java】Spring Cloud --Feign Client超时时间配置以及单独给某接口设置超时时间方法
FeignClient面对服务级有三种超时时间配置。原创 2023-02-20 16:45:03 · 6257 阅读 · 4 评论 -
【java】Spring Cloud --Spring Cloud Config 实现配置中心
Spring Cloud Config 是 Spring Cloud 家族中最早的配置中心,虽然后来又发布了 Consul可以代替配置中心功能,但是 Config 依然适用于 Spring Cloud 项目,通过简单的配置即可实现功能。配置文件是我们再熟悉不过的了,尤其是 Spring Boot 项目,除了引入相应的 maven 包之外,剩下的工作就是完善配置文件了,例如 mysql、redis 、security 相关的配置。原创 2023-02-23 07:15:00 · 518 阅读 · 0 评论 -
【java】Spring Cloud --Spring Cloud 的核心组件
Spring Cloud Zuul通过与Spring Cloud Eureka进行整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有其他微服务的实例信息对于路由规则的维护,Zuul默认会将通过以服务名作为ContextPath的方式来创建路由映射Zuul提供了一套过滤器机制,可以支持在API网关无附上进行统一调用来对微服务接口做前置过滤,以实现对微服务接口的拦截和校验。它允许在分片故障期间继续提供服务的发现和注册,当故障分片恢复运行时,集群中其他分片会把它们的状态再次同步回来。原创 2023-02-20 08:30:00 · 430 阅读 · 0 评论 -
【java】Spring Cloud --Spring Cloud Alibaba RocketMq 异步通信实现
RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。原创 2023-02-24 07:15:00 · 1012 阅读 · 2 评论 -
【java】Spring Cloud --OpenFeign源码解析学习
Spring Cloud OpenFeign 的核心工作原理经上文探究可以非常简单的总结为:通过 @EnableFeignCleints 触发 Spring 应用程序对 classpath 中 @FeignClient 修饰类的扫描解析到 @FeignClient 修饰类后, Feign 框架通过扩展 Spring Bean Deifinition 的注册逻辑, 最终注册一个 FeignClientFacotoryBean 进入 Spring 容器。原创 2023-02-12 13:12:23 · 784 阅读 · 0 评论