量化交易系统任务框架的演化之路(5)用Kafka实现分布式计算任务框架

文章探讨了随着量化交易系统需求增长,单机系统无法满足响应速度要求的问题。作者提出通过引入Kafka实现分布式计算任务框架,以提高效率。改造后,系统分为Manager和Worker角色,Manager负责任务管理和分配,Worker执行任务。Kafka作为消息中间件,实现模块间解耦。流程包括Manager发布任务到Kafka,Worker订阅并执行任务。
摘要由CSDN通过智能技术生成

在之前的几篇文章中,都是基于单服务器系统讲解了任务框架的逐步演化,包含了效率、依赖关系、可管理性等几个方面的内容。可是随着量化系统的中因子、信号、数据预处理、日志监控等需求的不断增多,并且大家都知道量化交易系统,是对响应时间有要求的,尤其是对分钟级别甚至tick级别信号的检测等,那么这个时候,单机系统已经无法适应实际需求了,为了提高效率就要考虑通过分布式来提高效率。
在进行下一步之前,我们应该明白,所有的优化都是针对具体的业务场景,否则就无的放矢,达不到预期效果。那么,这里的场景是:

每天收盘后,要针对3000多只股票以及指数,计算一系列的指标,随着指标的增多,计算的速度越来越慢。

改造后的框架应该满足以下需求:

  1. 计算任务的节点可以随时增加
  2. 能够根据节点的性能分配任务量

那么针对上面的场景和需求,再结合之前的经验,将框架中的角色分为两个:
Manager: 负责管理Worker以及给分配任务
Woker: 负责执行分配的任务

为了解耦,这里引入了Kafka作为消息中间件,起到模块间的解耦作用,具体模块间的流程图:
这里写图片描述

从时序关系来看,大概的流程是:

Created with Raphaël 2.1.2
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mydeman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值