自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(181)
  • 收藏
  • 关注

原创 【深入理解SpringCloud微服务】Spring-Security作用与原理解析

Spring Security是一个提供认证和授权功能的框架,基于Servlet过滤器链实现。其核心流程包括:UsernamePasswordAuthenticationFilter处理登录认证,AuthenticationManager调用AuthenticationProvider进行身份验证,最终通过FilterSecurityInterceptor完成权限校验。框架支持基于RBAC模型的权限控制,通过@PreAuthorize注解实现细粒度授权。与JWT集成时,需自定义登录接口生成Token,并通过

2025-12-24 20:16:12 997

原创 【深入理解SpringCloud微服务】Gateway源码解析

本文深入解析了Spring Cloud Gateway的核心原理与源码实现。Gateway基于Spring WebFlux框架,主要由HandleMapping和WebHandler两大组件构成:HandleMapping负责路由匹配,WebHandler处理过滤器链。源码分析重点包括DispatcherHandler处理请求的流程、RoutePredicateHandlerMapping的路由匹配机制,以及FilteringWebHandler如何组合全局和路由过滤器形成处理链。

2025-12-24 20:13:33 923

原创 【深入理解SpringCloud微服务】Gateway简介与模拟Gateway手写一个微服务网关

微服务网关Gateway简介与实现 Gateway作为微服务架构的统一入口,主要功能包括路由转发、负载均衡、认证鉴权、安全防护等。其核心原理基于Spring-WebFlux,通过路由(Route)、断言(Predicate)和过滤器(Filter)三个核心概念实现请求处理流程。本文还介绍了如何模拟Gateway实现一个简易微服务网关,包括架构设计和关键组件实现,如GatewayHandlerMapping负责路由匹配和过滤器链组装,以及三个核心过滤器(负载均衡、路由转发和响应写入)的处理流程。

2025-12-21 18:58:53 1409

原创 【深入理解SpringCloud微服务】Seata对于TCC模式下对于空回滚、幂等、悬挂等问题的处理

Seata在TCC模式下通过事务控制表解决了空回滚、幂等和悬挂问题。对于空回滚,通过检查表中是否存在对应记录来决定是否执行cancel操作;针对幂等问题,使用status字段标记操作状态,确保confirm/cancel只执行一次;处理悬挂问题时,新增suspended状态,在cancel操作后标记事务状态,避免后续try操作执行。这些机制通过xid、branch_id和status字段的协同工作,保证了TCC模式下的数据一致性和可靠性。

2025-12-21 18:54:13 955

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——@GlobalLock注解原理

本文解析了Seata框架中@GlobalLock注解的工作原理。该注解用于确保本地事务与全局事务并发操作同一数据时的数据一致性,防止脏读和回滚失败问题。通过分析两个典型场景(并发更新和脏读),文章展示了@GlobalLock如何通过全局锁机制协调事务执行。源码层面,GlobalTransactionalInterceptor拦截器处理@GlobalLock标记的方法,通过GlobalLockTemplate绑定全局锁标志到当前线程,在执行SQL前检查TC(事务协调器)中的全局锁状态。对于"sele

2025-12-21 18:52:24 1058

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——全局事务的回滚

本文分析了Seata AT模式下全局事务回滚的源码流程。当业务逻辑抛出异常时,TransactionalTemplate会捕获异常并判断是否匹配@GlobalTransaction的rollbackFor属性。若匹配则通过DefaultGlobalTransaction发起回滚请求,经过重试机制后,最终由DefaultTransactionManager通过Netty向TC发送GlobalRollbackRequest。TC端DefaultCoordinator接收请求后,查询并修改全局事务状态为Rollb

2025-12-19 19:44:26 880

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——全局事务的提交

本文分析了Seata AT模式下全局事务提交的源码流程。当业务逻辑执行成功后,TM会调用DefaultGlobalTransaction的commit()方法发起全局事务提交。该方法通过Netty向TC(事务协调器)发送GlobalCommitRequest请求。TC接收到请求后,DefaultCore会查询对应的GlobalSession,将其状态改为AsyncCommitting并释放全局锁。不同于同步提交模式,AT模式下事务提交是异步完成的,由定时任务后续处理状态为AsyncCommitting的Gl

