脉冲星 IO 概述
脉冲星 IO 是一个用于在 Pulsar 中输入和输出数据的连接器框架,旨在解决数据移动和应用程序部署的问题。其设计目标包括易用性、灵活的运行时间和托管运行时。
脉冲星 IO 的功能和优势
- 易用性:用户无需编写代码即可从外部系统传入或传出数据,内置连接器简化操作。
- 灵活的运行时间:支持以线程、进程、K8s pod 等形式运行实例。
- 托管运行时:用户无需关心连接器的运行地点和方式,执行、调度、扩展和容错均由运行时处理。
- 体系结构和执行:由 Pulsar Functions 框架驱动,继承其所有功能和优势。
- 福利总结:包括部署灵活性、执行灵活性、并行性、负载平衡、容错、监控和度量、动态更新和有状态访问。
脉冲星 @ Splunk
Pulsar 在 Splunk 中用于流式传输和排队用例,内部部署为多租户 SaaS 产品,是 Splunk 的数据神经系统。
脉冲星 IO @ Splunk
为什么选择脉冲星 IO?
- 解决现有本土/传统平台的固有问题,如复杂体系结构、可扩展性问题、性能和基础设施成本。
- 利用开源 Pulsar,降低维护本土/专有平台和协议的成本和风险。
- 利用现有的 OSS 连接器,参与社区。
脉冲星 IO 的建筑
- 大规模数据采集,每天摄取 PB 级的数据,数万个连接器,启动时间短,具有成本效益。
脉冲星 IO 的用例
- 批量源:设计用于将大量静态数据摄取到 Pulsar 中,例如从 AWS S3 或 GCS 中摄取数据。
- 发现阶段:发现数据以收集并导入 Pulsar,由用户定义的逻辑触发,通常定期进行。
- 收集阶段:收集数据,执行发现阶段生成的任务,在实例之间并行运行。
部署 @ Splunk
- 函数工人独立于经纪人,函数/连接器实例作为线程在 Worker JVM 进程中运行。
- 利用 Pulsar IO 内置连接器的功能,作为独立集群部署的 Pulsar Functions 的状态存储,即表服务。
回馈 OSS @ Splunk
- 运行 100,000 个实例(10,000 个源,每个 10 个实例)每天 PB 摄取率。
- 许多 bug 修复。
脉冲星 IO / 函数概述
- Pulsar IO 批处理源。
- 重新设计 Pulsar 函数架构的核心组件以提升可扩展性和稳定性。
- 性能测试。
脉冲星 IO @ Splunk 的改进
- 元数据主题压缩:重新设计并实现了 Pulsar Functions 中的元数据注册工作流程,支持主题压缩,可以安全地截断旧的元数据。
- 提高调度性能和稳定性:当领导员工处理分配消息的速度不够快时,修改背景中的常规机制,避免不必要的分配更新。
- 使用 Exclusive Producer。
- 自动重新平衡实例:添加再平衡策略接口,允许用户按需触发重新平衡,实现自动定期重新平衡的能力。
脉冲星 IO @ Splunk 的未来
- 自动缩放:工人和实例,使用 K8s HPA 几乎完成了 K8s 上的自动缩放工人。
- 资源感知调度:考虑资源的计划。
- 主题压缩整合:继续努力使主题压缩能够完全与 Pulsar Functions 内部使用的主题相整合。
- 客户端内存限制集成:添加每个生产者和消费者的内存限制,增加隔离。
- 更多的修复和优化!
连接器即服务
- 为基于 Pulsar IO 的 Splunk 上的所有连接器提供运行平台。