返回

Sentinel源码1-源码环境搭建(控制台)

后端

Sentinel 简介

Sentinel 是阿里巴巴开源的分布式系统流量防卫兵,提供高可用、弹性化的流量控制、熔断、降级等功能,旨在保障微服务的稳定性。Sentinel 的特点包括:

  • 高可用: Sentinel 采用分布式架构,由多个 Sentinel 节点组成,即使部分节点出现故障,也不会影响整个系统。
  • 弹性: Sentinel 可以根据系统的实际情况动态调整流量控制、熔断和降级策略,以保障系统的稳定性。
  • 简单易用: Sentinel 提供友好的控制台和丰富的 API,方便用户配置和使用。

搭建 Sentinel 源码环境(控制台)

1. 前提条件

搭建 Sentinel 源码环境需要满足以下要求:

  • JDK 1.8 或更高版本
  • Maven 3.3 或更高版本
  • Git
  • ZooKeeper 3.4.10 或更高版本
  • Redis 5.0 或更高版本

2. 下载 Sentinel 源码

使用 Git 命令将 Sentinel 源码克隆到本地:

git clone https://github.com/alibaba/Sentinel.git

3. 安装 ZooKeeper 和 Redis

按照 ZooKeeper 和 Redis 的官方文档安装并启动 ZooKeeper 和 Redis。

4. 配置 Sentinel

修改 Sentinel/conf/sentinel.properties 文件,配置 ZooKeeper 和 Redis 的连接信息:

zookeeper.address=127.0.0.1:2181
redis.address=127.0.0.1:6379

5. 编译 Sentinel

使用 Maven 命令编译 Sentinel:

mvn clean package -DskipTests=true

6. 启动 Sentinel

使用以下命令启动 Sentinel 控制台:

mvn spring-boot:run

访问 http://localhost:8080 即可打开 Sentinel 控制台。

Sentinel 子项目

Sentinel 由多个子项目组成,每个子项目都有不同的功能。以下是对 Sentinel 子项目的介绍:

  • sentinel-core:Sentinel 的核心组件,提供流量控制、熔断、降级等功能。
  • sentinel-transport-common:Sentinel 的传输层,支持 TCP 和 UDP 协议。
  • sentinel-transport-simple:Sentinel 的简单传输层,提供 HTTP 和 HTTPS 协议的支持。
  • sentinel-transport-command:Sentinel 的命令传输层,支持通过命令行控制台管理 Sentinel。
  • sentinel-transport-dubbo:Sentinel 的 Dubbo 扩展,提供 Dubbo 服务的流量控制和熔断。
  • sentinel-transport-sofa:Sentinel 的 Sofa 扩展,提供 Sofa 服务的流量控制和熔断。
  • sentinel-transport-spring-cloud:Sentinel 的 Spring Cloud 扩展,提供 Spring Cloud 服务的流量控制和熔断。
  • sentinel-dashboard:Sentinel 的控制台,提供友好的 UI 界面。

总结

本文详细介绍了如何在本地搭建 Sentinel 源码环境,并使用控制台来管理和监控 Sentinel。此外,还介绍了 Sentinel 的子项目,以便您更深入地了解 Sentinel 的各个组件。