2025-12-19 19:43:06 896

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——全局事务的事务传播机制

本文解析了Seata AT模式中全局事务传播机制的实现原理。核心在于通过xid传递实现事务传播:调用方通过RestTemplate拦截器SeataRestTemplateInterceptor将xid添加到HTTP请求头;被调用方通过SpringMVC拦截器TransactionPropagationInterceptor从请求头获取xid并绑定到ThreadLocal。xid存储于RootContext(ThreadLocal实现),SQL执行时会检查当前线程是否绑定xid来决定是否加入全局事务。文章详细

2025-12-16 12:32:41 996

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——分支事务处理

Seata AT模式通过代理JDBC对象实现分支事务处理。DataSourceProxy生成ConnectionProxy,后者再生成PreparedStatementProxy。SQL执行时,ExecuteTemplate根据SQL类型选择对应Executor执行。若存在全局事务XID,会绑定到ConnectionProxy,并生成前后镜像数据用于构建undo log。对于自动提交的连接,会关闭自动提交并重试执行。核心流程包括:代理JDBC对象、判断事务上下文、选择执行器、生成数据快照以及构建undo日志

2025-12-16 12:30:32 715

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——开启全局事务

本文深入分析了Seata AT模式下开启全局事务的源码实现。当方法被@GlobalTransactional注解修饰时,GlobalTransactionScanner会生成AOP代理对象,调用时进入GlobalTransactionalInterceptor拦截器,最终通过TransactionalTemplate执行事务处理。核心流程包括:DefaultGlobalTransaction请求TC开启全局事务并绑定xid到ThreadLocal;DefaultTransactionManager通过Net

2025-12-13 14:41:48 1004 2

原创 【深入理解SpringCloud微服务】Seata(AT模式)源码解析——@GlobalTransactional注解与@globalLock生效的原理

本文解析了Seata AT模式的核心流程和源码实现。AT模式通过两阶段提交实现分布式事务:一阶段生成前后镜像并注册分支事务,二阶段根据全局事务状态提交或回滚。源码层面,Seata基于Spring AOP实现,通过GlobalTransactionScanner扫描@GlobalTransactional注解,生成代理对象并注入GlobalTransactionalInterceptor拦截器。该拦截器负责开启全局事务、执行目标方法和提交/回滚事务。执行SQL时通过代理链获取数据镜像生成undo log,并通

2025-12-13 14:40:43 880 1

原创 【架构师从入门到进阶】第六章:服务集群优化——第二节:集群并发&无状态集群

本文介绍了服务集群优化中的集群并发和无状态集群技术。面对高并发挑战,通过负载均衡构建服务器集群是最直接有效的解决方案,能快速分散请求压力。文章分析了集群的缺点,如请求顺序依赖可能导致数据不一致,并提出了无状态集群的概念。无状态服务要求每个请求独立处理,不依赖服务器存储的状态信息,通过共享外部存储实现数据一致性。此外,还探讨了无状态集群中协作问题的解决方案,包括使用锁机制和外部服务调度。无状态设计是实现水平扩展的关键,使系统能够灵活应对流量增长。

2025-11-29 17:19:54 801

原创 【架构师从入门到进阶】第六章:服务集群优化——第一节:并行与并发

本文介绍了应用服务器性能优化中的分流设计和集群技术。通过DNS、CDN和反向代理等手段对请求进行分流,将集中流量分散到多个服务器处理。重点讲解了并行与并发的区别:并行是多个任务真正同时执行(如边读书边听歌),而并发是任务片交替执行(如边看书边看电视)。在实际架构设计中,两者统称为并发。最后指出集群技术通过多台服务器并行处理请求,配合负载均衡实现性能优化,这是提升系统处理能力的基础方法。

2025-11-29 17:19:47 782

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十二节:网关安全-信息过滤

