百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
V

viabtc_exchange_server

> 编程语言
开源

高性能交易引擎,具备实时通知功能

2.8K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

高性能交易引擎,具备实时通知功能

ViaBTC 交易所服务器

ViaBTC 交易所服务器是一个专为加密货币交易所设计的高性能交易后端。它每秒可支持多达10000笔交易,并通过WebSocket实现用户及市场数据的实时通知。

架构

在本项目中,它在此图中被标记为“服务器”。

代码结构

必需系统

  • MySQL:用于保存操作日志、用户余额历史、订单历史和成交历史。

  • Redis:一个Redis哨兵组用于保存市场数据。

  • Kafka:一个消息系统。

基础库

  • network:一个基于事件驱动的高性能网络编程库,轻松支持1000K TCP连接。包含TCP/UDP/UNIX SOCKET服务器和客户端实现、简单定时器、状态机、线程池。

  • utils:一些基础库,包括日志、配置解析、一些数据结构以及http/websocket/rpc服务器实现。

模块

  • matchengine:这是最重要的部分,因为它记录用户余额并执行用户订单。它是内存数据库,将操作日志保存在MySQL中,并在启动时重做操作日志。它还将用户历史记录写入MySQL,并将余额、订单和成交消息推送到kafka。

  • marketprice:从kafka读取消息,并生成K线数据。

  • readhistory:从MySQL读取历史数据。

  • accesshttp:支持简单的HTTP接口,并对上层隐藏复杂性。

  • accwssws:一个支持查询和推送用户及市场数据的WebSocket服务器。顺便提一下,你需要在前面配置nginx以支持wss。

  • alertcenter:一个简单的服务器,将FATAL级别的日志写入Redis列表,以便我们发送告警邮件。

编译与安装

操作系统

Ubuntu 14.04或Ubuntu 16.04。尚未在其他系统上测试。

依赖项

请参阅依赖项。安装上述提到的系统或库。

你必须使用 depends/hiredis 来安装 hiredis 库,否则可能不兼容。

编译

先编译 network 和 utils,其余部分都是独立的。

部署

对于 matchengine 和 marketprice,各提供一个单实例。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言