Browse Source

doc(sink): update sink cache configurations

Signed-off-by: Jiyong Huang <huangjy@emqx.io>
Jiyong Huang 2 years ago
parent
commit
93527de719
2 changed files with 33 additions and 28 deletions
  1. 17 14
      docs/en_US/rules/overview.md
  2. 16 14
      docs/zh_CN/rules/overview.md

File diff suppressed because it is too large
+ 17 - 14
docs/en_US/rules/overview.md


+ 16 - 14
docs/zh_CN/rules/overview.md

@@ -61,20 +61,22 @@
 
 每个动作可以定义自己的属性。当前有以下的公共属性:
 
-| 属性名               | 类型和默认值         | 描述                                                                                                                                                                                                                                               |
-|-------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| concurrency       | int: 1         | 设置运行的线程数。该参数值大于1时,消息发出的顺序可能无法保证。                                                                                                                                                                                                                 |
-| bufferLength      | int: 1024      | 设置可缓存消息数目。若缓存消息数超过此限制,sink将阻塞消息接收,直到缓存消息被消费使得缓存消息数目小于限制为止。                                                                                                                                                                                       |
-| runAsync          | bool:false     | 设置是否异步运行输出操作以提升性能。请注意,异步运行的情况下,输出结果顺序不能保证。                                                                                                                                                                                                       |
-| retryInterval     | int:1000       | 设置信息发送失败后重试等待时间,单位为毫秒。如果该值的设置 <= 0,那么不会尝试重新发送。                                                                                                                                                                                                   |
-| retryCount        | int:0          | 设置信息发送失败后重试次数,如果该值的设置 <= 0,那么不会尝试重新发送。                                                                                                                                                                                                           |
-| cacheLength       | int:1024       | 设置最大消息缓存数量。缓存的消息会一直保留直到消息发送成功。缓存消息将按顺序发送,除非运行在异步或者并发模式下。缓存消息会定期存储到磁盘中。                                                                                                                                                                           |
-| cacheSaveInterval | int:1000       | 设置缓存存储间隔时间。需要注意的是,当规则关闭时,缓存会自动存储。该值越大,则缓存保存开销越小,但系统意外退出时缓存丢失的风险变大。                                                                                                                                                                               |
-| omitIfEmpty       | bool: false    | 如果配置项设置为 true,则当 SELECT 结果为空时,该结果将不提供给目标运算符。                                                                                                                                                                                                     |
-| sendSingle        | bool: false    | 输出消息以数组形式接收,该属性意味着是否将结果一一发送。 如果为false,则输出消息将为`{"result":"${the string of received message}"}`。 例如,`{"result":"[{\"count\":30},"\"count\":20}]"}`。否则,结果消息将与实际字段名称一一对应发送。 对于与上述相同的示例,它将发送 `{"count":30}`,然后发送`{"count":20}`到 RESTful 端点。默认为 false。 |
-| dataTemplate      | string: ""     | [golang 模板](https://golang.org/pkg/html/template)格式字符串,用于指定输出数据格式。 模板的输入是目标消息,该消息始终是映射数组。 如果未指定数据模板,则将数据作为原始输入。                                                                                                                                  |
-| format            | string: "json" | 编码格式,支持 "json" 和 "protobuf"。若使用 "protobuf", 需通过 "schemaId" 参数设置模式,并确保模式已注册。                                                                                                                                                                      |
-| schemaId          | string: ""     | 编码使用的模式。                                                                                                                                                                                                                                         |
+| 属性名                  | 类型和默认值                             | 描述                                                                                                                                                                                                                                               |
+|----------------------|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| concurrency          | int: 1                             | 设置运行的线程数。该参数值大于1时,消息发出的顺序可能无法保证。                                                                                                                                                                                                                 |
+| bufferLength         | int: 1024                          | 设置可缓存消息数目。若缓存消息数超过此限制,sink将阻塞消息接收,直到缓存消息被消费使得缓存消息数目小于限制为止。                                                                                                                                                                                       |
+| runAsync             | bool:false                         | 设置是否异步运行输出操作以提升性能。请注意,异步运行的情况下,输出结果顺序不能保证。                                                                                                                                                                                                       |
+| omitIfEmpty          | bool: false                        | 如果配置项设置为 true,则当 SELECT 结果为空时,该结果将不提供给目标运算符。                                                                                                                                                                                                     |
+| sendSingle           | bool: false                        | 输出消息以数组形式接收,该属性意味着是否将结果一一发送。 如果为false,则输出消息将为`{"result":"${the string of received message}"}`。 例如,`{"result":"[{\"count\":30},"\"count\":20}]"}`。否则,结果消息将与实际字段名称一一对应发送。 对于与上述相同的示例,它将发送 `{"count":30}`,然后发送`{"count":20}`到 RESTful 端点。默认为 false。 |
+| dataTemplate         | string: ""                         | [golang 模板](https://golang.org/pkg/html/template)格式字符串,用于指定输出数据格式。 模板的输入是目标消息,该消息始终是映射数组。 如果未指定数据模板,则将数据作为原始输入。                                                                                                                                  |
+| format               | string: "json"                     | 编码格式,支持 "json" 和 "protobuf"。若使用 "protobuf", 需通过 "schemaId" 参数设置模式,并确保模式已注册。                                                                                                                                                                      |
+| schemaId             | string: ""                         | 编码使用的模式。                                                                                                                                                                                                                                         |
+| enableCache          | bool: 默认值为`etc/kuiper.yaml` 中的全局配置 | 是否启用sink cache。缓存存储配置遵循 `etc/kuiper.yaml` 中定义的元数据存储的配置。                                                                                                                                                                                          |
+| memoryCacheThreshold | int: 默认值为全局配置                      | 要缓存在内存中的消息数量。出于性能方面的考虑,最早的缓存信息被存储在内存中,以便在故障恢复时立即重新发送。这里的数据会因为断电等故障而丢失。                                                                                                                                                                           |
+| maxDiskCache         | int: 默认值为全局配置                      | 缓存在磁盘中的信息的最大数量。磁盘缓存是先进先出的。如果磁盘缓存满了,最早的一页信息将被加载到内存缓存中,取代旧的内存缓存。                                                                                                                                                                                   |
+| bufferPageSize       | int: 默认值为全局配置                      | 缓冲页是批量读/写到磁盘的单位,以防止频繁的IO。如果页面未满,eKuiper 因硬件或软件错误而崩溃,最后未写入磁盘的页面将被丢失。                                                                                                                                                                              |
+| resendInterval       | int: 默认值为全局配置                      | 故障恢复后重新发送信息的时间间隔,防止信息风暴。                                                                                                                                                                                                                         |
+| cleanCacheAtStop     | bool: 默认值为全局配置                     | 是否在规则停止时清理所有缓存,以防止规则重新启动时对过期消息进行大量重发。如果不设置为true,一旦规则停止,内存缓存将被存储到磁盘中。否则,内存和磁盘规则会被清理掉。                                                                                                                                                             |
 
 ##### 数据模板