分布式
文章平均质量分 95
一直不懂
笔记
展开
-
RateLimiter 源码分析(Guava 和 Sentinel 实现)
本文主要介绍关于流控的两部分内容。 第一部分介绍 Guava 中 RateLimiter 的源码,包括它的两种模式,目前网上大部分文章只分析简单的 SmoothBursty 模式,而没有分析带有预热的 SmoothWarmingUp。 第二部分介绍 Sentinel 中流控的实现,本文不要求读者了解 Sentinel,这部分内容和 Sentinel 耦合很低,所以读者不需要有阅读压力。 Sentinel 中流控设计是参考 Guava RateLimiter 的,所以阅读第二部分内容,需要有第一部分内容的背景转载 2021-01-03 18:07:37 · 788 阅读 · 0 评论 -
阿里 Sentinel 源码解析
本文介绍阿里开源的 Sentinel 源码,GitHub: alibaba/Sentinel,基于当前(2019-12)最新的 release 版本 1.7.0。 总体来说,Sentinel 的源码比较简单,复杂的部分在于它的模型对于初学者来说不好理解。 虽然本文不是很长,最后两节还和主流程无关,但是,本文对于源码分析已经非常细致了。 阅读建议:在阅读本文前,你应该至少了解过 Sentinel 是什么,如果使用过 Sentinel 或已经阅读过部分源码那就更好了。 另外,本文不涉及到集群流控。由于很多读者也转载 2021-01-03 17:51:55 · 669 阅读 · 0 评论 -
高并发场景限流策略
1、什么是限流和降级 在开发高并发系统时,有很多手段来保护系统:缓存、降级、限流。 当访问量快速增长、服务可能会出现一些问题(响应超时),或者会存在非核心服务影响到核心流程的性能时, 仍然需要保证服务的可用性,即便是有损服务。 所以意味着我们在设计服务的时候,需要一些手段或者关键数据进行自动降级,或者配置人工降级的开关。 缓存的目的是提升系统访问速度和增大系统处理的容量,可以说是抗高并发流量的银...原创 2019-05-20 18:30:31 · 7352 阅读 · 0 评论 -
分布式事务解决方案
1、分布式理论 当我们的单个数据库的性能产生瓶颈的时候,我们可能会对数据库进行分区,这里所说的分区指的是物理分区,分区之后可能不同的库就处于不同的服务器上了,这个时候单个数据库的ACID已经不能适应这种情况了,而在这种ACID的集群环境下,再想保证集群的ACID几乎是很难达到,或者即使能达到那么效率和性能会大幅下降,最为关键的是再很难扩展新的分区了,这个时候如果再追求集群的ACID会导致我们的系...原创 2019-05-13 01:28:33 · 3581 阅读 · 0 评论