按照中国国家相关法律政策规定,不得向中国大陆境内公民提供数字资产交易服务,不得提供人民币对数字货币的兑换及支付服务。如果不予配合履行以上职责,造成的一切后果与本人无关。
项目简介开源数字货币交易所,基于Java开发的货币交易所| BTC交易所 | ETH交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎。本项目基于SpringCloudAlibaba微服务开发,可用来搭建和二次开发数字货币交易所。
项目特色:基于内存撮合引擎,比传统基于数据库撮合引擎更快;
前后端分离,基于OAuth2.0 + JWT的API授权机制;
基于SpringCloud微服务架构,扩展更容易 ;
集成阿里最新的研究成功SpringCloudAlibaba;
MySQL、MongoDB、Redis多种数据存储方式,只为更快;
Kafka发布订阅消息队列,让订单更快流转;
Netty秒级实时K-Line推送 ;
uni-app“七端”共享 ;
主流币种对接区块链接口齐全,开箱即用;
冷热钱包分离,两种提现方式,保证安全;
技术选型前端技术
后台管理系统
Vue + ElementUI + Axios + Xlsx + Showdown + Screenfull
前台系统
Vue + ElementUI + Axios + Stompjs + Zip + vue-i18n
功能介绍和演示
后台管理系统
前台系统
移动全栈
架构设计
模块划分
撮合引擎服务
分布式内存撮合系统,使用Raft协议自建集群,实现数据复制、集群选举等,并自研分布式币种路由策略,解决多币之间数据隔离,线程竞争问题;当主机挂掉时,备机能快速感知并替换原主机状态继续提供服务,当集群扩容时,也实现数据分片的迁移和再分配。在部署时,我们可以采用单一分组,也可以采用 MULTI-RAFT-GROUP。我们还使用Nosql数据库mongo作为recovery的兜底方案,当撮合引擎所有节点都进行重新实例化时,那么就会走该兜底方案。
行情服务
OpenAPI
对外提供OpenAPI(开放平台),我们所有API的设计遵循REST 设计标准,使用改造完后的swagger生成更符合国人习惯的测试平台;
K-Line
K线为专业K线,K线可自定义日K、1分、3分、5分、15 分、30分、10小时、2小时、4小时、6小时、12小时、1周等。价格平均线可以自定义:MA5、MA10、MA30及其他个性化配置。技术指标包括:MACD、 KDJ、RSI、DMI、OBV、BOLL、SAR、DMA、TRIX、BRAR、VR、EMV、WR、ROC、MTM、PSY。
推送服务
推送服务为实时推送,数据的获取来自Kafka,多线程订阅Kafka的分组,底层通过修改spring-boot-stater-websocket让其支持Netty,并测试了TIO的推送方案,当客户端压力变大时,可通过Spring Cloud Gateway 和 Nginx 实现负载均衡。经测试,客户端无卡顿或数据丢失的情况。
交易服务
币种获取、区域数据、币币交易市场行情,币币交易市场深度等各种交易数据展示,底层采用Redis做高速缓存,并使用Sentinel实现了服务的降级和流控。
用户中心服务
提供用户账号信息、身份验证、注册登陆、邀请分级奖励、第三方验证等功能;
监控服务
Boot-Admin:
实现了服务上下线的邮件/短信/微信通知,显示微服务 name、id 和 version,显示在线状态,Loggers 的日志级别管理,Threads 线程管理,Environment 管理等;
sentinel-dashboard:
提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能;
Zipkin:
提供分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪,以及服务直接依赖关系的计算。
钱包服务
采用了业界领先的冷热隔离充值钱包系统、多重签名、高防护DDOS攻击系统等领先技术,分钟级日志分析监控等手段,充分保证客户资产安全。
设计要求整体架构 逻辑架构
部署架构
需要源码 课件等资料的同学 可以私信我 无私分享~~~
如果有编程小白想要入门Java或者Python的可以私信 分享我的最新的Java和Python 课程的网盘资料
互相分享 与君共勉~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)