This is an automated email from the ASF dual-hosted git repository.

wangdan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 1e214642 Update Redis Chinese doc (#55)
1e214642 is described below

commit 1e21464267e52197b484eeadd7e5f6372526011e
Author: Yingchun Lai <[email protected]>
AuthorDate: Wed Jan 10 19:55:08 2024 +0800

    Update Redis Chinese doc (#55)
---
 _docs/zh/api/redis.md                       |  73 ++++++++------
 assets/drawio/apache_pegasus_website.drawio | 144 +++++++++++++++++++++++++++-
 assets/images/redis_proxy_arch.png          | Bin 36247 -> 144855 bytes
 3 files changed, 187 insertions(+), 30 deletions(-)

diff --git a/_docs/zh/api/redis.md b/_docs/zh/api/redis.md
index 84720cc2..a20068f5 100644
--- a/_docs/zh/api/redis.md
+++ b/_docs/zh/api/redis.md
@@ -2,41 +2,47 @@
 permalink: api/redis
 ---
 
-# Redis适配
+# Redis 适配
 
 ## 架构
 
-在pegasus上添加了redis proxy后,用户可以通过redis协议直接访问proxy,从而间接访问pegasus服务。整体架构如下:
+在 Pegasus 集群中部署 Redis Proxy 组件后,用户可以通过 Redis 协议直接访问 Redis Proxy,从而间接访问 Pegasus 
服务,从而实现使用 Redis 客户端访问 Pegasus 服务的目的。
+
+整体架构如下:
 
 
![redis_proxy_arch.png](/assets/images/redis_proxy_arch.png){:class="img-responsive"}
 
-redis客户端与redis 
proxy之间使用[redis协议](https://redis.io/topics/protocol),目前proxy已支持所有redis 
数据类型(Simple Strings、Errors、Integers、Bulk Strings、Arrays)。
+Redis 客户端与 Redis Proxy 之间使用[redis协议](https://redis.io/topics/protocol),目前 
Proxy 已支持所有的 RESP2 
[协议](https://redis.io/docs/reference/protocol-spec/)数据类型(即:Simple 
Strings、Errors、Integers、Bulk Strings、Arrays)。
 
-redis proxy与pegasus集群之间使用pegasus的thrift协议,proxy在这里就类似一个普通的pegasus client,从meta 
server查询meta信息、与replica server进行用户数据的读写。
+Redis Proxy 与 Pegasus 集群之间使用 Pegasus 的协议,Proxy 在这里就类似一个普通的 Pegasus Client,从 
Meta Server 查询路由信息、与 Replica Server 进行用户数据的读写。
 
 ## 提供服务的形式
 
-跟redis服务一样,以``host:port``形式提供,如果服务压力大,可以提供多个``host:port``来避免单点proxy压力过大造成瓶颈。当提供多个redis
 proxy地址时,由于后端访问的都是同一个集群的同一张表,数据是完全相同的。用户可以采用round robin, hash等方式进行负载均衡。
+跟 Redis 服务一样,Proxy 实例以 `host:port` 形式提供。如果服务压力大,可以提供多个 Proxy 
实例,通过水平扩展的方式来提升服务吞吐量。
+
+Proxy 是无状态的,多个 Proxy 实例共享同一个后端 Pegasus 服务。可以采用round robin, hash等方式进行负载均衡。
 
->proxy的可执行文件为``pegasus_rproxy``, 由``./run.sh pack_tools``打包生成。
+> Proxy 的可执行文件为 `pegasus_rproxy`, 由 `./run.sh pack_tools` 
[打包](/docs/build/compile-by-docker/#packaging)生成。
 
 ## 配置
 
-redis 
proxy的配置文件规则遵循[配置说明](/administration/config),参考[示例](https://github.com/apache/incubator-pegasus/blob/master/src/geo/bench/config.ini)。
+Redis Proxy 
的配置文件规则遵循[配置说明](/administration/config),参考[示例](https://github.com/apache/incubator-pegasus/blob/master/src/redis_protocol/proxy/config.ini)。
 
-在redis proxy中有几项特有的配置项需要注意:
+在 Proxy 中有几项特有的配置项需要注意:
 
 ```
 [apps.proxy]
 name = proxy
 type = proxy
 ; which pegasus cluster and table dose this proxy redirect to
-; 'onebox' is the cluster name which will be used in the next section
-; 'temp' is the table name in the cluster 
+; - 'onebox': the cluster name which will be used in the next section
+; - 'temp': the table name in the cluster 
+
 arguments = onebox temp
 ; if using GEO APIs, an extra table name which will store geo index data
 ; should be appended, i.e.
 ; arguments = onebox temp temp_geo
+
 ; port serve for redis clients
 ports = 6379
 pools = THREAD_POOL_DEFAULT
@@ -49,21 +55,29 @@ onebox = 127.0.0.1:34601,127.0.0.1:34602,127.0.0.1:34603
 
 ## APIs
 
-redis的原生命令请见[这里](https://redis.io/commands) 。
+Redis 的原生命令请见[这里](https://redis.io/commands) 。
 
-以下接口说明都兼容redis原生命令,但支持的参数可能少于redis,以下接口说明中都给出了目前Pegasus代理所支持的所有参数,未给出的目前不支持。
+以下接口都兼容 Redis 原生命令,但支持的参数可能少于 Redis。
 
-### KEY规则
+> 以下文档中都给出了目前 Pegasus Redis Proxy 所支持的所有参数,未给出的目前不支持。
 
-#### KV API
+### 协议
 
-对于redis的普通key-value操作,key对应到Pegasus中的hashkey,而Pegasus中的sortkey被设置为空串``""``。如`SET`,
  `GET`, `TTL`, `INCR`等。
+#### Strings API
+
+对于 Redis 的 [strings](https://redis.io/docs/data-types/strings/) 操作,key 对应到 
Pegasus 中的 hashkey,而 Pegasus 中的 sortkey 被设置为空串 `""`。
+
+支持的命令如:`SET`,  `GET`, `TTL`, `INCR`等。
 
 #### GEO API
 
-在原生redis中,`GEO*`接口操作的数据是通过`GEOADD key longitude latitude 
member`添加到数据库中的,这时`key`是一个namespace的概念,而不是`SET`操作时的key。
+在 Redis 中,[GEO](https://redis.io/docs/data-types/geospatial/) 接口操作的数据是通过 
[GEOADD](https://redis.io/commands/geoadd/),即 `GEOADD key longitude latitude 
member`,添加到数据库中的。此处的 `key` 是一个 namespace 的概念,而不是 `SET` 操作时的 key。
+
+而在 Pegasus Proxy 中,由于底层的实现原理不同,他的 `GEO*` 接口操作的数据是通过 `SET` 接口添加到数据库中的,`SET` 的 
key 对应于 `GEO*` 接口的 member,而 `GEO*` 接口的 key 则只能是空串 `""`。
+
+也就是说,在 Pegasus 的 Redis GEO 数据中,不再有 namespace 的概念,全部数据在同一空间 `""` 下。若要区分 
namespace,可以在 Pegasus 层创建新的表来实现。
 
-而pegasus 
proxy的`GEO*`接口操作的数据是通过`SET`接口添加到数据库中的,`SET`的key对应于`GEO*`接口的member,而`GEO*`接口的key则只能是``""``。也就是说,在pegasus
 的redis 
GEO数据中,不再有namespace的概念,全部数据在同一空间`""`下,若要区分key空间,则可以在pegasus层创建新的table实现。具体参考后面的示例。
+`SET` 的 value 
格式参考[这里](https://pegasus.apache.org/zh/api/geo#%E8%87%AA%E5%AE%9A%E4%B9%89extrator)。
 
 ### SET
 
@@ -83,9 +97,11 @@ GET key
 DEL key
 ```
 
-注意:  
+**注意:**  
 
-1. 这里的接口返回值和redis的定义略有不同:当key不存在时,redis接口返回0,这里则返回1。
+这里的接口返回值和 Redis 的定义略有不同:
+- 当 key 不存在时,Redis 接口返回 0,表示本次没有删除有效数据
+- Pegasus Proxy 由于没有对不存在和删除成功做区别,都统一返回的 1
 
 ### SETEX
 
@@ -137,9 +153,9 @@ DECRBY key decrement
 GEODIST key member1 member2 [unit]
 ```
 
-注意:  
+**注意:**  
 
-1. key规则遵循GEO API的key规则:这里的key只能是``""``,而这里member对应于`SET`操作时的key。
+- key 规则遵循 GEO API 的 key 规则,即 key 只能是空串 `""`,而这里 member 对应于 `SET` 操作时的 key
 
 ### GEORADIUS
 
@@ -147,9 +163,9 @@ GEODIST key member1 member2 [unit]
 GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD][WITHDIST] 
[WITHHASH][COUNT count] [ASC|DESC]
 ```
 
-注意:  
-1. key规则遵循GEO API的key规则:这里的key只能是``""``,而这里member对应于`SET`操作时的key。
-2. 我们对redis的``WITHHASH``参数进行了修改,使用它将会返回该member的value。
+**注意:**
+- key 规则遵循 GEO API 的 key 规则,即 key 只能是空串 `""`,而这里 member 对应于 `SET` 操作时的 key
+- Pegasus 对 Redis 的 `WITHHASH` 参数进行了修改,使用它将会返回该 member 的 value 值
 
 ### GEORADIUSBYMEMBER
 
@@ -157,13 +173,14 @@ GEORADIUS key longitude latitude radius m|km|ft|mi 
[WITHCOORD][WITHDIST] [WITHHA
 GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD][WITHDIST] 
[WITHHASH][COUNT count] [ASC|DESC]
 ```
 
-注意:  
-1. key规则同上,这里的key只能是``""``,而这里member对应于`SET`操作时的key。  
-2. 我们对redis的``WITHHASH``参数进行了修改,使用它将会返回该member的value。
+**注意:**  
+- key 规则遵循 GEO API 的 key 规则,即 key 只能是空串 `""`,而这里 member 对应于 `SET` 操作时的 key  
+- Pegasus 对 Redis 的 `WITHHASH` 参数进行了修改,使用它将会返回该 member 的 value 值
 
 ## 示例
 
 ```
+// Strings API 使用示例
 127.0.0.1:6379> SET abc 1 EX 60
 OK
 
@@ -176,7 +193,7 @@ OK
 127.0.0.1:6379> INCR abc
 (integer) 2
 
-// 以下是GEO API, 注意需要提前创建好geo表
+// GEO API 使用示例
 127.0.0.1:6379> SET 1cc0001000010290050356f 
"1cc0001000010290050356f|2018-06-10 23:59:59|2018-06-11 
13:00:00|wx5j5ff05|116.886447|40.269031|4.863045|20.563248|0|-1"
 OK
 
diff --git a/assets/drawio/apache_pegasus_website.drawio 
b/assets/drawio/apache_pegasus_website.drawio
index 0459b77e..28ec05a1 100644
--- a/assets/drawio/apache_pegasus_website.drawio
+++ b/assets/drawio/apache_pegasus_website.drawio
@@ -1,4 +1,4 @@
-<mxfile host="Electron" modified="2024-01-05T09:56:46.994Z" agent="Mozilla/5.0 
(Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) 
draw.io/22.1.16 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" 
etag="vebhnIL_wdysxJfvMTPv" version="22.1.16" type="device" pages="13">
+<mxfile host="Electron" modified="2024-01-10T09:01:24.785Z" agent="Mozilla/5.0 
(Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) 
draw.io/22.1.16 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" 
etag="RFiWTghfV5C96DXCOIWN" version="22.1.16" type="device" pages="14">
   <diagram id="pLOfRoBbhm5PAiLyfamx" name="architecture">
     <mxGraphModel dx="2261" dy="907" grid="1" gridSize="10" guides="1" 
tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" 
pageWidth="827" pageHeight="1169" math="0" shadow="0">
       <root>
@@ -1147,7 +1147,7 @@
       </root>
     </mxGraphModel>
   </diagram>
-  <diagram name="performance" id="Ot2lM1rBpEvDeAbCTTqb">
+  <diagram name="performance_2.4" id="Ot2lM1rBpEvDeAbCTTqb">
     <mxGraphModel dx="1434" dy="907" grid="1" gridSize="10" guides="1" 
tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" 
pageWidth="827" pageHeight="1169" math="0" shadow="0">
       <root>
         <mxCell id="0" />
@@ -1883,4 +1883,144 @@
       </root>
     </mxGraphModel>
   </diagram>
+  <diagram id="gkJz-hosiwD8HvD8s_pO" name="redis">
+    <mxGraphModel dx="1723" dy="567" grid="1" gridSize="10" guides="1" 
tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" 
pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-56" value="" 
style="rounded=1;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;strokeWidth=2;connectable=1;allowArrows=1;recursiveResize=1;"
 vertex="1" parent="1">
+          <mxGeometry x="240.5" y="490" width="155" height="60" as="geometry" 
/>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-55" value="" 
style="rounded=1;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;strokeWidth=2;connectable=1;allowArrows=1;recursiveResize=1;"
 vertex="1" parent="1">
+          <mxGeometry x="224" y="470" width="155" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-47" value="" 
style="rounded=1;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;strokeWidth=2;connectable=1;allowArrows=1;recursiveResize=1;"
 vertex="1" parent="1">
+          <mxGeometry x="209" y="450" width="155" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-5" value="" 
style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#F19C99;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="58.62" y="350" width="110" height="40" as="geometry" 
/>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-7" value="" 
style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#F19C99;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="202" y="350" width="110" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-10" value="" 
style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#F19C99;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="340" y="350" width="110" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-19" value="&lt;b&gt;ReplicaServer 
0&lt;/b&gt;" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="48.62" y="355" width="130" height="30" as="geometry" 
/>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-20" value="&lt;b&gt;ReplicaServer 
1&lt;/b&gt;" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="192" y="355" width="130" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-21" value="&lt;b&gt;ReplicaServer 
2&lt;/b&gt;" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;sketch=1;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="330" y="355" width="130" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-22" value="" 
style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontSize=15;strokeColor=#FFB570;fontFamily=Comic
 Sans MS;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="1">
+          <mxGeometry x="95" y="160" width="320" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-23" 
value="&lt;span&gt;MetaServer&lt;/span&gt;&lt;br&gt;&lt;span&gt;&lt;font 
color=&quot;#3d3d3d&quot; style=&quot;font-size: 
13px;&quot;&gt;&lt;i&gt;backup&lt;/i&gt;&lt;/font&gt;&lt;/span&gt;" 
style="rounded=1;whiteSpace=wrap;html=1;fontSize=15;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fillStyle=solid;gradientColor=#7ea6e0;fontFamily=Comic
 Sans MS;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="1">
+          <mxGeometry x="315" y="170" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-24" 
value="&lt;span&gt;MetaServer&lt;/span&gt;&lt;br&gt;&lt;span&gt;&lt;font 
color=&quot;#3d3d3d&quot; style=&quot;font-size: 
13px;&quot;&gt;&lt;i&gt;backup&lt;/i&gt;&lt;/font&gt;&lt;/span&gt;" 
style="rounded=1;whiteSpace=wrap;html=1;fontSize=15;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fillStyle=solid;gradientColor=#7ea6e0;fontFamily=Comic
 Sans MS;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="1">
+          <mxGeometry x="105" y="170" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-25" value="&lt;font 
color=&quot;#4d4d4d&quot;&gt;MetaServer&lt;/font&gt;&lt;br&gt;&lt;i 
style=&quot;&quot;&gt;&lt;font color=&quot;#3d3d3d&quot; style=&quot;font-size: 
13px;&quot;&gt;leader&lt;/font&gt;&lt;/i&gt;" 
style="rounded=1;whiteSpace=wrap;html=1;fontSize=15;fillColor=#d5e8d4;strokeColor=#82b366;fillStyle=solid;gradientColor=#97d077;fontFamily=Comic
 Sans MS;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="1">
+          <mxGeometry x="209" y="200" width="96" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-26" value="&lt;font 
style=&quot;font-size: 9px;&quot;&gt;Pegasus Client Lib&lt;/font&gt;" 
style="rounded=1;whiteSpace=wrap;html=1;fontSize=15;fillColor=#fad9d5;strokeColor=#ae4132;sketch=1;fontFamily=Comic
 Sans MS;fontStyle=1" vertex="1" parent="1">
+          <mxGeometry x="209" y="450" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-27" value="" 
style="curved=1;endArrow=classic;html=1;rounded=0;dashed=1;fontSize=14;strokeColor=#FF3333;strokeWidth=2;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-26" 
target="RSygPqoX0ETCJNmXeyCP-25">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="70" y="370" as="sourcePoint" />
+            <mxPoint x="120" y="320" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="30" y="460" />
+              <mxPoint x="-10" y="370" />
+              <mxPoint x="20" y="290" />
+              <mxPoint x="140" y="237" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-28" value="fetch route table" 
style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=13;fontColor=#3D3D3D;fontFamily=Comic
 Sans MS;" vertex="1" connectable="0" parent="RSygPqoX0ETCJNmXeyCP-27">
+          <mxGeometry x="-0.3728" y="-4" relative="1" as="geometry">
+            <mxPoint y="-16" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-29" value="" 
style="endArrow=classic;html=1;rounded=0;fontSize=14;strokeColor=#001DBC;strokeWidth=2;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-26" 
target="RSygPqoX0ETCJNmXeyCP-5">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="83.62" y="460" as="sourcePoint" />
+            <mxPoint x="133.62" y="410" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-30" value="" 
style="endArrow=classic;html=1;rounded=0;fontSize=14;strokeColor=#001DBC;strokeWidth=2;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-26" 
target="RSygPqoX0ETCJNmXeyCP-7">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="93.62" y="470" as="sourcePoint" />
+            <mxPoint x="123.62" y="400" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-31" value="&lt;span 
style=&quot;color: rgba(0, 0, 0, 0); font-size: 0px; text-align: start; 
background-color: rgb(248, 249, 
250);&quot;&gt;%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22R%2FW%20request%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D13%3BfontColor%3D%233D3D3
 [...]
+          <mxGeometry x="0.0571" y="3" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-32" value="" 
style="endArrow=classic;html=1;rounded=0;fontSize=14;strokeColor=#001DBC;strokeWidth=2;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-26" 
target="RSygPqoX0ETCJNmXeyCP-10">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="93.62" y="470" as="sourcePoint" />
+            <mxPoint x="273.62" y="400" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-33" value="" 
style="endArrow=open;startArrow=open;html=1;rounded=0;fontSize=14;strokeColor=#007FFF;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endFill=0;startFill=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-5" 
target="RSygPqoX0ETCJNmXeyCP-25">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="70" y="280" as="sourcePoint" />
+            <mxPoint x="120" y="230" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-34" value="" 
style="endArrow=open;startArrow=open;html=1;rounded=0;fontSize=14;strokeColor=#007FFF;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startFill=0;endFill=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-7" 
target="RSygPqoX0ETCJNmXeyCP-25">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="160" y="360" as="sourcePoint" />
+            <mxPoint x="267" y="259.9999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-35" value="" 
style="endArrow=open;startArrow=open;html=1;rounded=0;fontSize=14;strokeColor=#007FFF;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startFill=0;endFill=0;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;" edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-10" 
target="RSygPqoX0ETCJNmXeyCP-25">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="310" y="360" as="sourcePoint" />
+            <mxPoint x="267" y="259.9999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-44" value="&lt;b 
style=&quot;&quot;&gt;&lt;font color=&quot;#cc0000&quot;&gt;Pegasus protocol 
RPC&lt;/font&gt;&lt;/b&gt;" 
style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=13;fontColor=#3D3D3D;labelBackgroundColor=none;fontFamily=Comic
 Sans MS;fontStyle=2" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="257.00425838513024" y="410.00485027021057" 
as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-45" value="heartbeat" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;fontColor=#3D3D3D;fontFamily=Comic
 Sans MS;" vertex="1" parent="1">
+          <mxGeometry x="225" y="260" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-48" value="Redis Proxy 0" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Comic
 Sans MS;fontStyle=1" vertex="1" parent="1">
+          <mxGeometry x="224" y="480" width="120" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-49" value="Redis Lib" 
style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fontFamily=Comic
 Sans MS;fontStyle=1;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="1">
+          <mxGeometry x="560" y="410" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-52" value="" 
style="endArrow=classic;html=1;rounded=0;fontSize=14;strokeColor=#001DBC;strokeWidth=2;fillColor=#0050ef;sketch=1;fontFamily=Comic
 Sans MS;exitX=0;exitY=0.3333333333333333;exitDx=0;exitDy=0;exitPerimeter=0;" 
edge="1" parent="1" source="RSygPqoX0ETCJNmXeyCP-49">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="262" y="460" as="sourcePoint" />
+            <mxPoint x="360" y="480" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-53" value="&lt;span 
style=&quot;color: rgba(0, 0, 0, 0); font-size: 0px; text-align: start; 
background-color: rgb(248, 249, 
250);&quot;&gt;%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22R%2FW%20request%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D13%3BfontColor%3D%233D3D3
 [...]
+          <mxGeometry x="0.0571" y="3" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-54" value="&lt;b 
style=&quot;&quot;&gt;&lt;font color=&quot;#cc0000&quot;&gt;Redis protocol 
RPC&lt;/font&gt;&lt;/b&gt;" 
style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=13;fontColor=#3D3D3D;labelBackgroundColor=none;fontFamily=Comic
 Sans MS;fontStyle=2" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="440.00425838513024" y="440.00485027021057" 
as="geometry" />
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-58" value="Redis Proxy 1" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Comic
 Sans MS;fontStyle=1" vertex="1" parent="1">
+          <mxGeometry x="240.5" y="505" width="120" height="30" as="geometry" 
/>
+        </mxCell>
+        <mxCell id="RSygPqoX0ETCJNmXeyCP-59" value="Redis Proxy 2" 
style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Comic
 Sans MS;fontStyle=1" vertex="1" parent="1">
+          <mxGeometry x="258.5" y="525" width="120" height="30" as="geometry" 
/>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
 </mxfile>
diff --git a/assets/images/redis_proxy_arch.png 
b/assets/images/redis_proxy_arch.png
index 49c390c1..94b1438f 100644
Binary files a/assets/images/redis_proxy_arch.png and 
b/assets/images/redis_proxy_arch.png differ


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to