文章摘要本文讨论网站信息过滤与反垃圾策略。首先要尽可能多收集用户信息,如IP、网络情况、设备唯一码等,用于黑名单和信息过滤。信息过滤分两步:一是识别有害信息及其生产方,有害信息包括违规指令;二是处理有害信息。对违规操作可提示非法或系统繁忙,限制操作次数;对垃圾信息,常用文本匹配过滤,敏感词少用正则,敏感词多、信息长且并发高时可用搜索中间件过滤。网关作为第一道防线,要应对攻击性请求,集成加解密技术,同时识别有害、垃圾信息及违规操作,通过关键词和来源标记垃圾信息。

2025-08-17 11:41:00 954

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十一节:网关安全-对称与非对称加密

本文介绍了网关安全中的两种主要加密方式:对称加密和非对称加密。对称加密使用同一密钥进行加解密,效率高但存在密钥传输安全问题;非对称加密使用公钥和私钥配对,安全性高但效率较低。实际应用中通常结合使用两种方式:先用非对称加密传输对称密钥,再用对称加密进行通信。文章还探讨了密钥管理的两种方案:独立加解密服务(安全性高但成本高)和分散密钥存储(兼顾性能与安全),并建议通过代码混淆、多语言实现等方式增强安全性。这两种加密方式及其管理策略共同构成了保障网关安全的重要技术手段。

2025-08-17 11:28:02 824

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密

本文介绍了网络安全中的信息加密技术,重点讲解了单向加密的原理和应用。文章以2011年优快云密码泄露事件为例,说明明文存储密码的危害性,引出加密的重要性。单向加密(如MD5、SHA)通过散列计算将任意长度信息转换为固定长度密文,具有不可逆特性,常用于密码存储保护。为防止彩虹表攻击,可采用加盐(salt)方式增加破解难度。单向加密还可用于接口参数防篡改验证,通过比对前后端生成的密文一致性确保数据完整性。文章为架构师提供了网关安全优化的基础思路和实践方法。

2025-07-26 09:04:58 922

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第九节:网关-CSRF攻击与预防

本文介绍了CSRF(跨站点请求伪造)攻击的原理及防范措施。CSRF攻击通过诱导用户点击恶意链接,伪造合法用户的请求进行非法操作,如转账等。防范方法包括:1)Token校验,通过前后端加密验证防止跨域攻击;2)验证码机制,在执行敏感操作时要求用户输入验证码。文章还补充了错误码攻击防范(避免暴露系统信息)和文件上传攻击防范(设置白名单、重命名文件、专用存储)。这些措施能有效提升系统安全性。

2025-07-26 09:02:53 847

原创 【深入理解SpringCloud微服务】Seata简介与四种事务模式

Seata是阿里开源的分布式事务组件,包含TM、RM、TC三种角色,通过@GlobalTransactional和@GlobalLock实现事务控制,支持AT(自动回滚)、TCC(需自定义提交/回滚方法)、SAGA(长事务补偿模式)、XA(两阶段提交)四种事务模式,适用于不同分布式场景。

2025-05-10 10:37:53 954

原创 【深入理解SpringCloud微服务】手写实现一个微服务分布式事务组件

本文介绍了一种基于两阶段提交协议的手写分布式事务组件实现方案。通过AOP切面在调用链起点服务注册全局事务,生成唯一XID并透传至下游服务,各服务通过代理数据源拦截SQL操作,在事务提交时注册分支事务并暂存数据库连接。服务端协调器记录全局事务与参与者映射关系,最终根据业务执行结果通知所有参与者提交或回滚。关键实现包括:通过ThreadLocal传递XID、RestTemplate拦截器透传事务ID、Connection代理延迟提交、连接持有器管理物理连接等,构建了完整的分布式事务生命周期管理机制。

2025-05-10 10:30:44 1378

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第八节:网关-注入攻击与预防

这篇文章我们来看SQL注入。

2025-04-12 18:28:29 509

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防

