Skip to content

Commit

Permalink
Fixes alibaba#117: Update document of Sentinel Dashboard
Browse files Browse the repository at this point in the history
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
  • Loading branch information
sczyh30 committed Sep 3, 2018
1 parent 9164bb1 commit f70ab5a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 22 deletions.
26 changes: 15 additions & 11 deletions sentinel-dashboard/README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,48 @@
# Sentinel控制台
# Sentinel 控制台

## 0. 概述

Sentinel控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在Sentinel控制台上,我们可以配置规则并实时查看流量控制效果。
Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。

## 1. 编译和启动

### 1.1 如何编译

使用如下命令将代码打包成一个fat jar:
使用如下命令将代码打包成一个 fat jar:

```bash
$ mvn clean package
mvn clean package
```

### 1.2 如何启动

使用如下命令启动编译后的控制台:

```bash
$ java -Dserver.port=8080 \
java -Dserver.port=8080 \
-Dcsp.sentinel.dashboard.server=localhost:8080 \
-Dproject.name=sentinel-dashboard \
-jar target/sentinel-dashboard.jar
```

上述命令中我们指定几个JVM参数,其中`-Dserver.port=8080`用于指定spring boot启动端口为`8080`,其余几个是Sentinel客户端的参数。为便于演示,我们对控制台本身加入了流量控制功能,具体做法是引入`CommonFilter`这个Sentinel拦截器,上述JVM参数的含义是:
上述命令中我们指定几个 JVM 参数,其中 `-Dserver.port=8080` 用于指定 Spring Boot 启动端口为 `8080`,其余几个是 Sentinel 客户端的参数。
为便于演示,我们对控制台本身加入了流量控制功能,具体做法是引入 `CommonFilter` 这个 Sentinel 拦截器。上述 JVM 参数的含义是:

| 参数 | 作用 |
|--------|--------|
|`Dcsp.sentinel.dashboard.server=localhost:8080`|向Sentinel客户端指定控制台的地址。|
|`-Dproject.name=sentinel-dashboard`|向Sentinel指定本程序名称。|
|`Dcsp.sentinel.dashboard.server=localhost:8080`|向 Sentinel 客户端指定控制台的地址|
|`-Dproject.name=sentinel-dashboard`|向 Sentinel 指定本程序名称|

