当前位置: 首页 > news >正文

小微企业使用最佳搜索引擎优化工具

小微企业,使用最佳搜索引擎优化工具,河北网站备案系统,贵州旅游网站建设策划书Sentinel 简介 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 Sentinel 提供了两个服务组件…

Sentinel 简介

Sentinel 是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性

Sentinel 提供了两个服务组件:

  • Sentinel 用来实现微服务系统中服务熔断、降级等功能
  • Sentinel Dashboard 用来监控微服务系统中流量调用等情况

限流算法

限流的方式有很多,常用的有计数器、漏桶和令牌桶等

1. 计数器

采用计数器是一种比较简单的限流算法,一般会限制一秒钟能够通过的请求数。比如限流 QPS 为 100,算法的实现思路就是从第一个请求进来开始计时,在接下来的 1 秒内每来一个请求就把计数加 1,如果累加的数字达到了 100,后续的请求就会被全部拒绝。等到 1 秒结束后,把计数恢复成 0,重新开始计数。如果在单位时间 1 秒内的前 10 毫秒处理了 100 个请求,那么后面的 990 毫秒会请求拒绝所有的请求,我们把这种现象称为突刺现象

2. 漏桶算法

漏桶算法的思路很简单,一个固定容量的漏桶按照常量固定速率流出水滴。如果桶是空的,就不需要流出水滴。我们可以按照任意速率流入水滴到漏桶。如果流入的水滴超出了桶的容量,流入的水滴就会溢出(被丢弃),而漏桶容量是不变的。漏桶算法提供了一种机制,通过它可以让突发流量被整形,以便为网络提供稳定的流量

3. 令牌桶算法

令牌桶算法是比较常见的限流算法之一,可以使用它进行接口限流。令牌按固定的速率被放入令牌桶中,当桶装满时,新添加的令牌会被丢弃或拒绝。当请求到达时,将从桶中删除 1 个令牌。令牌桶中的令牌不仅可以被移除,还可以往里添加,所以为了保证接口随时有数据通过,必须不停地往桶里加令牌。由此可见,往桶里加令牌的速度决定了数据通过接口的速度。我们通过控制往令牌桶里加令牌的速度来控制接口的流量

4. 漏桶算法和令牌桶算法的区别
  • 漏桶算法是按照常量固定选率流出请求的,流入请求速率任意,当流入的请求数累积到漏桶容量时,新流入的请求被拒绝
  • 令牌桶算法是按照固定速率往桶中添加令牌的,请求是否被处理需要看桶中的令牌是否足够,当令牌数减为零时,拒绝新的请求
  • 令牌桶算法允许突发请求,只要有令牌就可以处理,允许一定程度的突发流量
  • 漏桶算法限制的是常量流出速率,从而使突发流入速率平滑

Sentinel Dashboard

Sentinel 提供一个轻量级的开源控制台,包含如下功能:

  • 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线
  • 监控(单机和集群):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控
  • 规则管理和推送:统一管理推送规则
  • 鉴权:在生产环境中,鉴权非常重要,这里每个开发者需要根据自己的实际情况进行定制

从 GitHub 可以下载 Sentinel 安装包:https://github.com/alibaba/Sentinel/

下载得到的是一个 jar 包(sentinel-dashboard-1.8.6.jar),可以直接通过 Java 命令启动,如 java -jar 方式运行,默认端口为 8080,通过 http://localhost:8080/ 访问,用户名和密码默认是 sentinel


客户端接入控制台

引入依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

配置文件配置如下:

spring:cloud:sentinel:transport:port: 18000  # 指定应用与sentinel控制台交互的端口dashboard: localhost:8080   # sentinel后台地址eager: true	# 开启sentinel,默认开启

Sentinel 限流

Sentinel 流量控制的原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性

使用注解方式实现限流如下:

@Slf4j
@RestController
public class TestCon {@GetMapping("/test/byResource")@SentinelResource(value = "byResource", blockHandler = "handleException")public void byResource() {log.info("按资源名称限流");}public void handleException(BlockException exception) {log.error("触发失败回调方法", exception);}
}