在前面的文章中,我们讲了负载均衡,讲了请求从客户端出发到服务器的中间过程。我们是按照用户请求到达我们服务器的顺序来讲解我们架构方面的知识的。那么,在用户的请求到达我们服务器之前,在一般的这些大型互联网系统中,还有一个重要的组件叫做网关。我们前面讲了,比如说用户操作了客户端,中间经历了DNS,CDN,反向代理,然后最终到达我们的server端。但是在到达我们具体提供的Web服务之前,还有一个叫做网关的东西,有可能在反向代理的后面;有可能没有反向代理这一层,过了网关之后接着就是nginx;

2025-04-12 18:26:45 901

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第六节:伸缩性思考-负载均衡算法

负载均衡算法,我们就说这么多。上一篇文章讲了负载均衡,这篇文章讲的负载均衡算法,其实都是为了伸缩性做考虑。伸缩性就是通过算法找后端的一台机器,然后找到后端的那台机器之后,把请求发给他。这里面有一些算法,如果他要缩的话,就需要去改一下。比如说轮询,我们在数组去存对应的三台服务器的IP地址,如果我们需要把一台服务器删掉,就需要把数组里面的这个地址也给它去掉。关于服务器的伸缩,在我们的系统当中,如果能做成自动化的,就会更好。这一方面,通过云原生的解决方案去做,是比较好的。

2025-03-09 14:50:17 914

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第五节:伸缩性思考-负载均衡

本篇文章我们来学习伸缩性的思考。通过前面的知识呢。我们来看一看伸缩性怎么做。在前面,我们讲过了DNS、CDN,还有正反向的代理,这些和网站的伸缩性有一定的关系。所谓的网站的伸缩性是指。不需要改变网站的软硬件设计,仅仅通过改变部署的服务器的数量,就可以扩大或者缩小网站的服务处理能力。一些特别大的网站都经过购买很多服务器用来应对流量洪峰的情况。

2025-03-09 14:48:08 1080

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第四节:请求链路中代理的作用

那么反向代理是什么呢?反向代理是服务端配置代理。所有的请求,由服务端接收,然后再由代理服务器分发到后面的服务器。我们来画一个图:这是一个代理服务器,代理服务器里配置了后面好多个服务器的地址,所有的用户请求,都来请求它,但是代理服务器这边配置了后面好多服务器的地址,然后代理服务器再将这些请求分发到后面的不同的机器上去,这个就叫做反向代理好了。这样一来,所有的请求呢,都由这么一个服务器来接收,无法判断这台代理服务器代理了多少的后端服务。

2025-02-26 21:28:37 886

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第三节:CDN扩展-多地址直连

我们总结一下,上面的这两种方式,基于注册中心和基于规则中心,他们都有一个共同的特点,就是客户端和服务器在真正获取数据的时候是直接连接的,注册中心和规则中心只是负责将用户的请求进行分流。在整个过程中,服务并不需要注册中心和规则中心的中转,只需要问他们我需要找谁,他们只是告诉一下我需要找谁,简单的地址解析请求或者给客户端提供一个IP地址即可。那么客户端至于要拿什么数据,它是直接跟我们的源站连接的。所以呢,这种方案,也叫做多地址直连,就是CDN的扩展,CDN扩展也叫多地址直连。举个例子,就像我们去租房子一样。

2025-02-26 21:26:43 672

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第二节:CDN优化

我们的系统部署在互联网上的某个节点上,这个系统别人要访问的时候,有一个IP地址,我们的客户端通过DNS的解析,拿到IP地址之后,根据这个IP地址去访问对应的这个服务器。比如说我们的机房部署在北京,然后我们的用户就那么几千个人,就服务北京的这一圈人,那么我们的这样的1000人在这个北京范围内访问系统还好,没有什么太大的问题。

2025-02-23 16:18:13 1334

原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第一节:DNS优化

在前面的文章中,我们讲过了客户端的优化,从本篇文章开始我们来学习,请求从客户端发出之后到达具体业务逻辑的服务器之前,应该怎么优化,本篇文章我们来学习DNS的优化。

2025-02-23 16:16:24 935

原创 【深入理解SpringCloud微服务】Sentinel规则持久化实战