全部配置项参考[启动配置项](https://github.com/alibaba/Sentinel/wiki/%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E9%A1%B9)
全部配置项参考 [启动配置项](https://github.com/alibaba/Sentinel/wiki/%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E9%A1%B9)

经过上述配置,控制台启动后会自动向自己发送心跳。程序启动后浏览器访问`localhost:8080`即可访问Sentinel控制台
经过上述配置,控制台启动后会自动向自己发送心跳。程序启动后浏览器访问`localhost:8080`即可访问 Sentinel 控制台

## 2. 客户端接入

选择合适的方式接入Sentinel,然后在应用启动时加入JVM参数`-Dcsp.sentinel.dashboard.server=consoleIp:port`指定控制台地址和端口,Sentinel客户端会自动向控制台发送心跳包,将客户端纳入到控制台的管辖之下。
选择合适的方式接入 Sentinel,然后在应用启动时加入 JVM 参数 `-Dcsp.sentinel.dashboard.server=consoleIp:port` 指定控制台地址和端口。
确保客户端有访问量,**Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包**,将客户端纳入到控制台的管辖之下。

客户端接入的详细步骤请参考 [Wiki 文档](https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0#3-%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5%E6%8E%A7%E5%88%B6%E5%8F%B0)

## 3. 验证是否接入成功

Expand Down
28 changes: 17 additions & 11 deletions sentinel-dashboard/Sentinel_Dashboard_Feature.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Sentinel控制台功能介绍
# Sentinel 控制台功能介绍

## 0. 概述

Sentinel控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在Sentinel控制台上,我们可以配置规则并实时查看流量控制效果。使用Sentinel控制台的流程如下
Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。使用 Sentinel 控制台的流程如下

```
客户端接入 -> 机器自发现 -> 查看簇点链路 -> 配置流控规则 -> 查看流控效果
Expand All @@ -12,36 +12,42 @@ Sentinel控制台是流量控制、熔断降级规则统一配置和管理的入

### 1.1 机器自发现

Sentinel提供内置的机器自发现功能,无需依赖第三方服务发现组件即可实现客户端的发现。点击Sentinel控制台左侧导航栏的“机器列表”菜单,可查看集群机器数量和机器健康状况。
Sentinel 提供内置的机器自发现功能,无需依赖第三方服务发现组件即可实现客户端的发现。点击 Sentinel 控制台左侧导航栏的“机器列表”菜单,可查看集群机器数量和机器健康状况。

### 1.2 簇点链路自发现

Sentinel将每一个需要流控的URL或者接口称为一个资源,并使用URL地址或方法签名表示资源。Sentinel会自动发现所有潜在的资源和资源之间的调用链,并在“簇点链路”页面展示。资源是设置流控规则的载体,通过簇点链路自发现,可以方便的对重要资源设置流控规则、熔断降级规则等。
Sentinel 将每一个需要流控的 URL 或者接口称为一个资源,并使用URL地址或方法签名表示资源。Sentinel 会自动发现所有潜在的资源和资源之间的调用链,并在“簇点链路”页面展示。
资源是设置流控规则的载体,通过簇点链路自发现,可以方便的对重要资源设置流控规则、熔断降级规则等。

> 注意:客户端有访问量之后,才能在簇点链路页面看到资源监控。
> 注意:**客户端有访问量之后,才能在簇点链路页面看到资源监控(lazy-initializing)**
### 1.3 实时监控

Sentinel监控功能能够实时查看集群中每个资源的实时访问以及流控情况。控制台左侧导航栏的“实时监控”菜单对应该功能。
Sentinel 监控功能能够实时查看集群中每个资源的实时访问以及流控情况。控制台左侧导航栏的“实时监控”菜单对应该功能。

### 1.4 流控降级规则设置

Sentinel提供了多种规则来保护系统的不同部分。流量控制规则用于保护服务提供方,熔断降级规则用于保护服务消费方,系统保护规则用于保护整个系统。
Sentinel 提供了多种规则来保护系统的不同部分。流量控制规则用于保护服务提供方,熔断降级规则用于保护服务消费方,系统保护规则用于保护整个系统。

#### 1.4.1 流量控制规则

流量控制规则用于保护服务提供方,服务提供方指任何可以对外提供服务的系统,比如向终端用户提供Web服务的Web应用,向微服务消费方提供服务的Dubbo Service Provider等。系统的服务能力是有限的,如果消费方请求速度过高,则采用相应的保护策略,或是直接拒绝,或是排队等待。通过“流控规则”页面可以查看和配置流量控制规则。
流量控制规则用于保护服务提供方,服务提供方指任何可以对外提供服务的系统,比如向终端用户提供 Web 服务的 Web 应用,向微服务消费方提供服务的 Dubbo Service Provider 等。
系统的服务能力是有限的,如果消费方请求速度过高,则采用相应的保护策略,或是直接拒绝,或是排队等待。通过“流控规则”页面可以查看和配置流量控制规则。

#### 1.4.2 熔断降级规则

降级规则用于保护服务消费方。在微服务架构中,业务系统通常要依赖多个服务,依赖的某个服务不可用将会影响业务系统的可用性。解决这个问题的方法是及时发现服务的“不可用”状态,在调用时快速失败而不是等待调动超时或者重试。Sentinel通过熔断降级来达到快速失败的目的。通过“降级规则”页面可以查看和配置降级规则。
降级规则用于保护服务消费方。在微服务架构中,业务系统通常要依赖多个服务,依赖的某个服务不可用将会影响业务系统的可用性。解决这个问题的方法是及时发现服务的“不可用”状态,在调用时快速失败而不是等待调动超时或者重试。Sentinel 通过熔断降级来达到快速失败的目的。通过“降级规则”页面可以查看和配置降级规则。

#### 1.4.3 系统保护规则

系统保护规则(简称`系统规则`)用于保护整个系统指标处于安全水位。无论是服务提供方还是消费方,活跃线程数过多、系统LOAD等过高都是系统处于高水位的指标。当系统水位过高时,系统应拒绝对外提供服务以便迅速降低资源占用。通过“系统规则”页面可以查看和设置系统保护规则。

## 2. 限制

本控制台只是用于演示Sentinel的基本能力和工作流程,并没有依赖生产环境中所必需的组件,比如**持久化的后端数据库、可靠的配置中心**等。目前Sentinel采用内存态的方式存储监控和规则数据,监控最长存储时间为5分钟,控制台重启后数据丢失。
本控制台只是用于演示 Sentinel 的基本能力和工作流程,并没有依赖生产环境中所必需的组件,比如**持久化的后端数据库、可靠的配置中心**等。
目前 Sentinel 采用内存态的方式存储监控和规则数据,监控最长存储时间为 5 分钟,控制台重启后数据丢失。

更多:[Sentinel控制台启动和客户端接入](./README.md)
更多:

- [Sentinel 控制台启动和客户端接入](./README.md)
- [控制台 Wiki](https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0)

0 comments on commit f70ab5a

Please sign in to comment.