捉虫大师 捉虫大师
2年前
Sentinel-Go 源码系列(三)滑动时间窗口算法的工程实现
要说现在工程师最重要的能力,我觉得工程能力要排第一。就算现在大厂面试经常要手撕算法,也是更偏向考查代码工程实现的能力,之前在群里看到这样的图片,就觉得很离谱(大概率是假的)。算法与工程实现在SentinelGo中,一个很核心的算法是流控(限流)算法。流控可能每个人都听过,但真要手写一个,还是有些困难。为什么流控算法难写?以我的感觉是算法和工程实现上存在
捉虫大师 捉虫大师
3年前
Sentinel-Go 源码系列(一)|开篇
大家好呀,打算写一个Go语言组件源码分析系列,一是为了能学习下Go语言,看下别人是怎么写Go的,二是也掌握一个组件。本次选择了SentinelGo,一是对Java版本的Sentinel算是有一些了解,也在生产上落地过,二是感觉他的代码应该不会太复杂(仅仅是感觉),三是在云原生越来越热的趋势下,用Go实现的限流降级容错应该是比较通用的
Wesley13 Wesley13
3年前
Java比较器
前言本篇文章主要介绍的是Java比较器的实现与测试。1.java.lang.Comparable排序接口定义:Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays
Stella981 Stella981
3年前
Scala 提取器(Extractor)
提取器是从传递给它的对象中提取出构造该对象的参数。Scala标准库包含了一些预定义的提取器,我们会大致的了解一下它们。Scala提取器是一个带有unapply方法的对象。unapply方法算是apply方法的反向操作:unapply接受一个对象,然后从对象中提取值,提取的值通常是用来构造该对象的值。以下实例演示了邮件地址的提取器对象:
Stella981 Stella981
3年前
Spring cloud微服务安全实战
热点规则热点就是经常访问的数据。很多时候我们希望争对某一些热点数据,然后来进行限制。比如说商品的信息这个服务,我们给它做一个限流,qps是100,某一天我想做一个秒杀活动,可能会有很大的流量,这个时候一个商品的qps就达到100了,这个时候就会把流量给他控制住。其他的商品就都看不了。我希望秒杀这个商品,只把秒杀这个上商品id来的请求,它的qps限
Stella981 Stella981
3年前
Spring Cloud Gateway限流浅析之一段脚本实现令牌桶
前言在一个分布式高并发的系统设计中,限流是一个不可忽视的功能点。如果不对系统进行有效的流量访问限制,在双十一和抢票这种流量洪峰的场景下,很容易就会把我们的系统打垮。而作为系统服务的卫兵的网关组件,作为系统服务的统一入口,更需要考虑流量的限制,直接在网关层阻断流量比在各个系统中实现更合适。SpringCloudGateway的实现
基于Sentinel自研组件的系统限流、降级、负载保护最佳实践探索 | 京东云技术团队
作者:京东物流杨建民一、Sentinel简介Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel具有以下特征:丰富的应用场景:秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控
京东云开发者 京东云开发者
11个月前
SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel | 京东云技术团队
前言:作者查阅了Sentinel官网、51CTO、CSDN、码农家园、博客园等很多技术文章都没有很准确的springmvc集成Sentinel的示例,因此整理了本文,主要介绍SpringMvc集成SentinelSpringMvc集成Sentinel一、S
桥蕤 桥蕤
6个月前
京东云开发者 京东云开发者
1小时前
揭秘JDQ限流架构:实时数据链路的多维动态带宽管控
作者:京东零售饶璐1、背景在数字化转型的浪潮席卷之下,大数据和云计算技术已成为企业创新和发展的关键驱动力。尤其是以京东为代表的电商平台为例,其日常运营中持续生成海量数据,涵盖实时交易记录、点击曝光统计及用户行为轨迹等,这些数据对精准业务决策、深化用户体验优