第二种办法是修改Sentinel控制台的源码,Sentinel控制台不和Sentinel客户端直接通讯,而是把在控制台上新增或修改的规则保存到配置中心,由配置中心通知Sentinel客户端。原因是因为Sentinel控制台发布到nacos的格式是按照ParamFlowRuleEntity的格式推的,而Sentinel从nacos拉取到热点参数规则时,是解析成ParamFlowRule的。这种模式是最简单的,不需要做任何改造,但是一旦Sentinel客户端重启,所有的规则都会丢失。

2025-01-25 20:03:26 1227

原创 【深入理解SpringCloud微服务】Sentinel源码解析——DegradeSlot熔断规则

如果到了可以重试的时间,那么调用fromOpenToHalfOpen方法尝试切换为半开状态,这里有可能会切换失败,因为有可能有多个线程并发尝试切换,只有成功切换的那一个线程被放行,其他的都会被拦截掉;当断路器处于打开状态一段时间后,就会变成半开状态,此时断路器允许一次请求调用,如果这次请求调用成功,那么断路器切换为闭合状态,否则重新变成打开状态。如果我们设置的熔断策略是“慢调用比例”,那么断路器会利用滑动时间窗统计总调用数和慢调用数,如果本次调用超过了设置的最大响应时长,那么就记一次慢调用。

2025-01-25 20:01:32 1444

原创 【架构师从入门到进阶】第四章:前端优化思路——第三节:前置资源和缓存

http缓存是指能控制客户端各级代理和各级交换机等设备对页面资源进行缓存。大家注意我所说的这一点,就是http缓存这一块是控制什么?比如说这是一个客户端,它要去经过路由器,然后经过网络交换中心,然后经过网络中的各个节点,然后才能到达我们的真正的服务端是吧?比如说从你家出去,经过路由器交换机,包括市区的节点,城市的节点,然后什么陆地上的光纤各种乱七八糟的转化的路由器等等,最后才能到达我们的服务器,中间的节点是非常多的,我们统一把中间这些叫做中间节点。中间节点它是什么呢?指代很多东西。

2025-01-12 12:20:55 1214

原创 【架构师从入门到进阶】第四章:前端优化思路——第二节:减少不必要的传输

本篇文章我们来学习前端优化:“减少不必要的传输”。这四个分别什么意思呢?我们一一来进行解释。

2025-01-12 12:17:27 929

原创 【深入理解SpringCloud微服务】Sentinel源码解析——FlowSlot流控规则

在前面的文章,我们对Sentinel的原理进行了分析,Sentinel底层使用了责任链模式,这个责任链就是ProcessorSlotChain对象,链中的每个节点都是一个ProcessorSlot,每个ProcessorSlot对应一个规则的处理。然后我们又对Sentinel的整体流程进行了源码分析,我们分析了Sentinel的ProcessorSlotChain对象默认的构成:但是我们没有对每个slot进行深入的分析,本篇文章就对它们进行深入的了解。

2024-12-28 20:14:37 1530

原创 【深入理解SpringCloud微服务】Sentinel源码解析——SentinelWebInterceptor拦截器与@SentinelResource注解原理

invokeResourceWithSentinel方法中的两个catch块是值得我们注意的,它会寻找@SentinelResource注解是否有指定降级处理方法,如果有的话会执行降级处理,这也是SentinelWebInterceptor拦截器不具备的一个能力。使得@SentinelResource注解注解生效的是SentinelResourceAspect切面类,它通过AOP对@SentinelResource注解修饰的方法进行增强,织入Sentinel进行规则校验的模板代码。

2024-12-28 20:12:29 856

原创 【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述

本篇文章我们来学习前端优化的概述。为什么开始学前端呢?大家思考一下,我们在之前的文章中写过这么一段话。我们优化的点是从用户使用我们系统开始,直到我们响应用户为止。那么,首先第一个问题,用户什么时候开始使用我们的系统?比如说一个人,当这个人开始点我们的APP的时候是吧,开始上面操作的时候,我们就可以做优化了。那么第一个优化在哪里?只要用户一个动作发生之后,因为用户觉得这个动作已经脱离他自己了,就等着很着急的要这个响应,越响越快,用户的体验度越好。那么第一个优化在用户的手发出指令之后,到达我们APP之前。

