0%

Rhino | 量化架构 伪微服务架构 2.0.0

之前的架构请看

这个架构融合了很多开源项目的精髓。目前,这套架构还在开发中。

2.0.0Rhino 受影响最大的就是 aioquant,看了 aioquant 的组织架构后,完全被惊呆,其中的异步编程和各个模块的简洁调用让我快速的吸收,然后重构了新架构量化。

之所以是伪微服务,是因为,我把 1.0.0 的共用代码抽成了一个个库,可以通过 pip 安装的那种。微服务讲究把各个模块部署到不同的服务器上,然后进行相互调用,但是,我这个架构还是将所有的模块放到了一台服务器上,主要是模块间的抽离。

虽然放到一个模块中,但是,独立的库也可以放置在不同的服务器上运行,然后调用,就看怎么用了。因为放置在同一台服务器上,所以,我称之为伪微服务。

ps: 2022-11-6

经过长时间的思考已经鸽项目,我已经有了成熟的架构设计。整体项目如下

  • Rhino-Object
    • 存放所有公共的变量、数据结构、枚举等
    • python 编写
  • Rhino-Gateway
    • 各种交易所的对接,包括 websocketrestful、中心化和去中心化
    • 做了兼容,异步编程架构
    • python 编写
  • Rhino-Collect
    • 获取数据引擎,完美兼容 websocketrestful 获取数据的方式
    • 有心跳服务,进行数据确认,全部为异步编程架构
    • python 编写
  • Rhino-Pipe
    • 数据中间件传递
    • 提供 redisrpc 等数据传输方式
    • python
  • Rhino-logger
    • 日志模块
    • python
  • Rhino-Sign
    • 数据处理模块
    • 将数据进行归纳处理
    • python 编写
  • Rhino-Strategy
    • 策略模块
    • python
  • Rhino-Analysis
    • 分析模块
    • 进行数据接收、分析、画K线、存储数据
    • java 编写
  • Rhino-Script
    • 独立脚本
    • python 编写
  • Rhino-Show
    • 前端展示,主要用于数据分析
    • vue 编写
    • klinecharts

目前各个模块都是独立的,互不牵扯,数据的传输通过 redis 的订阅模式进行数据传递。

请我喝杯咖啡吧~