12 2022 档案
摘要:链路追踪组件 应用性能监视工具 调用链路组件选型:springCloud sleuth,结合Zipkin使用,拦截HTTP请求,将数据发送至Zipkin服务Pinpoint,基于字节码增强。性能比较低。SkyWalking,侵入性低,而且性能高。CAT,对业务侵入性比较强。代码埋点(拦截器、注解、过
阅读全文
摘要:分布式事务:第一阶段要做的事情:1. 开启全局事务,获取全局事务id;2. 执行业务逻辑,生成前置镜像、后置镜像,插入undo_log,执行本地事务;3. 在插入undo_log之前,会发起一个rpc请求,调用TC,搜集行锁信息,生成全局锁。第二阶段:分布式事务协调者根据事务的状态,到底是进行真正的
阅读全文
摘要:1. Sentinel规则推送模式 Sentinel规则的推送有下面三种模式: 推送模式 说明 优点 缺点 原始模式 API 将规则推送至客户端并直接更新到内存中,扩展写数据源(WritableDataSource) 简单,无任何依赖 不保证一致性;规则保存在内存中,重启即消失。严重不建议用于生产环
阅读全文
摘要:常见限流算法精讲 计数器法 计数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100
阅读全文
摘要:1.1 分布式系统遇到的问题 服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应 导致服务不可用的原因: 程序Bug,大流量请求,硬件故障,缓存击穿 【大流量请求】:在秒杀和大促开始前,如果准备不充分,瞬间大量请求会造成服务提供者的不可用。 【硬件故
阅读全文
摘要:Raft和ZAB都是分布式一致性协议Paxos的简化,两者很类似,主要包括两部分:1. leader选举(半数以上节点投票同意)2. 集群写入数据同步(两阶段提交,半数以上节点写入成功) 集群Leader选举,Log Replication(写数据同步) 选举超时时间 心跳包 初始化的时候要加载持久
阅读全文
摘要:Nacos 提供用于存储配置和其他元数据的key/value存储,为分布式系统中的外部化配置提供服务端和客户端支持。使用 Spring Cloud Alibaba Nacos Config。 spring.application.name=nacos-config # 配置中心地址 spring.c
阅读全文
摘要:Nacos核心功能点 服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。 服务心跳:在服务注册后,Nacos
阅读全文
摘要:JAVA 项目中如何实现接口调用? 1)Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK
阅读全文
摘要:Ribbon相关接口: 参考:org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration IClientConfig: Ribbon的客户端配置,默认采用DefaultClientConfigImpl实现。 IRule: Ri
阅读全文
摘要:注册instance是什么存储的? 临时节点存在内存,持久节点持久化到磁盘文件 data/naming/namespace的id nacos: 拉取 持久实例和临时实例一次性全部拉取的。 配置数据是什么存储的?derby mysql 服务心跳:默认5s发送一次心跳; 服务健康检查:对于超过15s没有
阅读全文
摘要:自动装配原理 从Spring的IOC到SpringBoot的自动装配原理 DeferedImportSelector对Bean加载顺序的影响(当然是由@Import导入的) DeferedImportSelector有一个分组的概念,如果自定义了一个类,实现了Group接口,可以在这里面自定义排序规
阅读全文