同步操作将从 bitwaitcom/java交易所源码ztuo-bizzan-jinglan-btc虚拟币数字货币 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本项目基于SpringCloud微服务开发,可用来搭建和二次开发数字交易所,有完整的撮合交易引擎源码、后台管理(后端+前端)、前台(交易页面、活动页面、个人中心等)、安卓APP源码、苹果APP源码、币种钱包RPC源码、交易机器人源码。 **
#已经更新
2021年10月1日:前端黑白界面切换 2021年11月1日:代理端管理后台 2021年11月11日:秒合约
全docker-compose部署,支持分布式弹性拓展10分钟部署完成。
ZTUO3开源数字货币交易系统 币位是一个基于ZTUO、jinglan、bex开源代码进行大量优化的数字货币交易系统 与ZTUO开源版本相比的优化 修复系统内的余额锁BUG,既在高并发场景下的结算异常问题
修改升级market项目处理逻辑,使之支持多节点集群部署,处理效率更高
新增接口缓存功能,利用redis提供数据二级缓存,减少数据库压力
支持mysql主从复制模式部署
支持Redis哨兵模式集群环境
引入Redission框架,并利用它实现分布式锁
升级spring-session框架
升级spring-boot框架
引入xxl-job框架,利用它实现分布式自动任务调度
技术指标 1.撮合引擎速度每秒3000+ 2.每秒完成600+清算 3.支持1w+用户同时在线交易
愿景 我们的使命是用Java开发世界上最好的、高性能的、安全的、开源的(重点)数字货币交易系统。
我们希望通过开源社区的力量能相互交流,共同改进。
ZTUO3框架可以使你很容易的建立一套数字货币交易系统,但是,她远远比搭建一个网站要难的多得多.不要以为简单的就是点击下一步,下一步即可完成。整个体系架构分为了很多的组件,需要专业的知识或者团队才能运行成功,好在有我们,可以随时联系我们。
你需要知道的基本知识 法律知识(安全第一条,法律最重要) Java知识(主要是spring) linux知识(CentOS、Ubuntu等等) 安全知识 主要技术 后端:Spring、SpringMVC、SpringData、SpringCloud、SpringBoot
数据库:Mysql、Mongodb
其他:redis、kafka、阿里云OSS、腾讯防水校验
开源许可协议 MIT 架构设计
模块介绍 cloud 提供SpringCloud微服务注册中心功能,为基础模块,必须部署 依赖服务:无 ucenter-api 提供用户相关的接口(如登录、注册、资产列表),该模块为基础为基础模块,必须部署 依赖服务:mysql,kafka,redis,mongodb,短信接口,邮箱账号 otc-api 提供场外交易功能接口,没有场外交易的可以不部署 依赖服务:mysql,redis,mongodb,短信接口 exchange-api 提供币币交易接口,没有币币交易的项目可以不部署 依赖服务:mysql,redis,mongodb,kafka gateway 微服务网关 admin 提供管理后台的所有服务接口,必须部署 依赖服务:mysql,redis,mongodb wallet 提供充币、提币、获取地址等钱包服务,为基础模块,必须部署 依赖服务:mysql,mongodb,kafka,cloud market 提供币种价格、k线、实时成交等接口服务,场外交易不需要部署 依赖服务:mysql,redis,mongodb,kafka,cloud exchange 提供撮合交易服务,场外交易不需要部署 依赖服务:mysql,mongodb,kafka 重点业务介绍 后端框架的核心模块为 exchange,market模块。
其中exhcnge模块完全采用Java内存处理队列,大大加快处理逻辑,中间不牵涉数据库操作,保证处理速度快,其中项目启动后采用继承ApplicationListener方式,自动运行;
启动后自动加载未处理的订单,重新加载到JVM中,从而保证数据的准确,exchange将订单处理后,将成交记录发送到market;
market模块主要都是数据库操作,将用户变化信息持久化到数据库中。主要难点在于和前端交互socket推送,socket推送采用两种方式,web端socket采用SpringSocket,移动端采用Netty推送,其中netty推送通过定时任务处理。 环境搭建 CentOS环境搭建() 服务部署准备 项目用了Lombok插件,无论用什么IDE工具,请务必先安装Lombok插件 项目用了QueryDsl,如果遇见以Q开头的类找不到,请先编译一下对应的core模块,例如core、exchange-core、xxx-core这种模块 找不到的jar包在项目jar文件夹下 jdk版本1.8以上 初始化sql在sql文件夹中配置文件 配置文件打开这个设置会自动建表 #jpa spring.jpa.hibernate.ddl-auto=update 修改服务配置文件 请根据服务实际部署情况修改以下配置。配置文件位置如下,如果配置文件中没有某一项配置,说明该模块未使用到该项功能,无需添加:
各个模块/src/main/resources/dev/application.properties mysql数据库:
spring.datasource.** reids
redis.** mongodb(主要存储K线图相关数据)
spring.data.mongodb.uri kafka
spring.kafka.bootstrap-servers 阿里云OSS,图片资源上传
aliyun.** 短信配置
sms.** 邮件认证
spring.mail.** 腾讯防水校验
water.proof.app.** 服务启动 maven构建打包服务
cd /项目路径/framework mvn clean package 将各个模块target文件夹下的XX.jar上传到自己的服务器
先启动cloud模块,再启动market,exchange模块,剩下的没有顺序。
启动服务
例:
docker-compose up -d **
**
这里输入代码
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。