Royal Q是一款量化交易平台,帮助用户在交易所做量化交易。
工作内容
1.golang 后端 api,websocket,grpc 接口的开发与维护
2.基于 redis 的队列,实现分布式微服务
3.负责各交易所的相关接口的开发与维护
2.使用 mysql 以及 redis 做数据持久化,计算,缓存
3.技术的调研,选型,使用分布式架构,grpc ,分开各个功能,保证高并发
4.使用 mysql 主从读写分离,以及 sql 优化,减小 mysql 压力
5.使用多级缓存,优化程序的运行速度
6.独立设计和完成多种交易策略,包括马丁策略,网格策略,对冲策略和各种指标策略,同时保证扩展性,方便插入更多策略
7.设计和实现结算系统
项目特点
项目采用微服务架构,使用 redis 的队列实现服务间的通讯。以此为基础,使用 docker ,在多个服务器上分布式部署接入不同的交易所的量化服务。
由于项目的发展,数据库遇到瓶颈,基于项目的特点,对 mysql 进行分库分表,并配置主从服务达到读写分离,
同时,在程序方面,也进行了数据批量写入的优化,将一定时间内的数据统一批量写入数据库,减轻数据库的压力。
后续对于 redis 也的读写也进行了同样的优化逻辑。设计了针对策略的框架,保证策略的扩展性。