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

网站设计工作内容个人网站制作

网站设计工作内容,个人网站制作,wordpress目录主题,防城港网站设计Sentinel 服务限流 雪崩效应 高并发系统中,由一个小问题而引发的系统崩溃。 解决方案 设置线程超时,当某个请求在特定的时间内无法调通,则直接释放该线程。设置限流,某个微服务到达访问上限之后,其他请求就暂时无法访…

Sentinel 服务限流

雪崩效应
高并发系统中,由一个小问题而引发的系统崩溃。


解决方案

  1. 设置线程超时,当某个请求在特定的时间内无法调通,则直接释放该线程。
  2. 设置限流,某个微服务到达访问上限之后,其他请求就暂时无法访问该服务。
  3. 熔断器,这是目前微服务中比较主流的解决方案,如 Hystrix,相当于家里的保险丝,如果电流过大,为了保护家电设备,自动烧断保险丝,断电,阻断电流。

1. Sentinel 基本接入步骤

1.1 pom.xml 引入依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

1.2 application.yml 配置

management:endpoints:web:exposure:include: '*'
spring:cloud:sentinel:transport:dashboard: localhost:8080

1.3 启动 Sentinel 控制台

  • 下载地址:https://github.com/alibaba/Sentinel/releases
  • 启动命令(控制台默认端口 8080):
java -jar sentinel-dashboard-1.7.2.jar
  • 浏览器访问:http://localhost:8080

启动服务后访问一次接口,再刷新控制台页面,就能看到监控数据。


2. 流控规则

直接限流

在 Sentinel 控制台中选择簇点链路,直接对指定资源(如 /index)设置 QPS 阈值。


关联限流

@RestController
public class SentinelController {@Value("${server.port}")private String port;@GetMapping("/index")public String index(){return this.port;}@GetMapping("/list")public String list(){return "list";}
}

模拟访问压力:

public class Test {public static void main(String[] args) throws Exception {RestTemplate restTemplate = new RestTemplate();for (int i = 0; i < 1000; i++) {restTemplate.getForObject("http://localhost:8280/list", String.class);Thread.sleep(500);}}
}

链路限流(重点)

链路限流是一种更细粒度的限流方式,对某个资源(Service)在不同调用路径下分别进行限流控制。

⚠️ 注意:Sentinel 1.6.3+ 默认会将所有 URL 的 context 统一为 sentinel_web_context,链路限流失效。

正确开启链路限流的步骤

1)pom.xml 添加依赖
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-core</artifactId><version>1.7.1</version>
</dependency><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-web-servlet</artifactId><version>1.7.1</version>
</dependency>

2)application.yml 禁用默认 Web Filter 收敛
spring:cloud:sentinel:filter:enabled: false

3)编写配置类,手动注册 CommonFilter
@Configuration
public class FilterConfiguration {@Beanpublic FilterRegistrationBean registrationBean(){FilterRegistrationBean registrationBean = new FilterRegistrationBean();registrationBean.setFilter(new CommonFilter());registrationBean.addUrlPatterns("/*");registrationBean.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY,"false");registrationBean.setName("sentinelFilter");return registrationBean;}
}

4)Service 层定义资源
@Service
public class HelloService {@SentinelResource("test")public void test() {System.out.println("test");}
}

5)Controller 多路径调用资源
@RestController
public class TestController {@Autowiredprivate HelloService helloService;@GetMapping("/test1")public String test1() {this.helloService.test();return "test1";}@GetMapping("/test2")public String test2() {this.helloService.test();return "test2";}
}

然后在 Sentinel 控制台中添加:

  • 资源名称:test
  • 规则类型:链路
  • 来源 /test1 → test 设置限流规则
  • 来源 /test2 → test 不设置

这样就实现了“链路级别”的资源访问控制!


3. 流控效果

快速失败

超过阈值立即抛出异常,返回错误提示。


Warm Up(预热)

在应用刚启动时,预热期间单机 QPS 阈值较低,逐渐升至设定值。

  • 初始:阈值为设置值的 1/3
  • 过渡:按比例提升
  • 最终:恢复到设定值

排队等待(匀速排队)

请求未被立即处理,而是进入等待队列,直到到达时间窗口内的空闲处理时间。

public class Test {public static void main(String[] args) throws Exception {RestTemplate restTemplate = new RestTemplate();for (int i = 0; i < 1000; i++) {restTemplate.getForObject("http://localhost:8280/index", String.class);Thread.sleep(500);}}
}

总结

机制描述
直接限流对资源本身进行 QPS 限制
关联限流当前资源访问量受另一个资源访问量影响
链路限流对相同资源在不同调用路径下设置不同的限流规则(需关闭统一 context)
Warm Up适用于刚启动的系统,慢启动保护
排队等待请求进入队列处理,防止短时间内系统被压垮

欢迎收藏、点赞👍、评论💬,如需更多微服务实践文章,欢迎关注我持续更新的专栏!

如需 .md 文件、配图打包或配套项目源码,请留言~

http://www.dtcms.com/wzjs/393631.html

相关文章:

  • 房屋中介做网站的书籍百度seo系统
  • 网站 怎么 做压力测试西安关键字优化哪家好
  • 广东住房和城乡建设委员会网站深圳网站seo推广
  • 买网站平台名字吗网络营销专业技能
  • web网站开发安全性直通车怎么开才有效果
  • 有哪些网站做汽车周边服务seo教学网seo
  • 网站开发哪一门语言更快长沙官网seo收费标准
  • 做网站的人月上海职业技能培训机构一览表
  • 网站开发步奏江北seo
  • 如何填写网站建设计划表现在最火的推广平台
  • 一级a做爰片手机电影网站长沙优化科技有限公司
  • 做网站的原型文件下载百度seo公司哪家最好
  • 成都 网站建设 公司今日nba战况
  • 企业 网站备案东莞网站制作外包
  • 企业网店推广运营策略杭州seo排名费用
  • 越南外贸平台seo网络优化软件
  • 网站建设与管理案例教程在线阅读自己做网络推广怎么做
  • 襄阳网站制作seo推广公司哪家好
  • 哪个网站学做真账比较好营销型网站策划方案
  • 自己做的网站添加域名互联网行业最新资讯
  • 怎样去查网站备案号免费的推广引流软件下载
  • 网站做淘宝客收入咋样营销策划公司简介
  • 网站线框百度推广代理怎么加盟
  • 网站载入页面怎么做网络培训研修总结
  • 朝阳网站建设多少钱求网址
  • 深圳住房和城乡建设局官网安卓手机优化
  • 家装设计师培训课程邯郸seo
  • 自己做网站切入地图天津疫情最新情况
  • 网站建设主要课程济南做seo外包
  • 需要手机端网站建设的企业宣传软文案例