栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springcloudalibaba架构(2):Sentinel服务容错与使用入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springcloudalibaba架构(2):Sentinel服务容错与使用入门

文章目录
  • 前言
  • Sentinel
    • sentinel-dashboard控制台
    • 微服务集成Sentinel

前言

在微服务架构中,我们将业务拆分成很多的服务,服务与服务之间可以互相调用,但是由于一些原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时如果有大量的请求,会形成任务堆积,导致服务雪崩。

如何解决服务雪崩?
Spring Cloud提供了一系列的组件。

  • Hystrix(已闭源): Netflix开源的延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,提供系统的可用性和容错性。
  • Resilience4J:一款非常轻量、简单,并且文档非常清晰、丰富的熔断工具,这是Hystrix官方推荐的替代品。不仅如此,Resilicence4j还原生支持Spring Boot 1.x/2.x,而监控也支持和prometheus等多款主流产品进行整合。
  • Sentinel :阿里开源的一款断路器实现,被阿里大规模使用,稳定可靠。

本章代码已分享至Gtiee :https://gitee.com/lengcz/springcloudalibaba01.git

Sentinel

Sentinel是阿里开源的一套用于服务容错的解决方案。它以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
Sentinel分为两部分

  • 核心库(Java客户端)不依赖于任何框架/库,能够运行于所有Java运行时环境,同时对Dubbo/Spring Cloud 等框架也可以很好的支持。
  • 控制台(Dashboard)基于Spring Boot开发,打包后可以直接运行,不需要哦额外的Tomcat等容器。
sentinel-dashboard控制台

下载地址:https://github.com/alibaba/Sentinel/releases

启动dashboard,sentinel-dashboard 是一个springboot项目

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.4.jar

直接访问 http://localhost:8080/,默认账号名sentinel,密码是sentinel

微服务集成Sentinel

在order模块中

  1. 添加依赖(这一步已经整合好了sentinel)
 
            com.alibaba.cloud
            spring-cloud-starter-alibaba-sentinel
        
  1. 添加一个测试的controller
@RestController
@Slf4j
public class HelloController {

    @GetMapping("/hello1")
    public String hello() {
        log.info("say hello------------1");
        return "hello1";
    }

    @GetMapping("/hello2")
    public String hello2() {
        log.info("say hello------------2");
        return "hello2";
    }
}
  1. 配置dashboard地址
spring:
  cloud:
    sentinel:
      transport:
        port: 12345 #与控制台交流的端口,可随意指定,不冲突即可。
        dashboard: localhost:8080 # sentinel-dashboard的地址
  1. 启动服务,dashboard没有显示我们的应用,因为dashboard使用的懒加载方式,需要请求一次order服务的接口(任意接口),即可。


可以看到实时请求的数据

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035685.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号