# 架构设计
# 业务场景分析
# 架构方案说明
方案说明
蓝色虚线框为 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
代表指标框架(为了简化复杂度,指标的具体算法也放置在此)