随笔分类 -  02.后端技术

摘要:## 热点Key 当热点key缓存失效后,会有大量线程进行缓存重建。 有的热点key不能再短时间内完成,可能需要复杂的计算,多次IO等。 在缓存失效的瞬间,有大量线程来重建缓存,也就是会直接访问到后端,这会造成后端负载加大,严重的甚至可能导致应用崩溃,也就是 - 缓存击穿。 **解决方案1. 分布式 阅读全文
posted @ 2023-08-24 20:32 NewQ 阅读(141) 评论(0) 推荐(0) 编辑
摘要:## 三种常见更新策略 1. LRU/LRF/FIFO算法剔除 (Redis使用maxmemory-policy这个配置作为内存最大值后对于数据的剔除策略) 2. 超时剔除 3. 主动更新 使用建议: - 低一致性的业务配置最大内存和淘汰策略的方式 - 高一致性的业务结合超时剔除和主动更新 ## 数 阅读全文
posted @ 2023-08-24 20:07 NewQ 阅读(21) 评论(0) 推荐(0) 编辑
摘要:## 无锁简介 无锁分为两大派系: 1. 乐观派系:它们认为事情总会往好的方向去发展,总是认为坏的情况发生概率特别小,可以无所顾忌的做任何事情. 2. 悲观派系:它们总会认为发展事态如果不及时控制,以后就无法挽回,即时此种局面不会发生的情况下。 上述两大派系映射到并发编程中就如同加锁与无锁策略,即加 阅读全文
posted @ 2023-08-19 14:02 NewQ 阅读(97) 评论(0) 推荐(0) 编辑
摘要:## 1. SPI 简介 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。 SPI的作用就是为这些被扩展的API寻找服务实现。 Java 中 SPI 机制主要思想是将装配的控制权移到程序之外,在模块 阅读全文
posted @ 2023-08-05 19:14 NewQ 阅读(68) 评论(0) 推荐(0) 编辑
摘要:## 有限状态机 定义:FSM - finite-state machine,表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 - 状态是描述系统对象在某个时刻所处的状况。 - 转移指示状态变更,一般是通过外部事件为条件触发状态的转移。 - 动作是对给定状态下要进行的操作。 简而言之, 阅读全文
posted @ 2023-08-01 07:52 NewQ 阅读(404) 评论(0) 推荐(0) 编辑
摘要:## 架构设计的目标 ### 核心目标 一个良好的架构设计应该围绕着用例展开,这样的架构设计可以脱离框架、工具以及使用环境的情况下完整第描述用例。 软件架构师的目标是创建一种系统形态,该形态会以策略为最基本元素,并让细节与策略脱离关系,以允许在具体决策过程中推迟或延迟与细节相关的内容。 总之,良好的 阅读全文
posted @ 2023-07-26 07:45 NewQ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:编程原则 SRP 单一职责原则 A class or module should have a single responsibility 一个类或者模块只负责完成一个职责(或者功能)。 不要设计大而全的类,要设计功能单一、粒度小的类。 单一职责原则是为了实现代码的高内聚、低耦合,提高代码的复用性、 阅读全文
posted @ 2023-03-12 19:05 NewQ 阅读(55) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示