# 架构设计

# 业务场景分析

业务场景分析

# 架构方案说明

总体架构图

方案说明
蓝色虚线框为 Northstar 的主体程序部分。可以按数据流的流向大体分为 左右上下 两个方向

左右 方向上的数据流代表着外部网关的数据流,
从左往右看,是网关流入的数据,包括行情数据、订单响应数据、成交数据、账户与持仓数据,经过平台的统一处理与事件分发,最终传到策略层;
从右住左看,是策略层的操作指令数据,包括委托请求、撤单请求;

上下 方向上的数据流代表着与监控台交互的数据流,
从上往下看,是监控台发来的各种请求数据,包括网关、模组等配置信息的增删改查请求;
从下往上看,则是对应请求的响应。

# 源码目录结构

# 子项目说明

子项目说明 如图所示,northstar由多个子项目构成,其中:

  • northstar-api:是接口定义,凡是对外暴露的接口都会存放在这里。详情参考【核心接口说明】
  • northstar-external-archetype:是模板项目的元配置,用于生成模板项目;
  • northstar-gateway-common:是网关层的通用接口、抽象类定义;
  • northstar-gateway-xxx:是具体的网关适配,例如 northstar-gateway-ctp 代表CTP的网关适配。部分核心模块也会以网关的形式进行统一抽象,例如回放网关与模拟网关
  • northstar-main:是项目的核心代码。详情参考【核心模块说明】
  • northstar-monitor:是前端监控台应用代码;
  • northstar-strategy-example:是示例策略代码;

# 核心模块说明

核心模块说明 核心模块可以在架构图上找对一一对应关系:

  • account 对应账户层
  • module 对应模组层
  • event 对应事件引擎
  • data 对应数据层
  • indicator 对应指标框架
  • web 对应web容器

# 核心接口说明

核心接口说明 所有外部依赖的API都在核心接口中:

  • common 代表通用接口
  • gateway 代表网关接口
  • strategy 代表策略接口
  • data 代表数据接口
  • indicator 代表指标框架(为了简化复杂度,指标的具体算法也放置在此)