首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
九点半的马拉
掘友等级
学生 | 微信公众号:九点半的马拉
路途虽遥远,将来更美好
获得徽章 21
动态
文章
专栏
沸点
收藏集
关注
作品
赞
68
文章 68
沸点 0
赞
68
返回
|
搜索文章
最新
热门
服务自省,Dubbo面向了应用级
Dubbo是一款很优秀的RPC框架,目前Github的Star数已经达到34.6k,有效的反映出它的受欢迎程度。Dubbo提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。Dubbo设计的稳定架构为数万服务的稳定运行提供了坚实的基础。 对于传统…
WeakHashMap源码分析
WeakHashMap与HashMap有些类似,但也有很多地方不同。它们设置了相同的负载因子和初始容量,但是前者的数据结构只使用了数组+链表,并没有用到红黑树, 在这里,与HashMap重复且设置值一致的变量就不重复介绍了,只简单说下不同的地方。 我们可以发现Entry继承了W…
ReentrantReadWriteLock源码分析
在该篇文章中我将开始介绍ReentrantReadWriteLock有关源码分析。 我先简单介绍下有关变量的含义,再分析读锁和写锁的获取和释放过程。 在控制锁逻辑的Sync中,可以定义使用公平锁还是非公平锁。默认是非公平的。 实际上就是将state分成两个部分,其中高16位表示…
线程池Woker类讲解
通常我们利用线程池执行任务时,一般会调用execute()方法来进行任务的提交。 然后如果线程池不是将任务放在工作队列里面,而是要创建核心线程或者非核心线程时,会进一步调用addWorker()方法来创建线程,处理我们的任务。 然后需要注意的是,在往工作队列中存放任务时,如果发…
Sentinel之集群限流
之前的限流功能都是单机版的,只能统计本地的服务调用次数信息,那么如果是在集群状态下,一个服务被放在了多个服务器上,假设一个集群有5台机器,每台机器单机限流阈值为10qps,理想状态下整个集群的限流阈值就是50qps,不过实际状态下路由到每台机器的流量可能会不均匀,会导致总量没有…
Sentinel之注解@SentinelResource
Sentinel提供了@SentinelResource注解用于定义注解,并提供了AspectJ的扩展用于自定义资源、处理BlockException等。 当出现异常执行上述注解中的指定的处理函数时,这时我们就要利用Spring的AOP特性。 简单的说,就是先获取加了该注解的方…
Sentinel之熔断降级DegradeSlot
在本篇文章中将讲解有关熔断降级的原理。 熔断降级策略是在DegradeSlot中实现的,会调用entry()方法。 下面的逻辑主要是根据当前的资源名从在DegradeRuleManager的map缓存中获取所有有关他的熔断规则。然后遍历规则,依次判断。 如果需要进行熔断,则抛出…
Sentinel流量控制之匀速排队和预热
在前面一篇文章写了默认的DefaultNode的实现方法,现在讲解剩余的几种方式。 Sentinel的"warm-up"的实现是基于Guava的算法。 但是,Guava的实施着重于调整请求间隔,类似于漏斗。Sentinel更注重控制每秒的传入请求数,而不计算其间隔,这类似于令牌…
Sentinel之FlowSlot限流分析
FlowSlot主要是进行限流工作的。 结合从以前的插槽(NodeSelectorSlot,ClusterNodeBuilderSlot和StatisticSlot)收集的运行时统计信息,FlowSlot将使用预设规则来决定是否应阻止传入请求。 如果触发了定义好的任何规则,Sp…
Sentinel之OccupiableBucketLeapArray秒级统计讲解
在前面有一篇文章中讲解了有关实时数据统计的文章,在分钟级别时是利用BucketLeapArray来实现的,但是在秒级会有一定的问题。 设想一个场景,我们的一个资源,访问的QPS稳定是10.假设请求是均匀分布的,在相对的时间0.0-1.0秒区间中,通过了10个请求,我们在1.1秒…
下一页
个人成就
文章被点赞
197
文章被阅读
89,244
掘力值
2,300
关注了
62
关注者
73
收藏集
21
关注标签
5
加入于
2020-02-10