1. 概述

Sentinel 的官方文档非常完善,所以本文会大量引用噢。

如果胖友对服务保障相关的中间件了解较少,可能本文看起来会看到蛮多新概念。不过问题不大,打怪升级多美好~

1.1 介绍

Sentinel 是什么?

FROM https://github.com/alibaba/Sentinel 轻量级的流量控制、熔断降级 Java 库。

FROM 《Sentinel 官方文档 —— 介绍》 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

1.2 功能

FROM 《Sentinel 官方文档 —— 介绍》

Sentinel 具有以下特征:

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
  • 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

Sentinel 的主要特性:

1.3 组成

FROM 《Sentinel 官方文档 —— 介绍》

Sentinel 分为两个部分

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

2. 控制台

在开始在项目中集成【Sentinel 客户端】之前,我们先来搭建【Sentinel 控制台】。

① 下载

打开 Sentinel 下载页面,选择想要的 Sentinel 版本。这里,我们选择 1.7.1 最新版本。

# 创建目录
$ mkdir -p /Users/yunai/Sentinel
$ cd /Users/yunai/Sentinel# 下载
$ wget https://github.com/alibaba/Sentinel/releases/download/1.7.1/sentinel-dashboard-1.7.1.jar

② 启动

执行 nohup java -jar sentinel-dashboard-1.7.1.jar & 命令,后台启动 Sentinel 控制台。通过查看 nohup.out 日志输入,如果有如下内容,说明启动成功:

2020-01-28 01:24:26.945  INFO 56162 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-01-28 01:24:26.951  INFO 56162 --- [           main] c.a.c.s.dashboard.DashboardApplication   : Started DashboardApplication in 3.044 seconds (JVM running for 3.525)

③ 访问 UI 界面

使用浏览器,访问 http://127.0.0.1:8080/ 地址,默认进入 Sentinel 登陆页。如下图所示:

使用默认的账号「sentinel / sentinel」进行登陆,进入 Sentinel 首页。如下图所示:

因为我们暂时没有应用接入到 Sentinel 中,所以暂时没有什么内容。稍后我们在「3. 集成到 Spring Boot」小节中,将 Spring Boot 集成 Sentinel 客户端,从而接入 Sentinel 控制台后,我们就可以看到 Sentinel 控制台的具体功能啦。

④ 配置

因为 Sentinel 控制台是基于 Spring Boot 实现,所以我们可以通过启动时的命令行参数,自定义配置。

  • --server.port:自定义服务器端口。默认为 8080 端口。
  • --auth.username 和 --auth.password:自定义账号和密码。默认为「sentinel / sentinel」。
  • --logging.file:自定义日志文件。默认为 ${user.home}/logs/csp/sentinel-dashboard.log

至此,我们已经完成了 Sentinel 控制台的搭建。更多内容,胖友可以后续阅读《Sentinel 官方文档 —— 控制台》文章。

3. 集成到 Spring Boot

Sentinel 集成到 Spring Boot 项目中,可阅读《Spring Boot 服务容错 Sentinel》文章。

4. 集成到 Spring Cloud

Sentinel 集成到 Spring Cloud 项目中,可阅读《Spring Cloud Alibaba 服务容错 Sentinel 入门》文章。

5. 集成到 Dubbo

Sentinel 极简入门相关推荐

  1. Docker极简入门

    原 Docker极简入门 2018年05月22日 20:25:12 阅读数:44 一.Docker概述 Docker通过一个包括应用程序运行时所需的一切的可执行镜像启动容器,包括配置有代码.运行时.库 ...

  2. .Net Core in Docker极简入门(下篇)

    点击上方蓝字"小黑在哪里"关注我吧 Docker-Compose 代码修改 yml file up & down 镜像仓库 前言 上一篇[.Net Core in Dock ...

  3. Nginx 极简入门教程

    Nginx 极简入门教程 基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP服务. Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第 ...

  4. Python极简入门教程

    前言 为了方便各位小白能轻松入门Python,同时加深自己对Python的理解,所以创造了"Python极简入门教程",希望能帮到大家,若有错误请多指正,谢谢.极简入门教程代表着不 ...

  5. SkyWalking 极简入门

    1. 概述 1.1 概念 SkyWalking 是什么? FROM http://skywalking.apache.org/ 分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Do ...

  6. Seata 极简入门

    1. 概述 Seata 是阿里开源的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务. 1.1 四种事务模式 Seata 目标打造一站式的分布事务的解决方案,最终会提供四种事务 ...

  7. RL极简入门:从MDP、DP MC TC到Q函数、策略学习、PPO

    前言 22年底/23年初ChatGPT大火,在写ChatGPT通俗笔记的过程中,发现ChatGPT背后技术涉及到了RL/RLHF,于是又深入研究RL,研究RL的过程中又发现里面的数学公式相比ML/DL ...

  8. APISIX 极简入门(国产微服务网关)

    1. 概述 APISIX 是基于 OpenResty + etcd 实现的云原生.高性能.可扩展的微服务 API 网关.它是国人开源,目前已经进入 Apache 进行孵化,牛逼!!! OpenRest ...

  9. 机器学习极简入门课程

    开篇词 | 入门机器学习,已迫在眉睫 大家好,我是李烨.现就职于微软(Microsoft),曾在易安信(EMC)和太阳微系统(Sun Microsystems)任软件工程师.先后参与过聊天机器人.大数 ...

最新文章

  1. 福布斯:混合现实未来的八大应用场景
  2. Python 多进程的进程池pool运行时报错:ValueError: Pool not running
  3. sinaapp mysql连接_手把手教你在新浪云上免费部署自己的网站--连接数据库
  4. mongoose 查询 find 指定字段
  5. android蓝牙4.0使用方法
  6. 从零开始学视觉Transformer(1):Hello Vision Transformer
  7. POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
  8. Python练习:星号三角形 I
  9. mysql 千万数据分页_MySQL处理千万级数据查询、分页
  10. php mysql web应用,PHP+MySQL Web应用开发
  11. activiti启动流程实例
  12. ES7 设置磁盘使用率水位线 allocation.disk.watermark
  13. 浅析小米登录/注册页面(原生)
  14. 微信小程序tab切换,可滑动切换,导航栏跟随滚动实现
  15. 腾讯即将发布区块链游戏,网友大呼求别再养猫养狗了!
  16. arduino电风扇程序_【NO.7】智能风扇控制器-
  17. 苹果CMS V10后台登录验证码错误解决方法
  18. china-pub第3波免费赠书正式推出,精品赠书20册,抢楼得书!
  19. PDF免费转PPT值得您收藏使用的网站
  20. 12、第三课---C++单位换算

热门文章

  1. STM32玩转物联网实战篇:01.网络通信前准备
  2. Python+大数据-数据处理与分析-pandas快速入门
  3. Android 是Google开发的基于Linux平台的开源手机操作系统
  4. 元宇宙发展研究报告2.0版本(清华大学)
  5. SQL 保留2位小数的方法/四舍五入
  6. 医院PACS系统之安装(win10)
  7. 利用SPSS可视化分箱轻松给数据进行等分分组
  8. 创建利于Google网站的步骤
  9. 遅くまで起きる vs 遅くまで寝る
  10. 反向迭代器---迭代器适配器