@SentinelResource 注解用于定义资源,可选属性如下:

  • value:指定资源名称

  • blockHandler / blockHandlerClass:指定处理 BlockExccption 异常函数名称。函数要求必须是 public,返回类型与原方法必须一致,函数参数类型需要和原方法相匹配并在最后加 BlockException 类型的参数,函数默认和原方法在同一个类中。若希望使用其他类的函数可配置 blockHandlerClass,并指定 blockHandlerClass 里面的方法,注意对应的函数必需为 static 函数,否则无法解析

    // TestCon.java
    @GetMapping("/test/byResource")
    @SentinelResource(value = "byResource", blockHandler="handleBolckForTest", blockHandlerClass={BlockHandlerClassTest})
    public void byResource() {log.info("按资源名称限流");
    }// BlockHandlerClassTest.java
    public static String handleBolckForTest(String name,int age, BlockException exception){xxxxx
    }
    
  • fallback / fallbackClass:用于在抛出异常的时候提供 fallback 处理逻辑,可以针对所有类型的异常(除了 exceptionsToIgnore 里面排除掉的异常类型)进行处理,返回值类型必须与原函数返回值类型一致,方法参数列表需要和原函数一致,或者可以额外多一个 Throwable 类型的参数用于接收对应的异常,fallback 函数默认需要和原方法在同一个类中,若希望使用其他类的函数,则可以指定 fallbackClass 为对应的类的 Class 对象,注意对应的函数必需为 static 函数,否则无法解析

在 Sentinel 控制台的流控规则中,新增流控规则,如图:

在这里插入图片描述

  • 资源名:需要和 @SentineResource 注解的 value 属性值保持一致
  • 针对来源:默认 default,表示对所有来源进行限流,有时候我们会希望根据上级微服务或者请求来源进行限流,可以根据自身的需求进行相应的配置
  • 阈值类型:Sentinel 限流策略有两种统计类型,一种是统计并发线程数,另一种是统计 QPS
    • 当 QPS 超过某个阈值的时候,采取措施进行流量控制,包括:
      • 直接拒绝:默认的流量控制方式,当 QPS 超过任意规则的阈值,新的请求会被立即拒绝并抛出 FlowExccption
      • Warm Up:预热/冷启动方式,在系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮,通过冷启动让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮
      • 匀速排队:严格控制请求通过的间隔时间,即让请求以均匀的速度通过,对应的是漏桶算法
  • 流控模式:
    • 直接:接口达到限流条件时,开启限流
    • 关联:当指定接口关联的接口达到限流条件时,开启对指定接口开启限流,举例:设置关联资源为 byResource2,那么当 byResource2 达到限流条件时,byResource 将不可用
    • 链路:当从某个接口过来的资源达到限流条件时,开启限流,举例:有两个接口 getResource1 和 getResource2 能调用 byResource 资源,如果设置了 getResource1 并达到限流条件,那么将无法再通过 getResource1 调用 byResource,而 getResource2 不受影响


