Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asia 2021

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 18 Anzeige

The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asia 2021

Herunterladen, um offline zu lesen

As an active participant in the Apache Pulsar project, China Mobile has a deep accumulation in Pulsar's research and technical capabilities. In this presentation, we will introduce some practical experience of Pulsar and Pulsar Functions in large volume logging systems.

As an active participant in the Apache Pulsar project, China Mobile has a deep accumulation in Pulsar's research and technical capabilities. In this presentation, we will introduce some practical experience of Pulsar and Pulsar Functions in large volume logging systems.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asia 2021 (20)

Anzeige

Weitere von StreamNative (20)

Aktuellste (20)

Anzeige

The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asia 2021

  1. 1. Apache Pulsar 在移动云智能运维平台的应用 基于 Pulsar Function 的日志加工 DSL 实现 王嘉凌@中国移动云能力中心,移动云 Pulsar 产品负责人
  2. 2. Agenda • 移动云智能运维平台介绍 • 基于Pulsar Function的日志加工DSL实现 • 未来规划
  3. 3. 移动云智能运维平台介绍
  4. 4. 移动云智能运维平台定位 智能化的集中运维 • 如何做近5万台物理机、9000多网络设备的配置管理? • 设备的海量告警如何处理? • 如何针对故障做快速恢复?人员调度? • 设备、网元、产品的性能如何?有无劣化? • 分布式系统日志如何统一管理?
  5. 5. 服务器 物理机 虚拟机 网络设备 路由器 交换机 防火墙 带外设备 机柜 机架 中间件 数据库 流处理 基础运维平台 命令通道 数据层 (资源 池内) 资源管理 运维能 力层 (集中 化) 数据集成 数据治理平台 应用层 数据接入 数据加工 数据消费 数据投递 数据分析 数据查询 运维数据平台 告警中心 集中调度 智能场景 网络 运维管理 容器 运维管理 故障 手术台 文件分发 数据管道 安全审计 主机管理 基础监控 变更管理 日常运维 应用监控 故障管理 ... 集成服务平台(iPaaS) 数据开发 数据分析 数据挖掘 数据管理 数据集市 API运维运 营分析 API生命周 期管理 API统一编 排 … API网关 应用运维平台 移动云智能运维平台架构
  6. 6. 运维数据平台架构 • 基于Apache Pulsar提供计算存储分离的 高性能数据管道 • 基于Pulsar Function 计算框架构建统一 运维数据加工DSL,实现高效数据集成 • 基于Pulsar Sink实现运维数据投递 • 基于PrestoDB构建统一SQL,实现 Elasticsearch、ClickHouse的统一查询分 析 • 通过DSL领域翻译服务提供运维专用查询 分析语法,提高运维查询效率
  7. 7. Broker Function Sink FuntionWorker ElasticSearch 加工控制台 KoP 数据接入,数据 消费 数据加工 数据投递 数据查询,数据分析 数据源 基于Apache Pulsar的数据流转过程 Log Beat Metric Beat ClickHouse
  8. 8. 基于 Pulsar Function 的 日志加工 DSL 实现
  9. 9. 从input topic中接收消息,在function中进行处理,输出结 果到output topic中 Function的配置,调度,运行时管理平台 提供Thread,Process,Kubernetes三种运行时 Pulsar Funtion介绍 Pulsar Function Pulsar Function Worker
  10. 10. • 日志源在不断增加,日志数据差异大 • 日志加工需求越来越复杂 • 结构化、清洗、脱敏、数据分发、多源汇聚、数据富化等等 • 降低运维成本的需要 • 避免让运维人员去实现function接口 • 避免为每个加工过程实现不同的function接口 日志加工的难题 提供一套DSL语法,来灵活的控制并处理原始日志数据
  11. 11. DSL语法设计 计算上提供丰富的算子和场景化自定义函数 对于复杂需求则可以通过流程控制、条件判断实现逻辑组合
  12. 12. DSL语法解析 给每个语法定义加工函数 使用Antlr4(ANother Tool for Language Recognition)解析DSL语言
  13. 13. DAG执行计划 DAG(有向无环图)模型 • 将加工过程分解为可并行计算的任务,构建一个DAG图 • DAG图中的每个节点包含一个加工函数和对应的加工参数 • DSL语句的执行转化为遍历DAG图的操作 e_set(...); e_drop_fields(...); e_if_else(bool,e_set(...),e_set(...)); e_set(...); e_output(...); DSL语句 DAG图
  14. 14. Function 定制化 Pulsar Function (定制化) onStart() onStop() process() 通过Antlr4解析DSL语句 构建DAG图(执行计划) 创建外部资源连接(Redis等) 释放资源 消息加工 Pulsar Function Consumer Receive Queue (堆内) process() receive Consumer Receive Queue (堆外) listener • 为Function添加onStart和onStop接口,在启动function时执行DSL解析以及全局资源初始化。 PIP-86 • Function内置consumer开启PooledMessage,减少消息在内存中的额外拷贝和GC压力。 PIP-83 • 改用listener模式消费消息,基于数据去驱动流程,并开启并发处理。
  15. 15. DAG执行调度 process() Disruptor 无锁有界队列 从缓存队列获取加工任务 (消息内容和DAG节点) 执行加工函数 日志加工线程池 加工完成后投递结果到 output topic,并确认消息 将执行结果和下游DAG 节点加入缓存队列 消息处理线程
  16. 16. 未来规划
  17. 17. 基于BookKeeper打造全文索引,时序索引融合的分布式数据存储引擎
  18. 18. THANK YOU FOR WATCHING

×