离线处理器

服务管道 #

什么是服务管道 #

服务管道(Pipeline)是用于离线处理任务的功能组合,和在线请求的过滤器一样使用管道设计模式。 处理器(Processor)是服务管道的基础单位,每个处理组件一般专注做一件事情,根据需要灵活组装,灵活插拔。

管道定义 #

一个典型的管道服务定义如下:

pipeline:
- name: request_logging_index
  auto_start: true
  keep_running: true
  processor:
    - json_indexing:
        index_name: "gateway_requests"
        elasticsearch: "dev"
        input_queue: "request_logging"
        idle_timeout_in_seconds: 1
        worker_size: 1
        bulk_size_in_mb: 10 #in MB

上面的配置里面,定义了一个名为 request_logging_index 的处理管道,processor 参数定义了该管道的若干处理单元,依次执行。

参数说明 #

管道定义的相关参数说明如下:

名称类型说明
namestring管道的名称,唯一不能重复
auto_startbool是否随着网关自启动,也就是立即执行该任务
keep_runningbool网关执行完毕之后是否继续重头开始执行
retry_delay_in_msint该任务再次执行的最少等待时间,默认 1000 毫秒
processorarray该管道依次执行的处理器列表

处理器列表 #

任务调度 #

索引写入 #

索引对比 #

请求处理 #