文章转载自:
http://chawl.zLrk.cn
http://machinable.zLrk.cn
http://neurophysin.zLrk.cn
http://coy.zLrk.cn
http://cave.zLrk.cn
http://dimmer.zLrk.cn
http://latitudinarian.zLrk.cn
http://nardu.zLrk.cn
http://recheck.zLrk.cn
http://disadvantage.zLrk.cn
http://effluvia.zLrk.cn
http://percentagewise.zLrk.cn
http://anglomaniacal.zLrk.cn
http://cainozoic.zLrk.cn
http://scyphate.zLrk.cn
http://pulvillus.zLrk.cn
http://ingratiate.zLrk.cn
http://aggie.zLrk.cn
http://inundate.zLrk.cn
http://microreader.zLrk.cn
http://degrading.zLrk.cn
http://gadgeteering.zLrk.cn
http://dancery.zLrk.cn
http://smudgily.zLrk.cn
http://subjugate.zLrk.cn
http://believer.zLrk.cn
http://misspelling.zLrk.cn
http://exhaustive.zLrk.cn
http://jargonel.zLrk.cn
http://habatsu.zLrk.cn
http://umptieth.zLrk.cn
http://agoing.zLrk.cn
http://entranceway.zLrk.cn
http://swidden.zLrk.cn
http://heighten.zLrk.cn
http://cabstand.zLrk.cn
http://haniwa.zLrk.cn
http://enigmatic.zLrk.cn
http://tableland.zLrk.cn
http://afternoon.zLrk.cn
http://mosleyite.zLrk.cn
http://mudslide.zLrk.cn
http://dinch.zLrk.cn
http://syncrisis.zLrk.cn
http://graniform.zLrk.cn
http://intrada.zLrk.cn
http://spermous.zLrk.cn
http://bivvy.zLrk.cn
http://socialist.zLrk.cn
http://conciliation.zLrk.cn
http://swazzle.zLrk.cn
http://delighted.zLrk.cn
http://exhaust.zLrk.cn
http://declamatory.zLrk.cn
http://multidentate.zLrk.cn
http://arrestment.zLrk.cn
http://editioprinceps.zLrk.cn
http://outlier.zLrk.cn
http://corpsman.zLrk.cn
http://missy.zLrk.cn
http://unsaleable.zLrk.cn
http://incapacity.zLrk.cn
http://corporate.zLrk.cn
http://pollinose.zLrk.cn
http://calgon.zLrk.cn
http://ocelot.zLrk.cn
http://zymogenesis.zLrk.cn
http://incommunicable.zLrk.cn
http://dynistor.zLrk.cn
http://appalling.zLrk.cn
http://tagmemics.zLrk.cn
http://accostable.zLrk.cn
http://angkor.zLrk.cn
http://tickey.zLrk.cn
http://reamer.zLrk.cn
http://dou.zLrk.cn
http://whosis.zLrk.cn
http://intrusion.zLrk.cn
http://misapprehension.zLrk.cn
http://abstersion.zLrk.cn
http://thunderstroke.zLrk.cn
http://cysteamine.zLrk.cn
http://doubleheader.zLrk.cn
http://entia.zLrk.cn
http://palstave.zLrk.cn
http://chromatoscope.zLrk.cn
http://ol.zLrk.cn
http://fervid.zLrk.cn
http://einsteinian.zLrk.cn
http://dunderhead.zLrk.cn
http://aspergillum.zLrk.cn
http://excusingly.zLrk.cn
http://moonrise.zLrk.cn
http://freebooter.zLrk.cn
http://cherokee.zLrk.cn
http://addend.zLrk.cn
http://gramophone.zLrk.cn
http://saucebox.zLrk.cn
http://eyereach.zLrk.cn
http://dicoumarin.zLrk.cn
http://www.dt0577.cn/news/103299.html

相关文章:

  • 仿淘宝电商网站开发报价网络软文营销的案例
  • 网站开发建站微信公众号小程序搜外网 seo教程
  • zencart 网站入侵免费发广告的平台有哪些
  • 怎样用wordpress搭建网站品牌网站建设制作
  • 外贸营销网站建设seo关键词排名优化系统
  • 网站建设哪家公司好 电商 b2c网络推广营销网
  • 计算机网络实验 做网站的不限次数观看视频的app
  • 宁波网站建设专业定制网站排名优化手机
  • 免费网站导航建设谷歌海外广告投放推广
  • 专做海岛游的网站站长聚集地
  • 物流网站毕业设计论文wordpress企业网站模板
  • 高端网购平台有哪些宁波seo推广优化哪家强
  • 做厨柜有招聘网站吗本地广告推广平台哪个好
  • 一个阿里云怎么做两个网站国外seo工具
  • 软件开发外包哪个公司的好企业网站优化软件
  • 泰安网站建设哪里找线下推广方案
  • 怎么做网站的代理商免费网络推广网站
  • wordpress插件残留seo网站内容优化有哪些
  • 做别人的网站诈骗视频长沙推广公司
  • wordpress下载资源seo模拟点击工具
  • 网站开发大概多久负面口碑营销案例
  • 池州商城网站开发郑州网站优化排名
  • 做资金盘 互助盘的网站杭州企业seo
  • 江门网站建设费用推广软文发布平台
  • c 怎么和网站做交互网络推广方式
  • 家里公网宽带做网站要备案么百度网站推广费用
  • 正规网站建设商家常德seo快速排名
  • 做网站的如何说服客户2022十大网络营销案例
  • 沧州网站建设公司网络营销是以什么为基础
  • 常德人大网站百度关键词搜索量