10 2022 档案
摘要:熔断是一种系统保护措施,就是当系统的某些阈值触发到设定的临界点时,所触发的行为方式,熔断的概念在很多地方都有听到。 股市熔断,比如美股在7%、13%、20%的时候会分别触发熔断15分钟,在这个期间,一切交易将会终止。故事熔断的意义是稳定市场走势,给投资者冷静思考的时间。 电路熔断,当电流超出导线所能
阅读全文
摘要:在Sentinel中,限流的直接表现形式是,在执行Entry nodeA = SphU.entry(resourceName) 的时候抛出FlowException 异常。FlowException 是 BlockException 的子类,您可以捕捉 BlockException 来自定义被限流之
阅读全文
摘要:前言 随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的稳定性越来越重要。在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时,我们常常需要通过缓存、限流、熔断降级、负载均衡等多种方式保证服务的稳定性。 为什么要限流 限流顾名思义,就是对
阅读全文
摘要:Sentinel Sentinel控制台安装 下载sentinel-dashboard-1.8.0.jar 在cmd中运行下面的命令 java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.na
阅读全文
摘要:Nacos客户端的数据的加载流程 Nacos的外部化配置的实现? NacosPropertySourceLocator。 Spring cloud Nacos配置的加载 Spring Cloud Nacos配置变更 @RefreshScope - Spring Cloud中提供的能力,在Spring
阅读全文
摘要:PropertySourceLocator加载原理 SpringApplication.run 在spring boot项目启动时,有一个prepareContext的方法,它会回调所有实现了ApplicationContextInitializer的实例,来做一些初始化工作。 public Con
阅读全文
摘要:提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路。阻隔直达数据库的流量,缓存组件和消息组件是两大杀器。 1. MQ简介 MQ:Message
阅读全文
摘要:Kafka Kafka架构由broker和zookeeper组成,如下图: 注意:Kafka2.8版本可以不依赖Zookeeper独立运行了 Pulsar Pulsar的架构如下: Pulsar Broker会在本地缓存消息,并且支持TTL(消息的存活时间) 从上面的2个架构我们看到,Kafka和P
阅读全文
摘要:发布订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都将得到通知。 RocketMQ的消息订阅分为两种模式: Push模式(MQPullConsumer): Broker 主动向消费者推送。 Pull模式(MQPushConsumer): 消费
阅读全文