Skip to content

Commit

Permalink
fix readme pic path (#73)
Browse files Browse the repository at this point in the history
* go fmt

* fix readme

* 添加 熔断限流机制 readme

* 添加 热更新 readme

* 更新readme

* 更新readme

* 更新 readme 图片路径

Co-authored-by: MalikHou <[email protected]>
  • Loading branch information
EAHITechnology and MalikHou authored Aug 11, 2021
1 parent b17c352 commit b758675
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions docs/cn/cluster_deployment.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 部署

## 物理机部署
<img src="docs/cn/assets/deployment_idc.png" style="zoom:60%;" />
<img src="assets/deployment_idc.png" style="zoom:60%;" />
物理机部署应该尽可能选择多个机房部署, 做到高可用, 其中每个实例应该保持配置相同, 上游可以选择带有健康检查的 Server Load Balancer .

## kubernetes 下部署
<img src="docs/cn/assets/deployment_k8s.png" style="zoom:60%;" />
<img src="assets/deployment_k8s.png" style="zoom:60%;" />
kubernetes 下部署可以利用 nodeSelector 将 Pod 尽量调度到不同的 node 节点上, 此操作需要向 Node 对象添加标签就可以将 pod 定位到特定的节点或节点组, 这可以用来确保指定的 Pod 只能运行在具有一定隔离性,安全性或监管属性的节点上.
其中上游可以直接通过 Service 或者其他转发组件进行转发
2 changes: 1 addition & 1 deletion docs/cn/config-dynamic-reload.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Weir 作为多租户的 TiDB 数据库治理平台, 租户配置变更是一项比较频繁的操作. 如果每次增加, 修改, 删除租户配置都需要重新启动 Weir Proxy 才能使配置生效, 无疑会对用户体验和服务稳定性带来很大影响. 因此, 我们为 Weir 的 Namespace 配置提供了热加载支持. (注: 热加载要求配置中心使用 etcd )

<img src="docs/cn/assets/reload.png" style="zoom:60%;" />
<img src="assets/reload.png" style="zoom:60%;" />

Weir 支持通过[管理接口](docs/cn/RESTful_api.md)触发配置热加载, 需要手动触发过程, 其中包括准备 (Prepare) 和提交 (Commit) 两个阶段. Weir 维护了一个双指针队列, 两个指针分别指向当前和准备阶段的 Namespace 队列.
- 在准备阶段, Weir Proxy 会从配置中心拉取 Namespace 的最新配置, 解析配置并初始化 Namespace 存储在准备阶段队列中.
Expand Down
8 changes: 4 additions & 4 deletions docs/cn/fault-tolerant.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 熔断限流机制

<img src="docs/cn/assets/rateLimiterAndBreaker.png" style="zoom:60%;" />
<img src="assets/rateLimiterAndBreaker.png" style="zoom:60%;" />

## 熔断
```
Expand All @@ -19,7 +19,7 @@ strategies:
从配置文件中我们得知 strategies 是一个数组,那么 namespace 中可以在 scope 下配置多种熔断策略。当请求从客户端进入 weir ,weir 会根据链接账户选择要进入的租户(namesapce),同时启动对应租户下的熔断管理器,
熔断管理器根据 scope 可以选择当前是哪一类熔断器,再根据类别中的特征,比如库名表名,sql 特征等选择对应的熔断器对象,进行计数统计,如下图:

<img src="docs/cn/assets/breaker_process.png" style="zoom:60%;" />
<img src="assets/breaker_process.png" style="zoom:60%;" />

当熔断时返回错误 **circuit breaker triggered**

Expand Down Expand Up @@ -48,10 +48,10 @@ select * from test_table where in (?);
```

这里我们在 ast 解析时通过判断 ast 的 node 类型进行了值的替换, 并重写了 sql 进行输出, 这样就可以确定一类 sql 并提取他们的摘要方便我们后续使用, 如下图:
<img src="docs/cn/assets/ast.png" style="zoom:50%;" />
<img src="assets/ast.png" style="zoom:50%;" />

熔断器计数采用的是滑动窗口计数器,滑动窗口有实现简单,能应对周期比较长的统计
<img src="docs/cn/assets/sliding_window.png" style="zoom:80%;" />
<img src="assets/sliding_window.png" style="zoom:80%;" />

## 限流

Expand Down

0 comments on commit b758675

Please sign in to comment.