2024-12-08 11:24:26 860

原创 【架构师从入门到进阶】第三章:系统整体优化思路——第一节:整体优化思路

本篇文章我们来看一下整体优化思路。什么意思呢?一一给大家解释。首先,我这里面给大家抛出一个问题,平时我们所说的亿级流量的系统是如何做的?是靠我们写代码吗?大家觉得亿级流量靠写代码能实现吗?你代码写的再精妙,精妙到天上去了,全世界就你的代码最精妙,能实现亿级流量吗?当然实现不了。因为你的代码再厉害,也得在机器上跑,你的机器就算再厉害,厉害到天上了,全世界最顶尖的机器了,把代码布到你这台最顶尖的机器上,能扛得住亿级流量吗?举一个例子。双11的活动在十年前,那一瞬间的流量,都能拖垮一个中型城市的网络带宽。

2024-12-08 11:23:01 1027

原创 【深入理解SpringCloud微服务】Sentinel硬编码模式源码解析

方法时,Sentinel就会以责任链模式的方式逐一调用chain中的slot去进行规则校验,一旦某个slot校验不通过,那么就终止,所有slot都检验通过才算校验通过,最后entry方法会返回一个Entry对象。业务逻辑执行完毕后,我们需要调用Entry的exit()方法,Entry对象默认是CtEntry类型,那么调用的就是CtEntry的exit()方法。)方法进行规则校验。可以看到fireEntry()就是用于调用下一个slot的transformEntry方法触发该slot的执行的。

2024-11-24 11:37:16 1271

原创 【深入理解SpringCloud微服务】Sentinel功能详解

上一篇文章《Sentinel实战与原理剖析》我们没有对Sentinel的功能进行讲解,本篇文件将对它们进行详细的解析。

2024-11-24 11:34:42 1555

原创 【架构师从入门到进阶】第二章:系统衡量指标——第一节:伸缩性、扩展性、安全性

大型的网站需要面对大量的用户的高并发访问和海量的存储要求,或者说我们的系统从开始用户量很少的情况下到后面用户越来越多,一边是用户的访问量会增大,二是存储的数据量也会增大。这个时候系统就有扩容的需求,所谓的这种伸缩性呢就是指不断的向集群中加入服务器的手段来缓解不断上升的用户访问,和不断增长的数据需求。什么意思呢?就是说我这个系统扛不住这么多的用户请求,也扛不住这么多的数据的存储,那么我就需要进行扩容了。扩容就需要用到伸缩性,为什么叫伸缩性呢?

2024-11-09 11:44:38 953

原创 【架构师从入门到进阶】第一章:架构设计基础——第五节:架构演进(缓存到微服务)

到这里,我们就会有一个结论:大家做架构设计要有一个信心,就是不要怕架构无法满足业务。当真的遇到架构变得越来越复杂,复杂度成指数级提升的时候,创新的解决办法就会有了,天无绝人之路。从我们前面的演进过程来看,我们发现每次技术架构的变革,都是由于技术无法满足业务,要么是业务量增大了,要么是用户增多了,数据量增大了等等。为了应对这些业务的变化,我们来调整我们的架构。所以说,技术和业务呢,是相辅相成,相互促进的。这就是技术演进的大概的路径。初始阶段:一台服务器。

2024-11-09 11:41:58 1026

原创 【深入理解SpringCloud微服务】Sentinel实战与原理剖析

如果是引入的spring-cloud-starter-alibaba-sentinel依赖,那就不需要配置Sentinel切面类了,spring-cloud-starter-alibaba-sentinel已经通过自动装配的方式帮我们配置好了。使用拦截器方式,就不需要声明@SentinelResource注解了,如果通过控制台配置规则的话,甚至连上面FlowRuleInit的流控规则配置都可以不需要,只需要引入依赖jar包,然后配置一个拦截器即可。剩下的就是在控制台配置规则。

2024-10-26 11:27:13 994

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除