开源代码虚拟货币(推荐一个微服务开源数字货币易所项目,绝对干货)

  开源代码虚拟货币(推荐一个微服务开源数字货币易所项目,绝对干货)

项目简介

  

开源数字货币交易所,基于Java开发的货币交易所 BTC交易所 ETH 交易所 数字货币交易所 交易平台 撮合交易引擎。本项目基于SpringCloudAlibaba微服务开发,可用来搭建和二次开发数字货币交易所。

  


  

项目特色:

  

1) 基于内存撮合引擎,比传统基于数据库撮合引擎更快;

  

2) 前后端分离,基于OAuth2。0 + JWT的API授权机制 ;

  

3) 基于SpringCloud微服务架构,扩展更容易 ;

  

4) 集成阿里最新的研究成功SpringCloudAlibaba ;

  

5) MySQL、MongoDB、Redis多种数据存储方式,只为更快 ;

  

6) Kafka发布订阅消息队列,让订单更快流转 ;

  

7) Netty秒级实时K-Line推送 ;

  

8) uni-app“七端”共享 ;

  

9) 主流币种对接区块链接口齐全,开箱即用;

  

10) 冷热钱包分离,两种提现方式,保证安全;

  

技术选型

  

后台技术

  

组件

  

作用

  

参考网站

  

Spring Framework

  

容器

  

http!//projects。spring。io/spring-framework/

  

Spring Boot

  

开发脚手架框架

  

https!//spring。io/projects/spring-cloud/

  

Spring Cloud

  

微服务框架

  

https!//spring。io/projects/spring-boot/

  

Spring Security

  

安全框架

  

https!//spring。io/projects/spring-security

  

MyBatis-Plus

  

ORM框架

  

https!//mp。baomidou。com/

  

Nacos

  

服务治理

  

https!//nacos。io/zh-cn/

  

Sentinel

  

服务保护

  

https!//sentinelguard。io/zh-cn/

  

Seata

  

分布式事务

  

http!//seata。io/zh-cn/

  

MyBatis

  

ORM框架

  

http!//www。mybatis。org/mybatis-3/zh/index。html

  

MyBatis Generator

  

代码生成

  

http!//www。mybatis。org/generator/index。html

  

PageHelper

  

MyBatis物理分页插件

  

http!//git。oschina。net/free/Mybatis_PageHelper

  

Druid

  

数据库连接池

  

https!//github。com/alibaba/druid

  

Mongodb

  

分布式文件存储数据库

  

https!//www。mongodb。com/

  

ZooKeeper

  

分布式协调服务

  

http!//zookeeper。apache。org/

  

Redis

  

分布式缓存数据库

  

https!//redis。io/

  

Redisson

  

Redis客户端

  

https!//redisson。org/

  

Jetcache

  

缓存框架

  

https!//github。com/alibaba/jetcache

  

RabbitMQ

  

消息队列

  

https!//www。rabbitmq。com/

  

Kafka

  

消息队列

  

http!//kafka。apache。org/

  

Disruptor

  

并发框架

  

https!//lmax-exchange。github。io/disruptor/

  

FastDFS

  

自建分布式文件系统

  

  

https!//github。com/happyfish100/fastdfs

  

Log4J

  

日志组件

  

http!//logging。apache。org/log4j/1。2/

  

Swagger2

  

接口测试框架

  

http!//swagger。io/

  

Lombok

  

简化编码插件

  

https!//projectlombok。org/

  

Cloud Alibaba OSS

  

Qiniu

  

云存储

  

https!//www。aliyun。com/product/oss/ http!//www。qiniu。com/

  

FastJson & Gson

  

数据序列化

  

https!//github。com/alibaba/fastjson

  

Jenkins

  

持续集成工具

  

https!//jenkins。io/index。html

  

Maven

  

项目构建管理

  

http!//maven。apache。org/

  

Tio

  

实时推送

  

https!//gitee。com/tywo45/t-io

  

Netty

  

实时推送

  

https!//netty。io/

  

Akka

  

异步并发计算

  

https!//akka。io/

  


  

前端技术

  

后台管理系统 Vue + ElementUI+ Axios + Xlsx + Showdown + Screenfull

  


  


  

前台系统 Vue +ElementUI + Axios + Stompjs + Zip + vue-i18n

  


  

移动全栈

  

uni-app

  

关于Spring Cloud

  

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。一般而言,一个完整的SpringCloud框架应该如下图所示:

  


  

关于Spring Cloud Alibaba

  

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  


  

相关组件:

  

  • Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
  • Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
  • RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
  • Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
  • Alibaba Cloud OSS! 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、比特币购买任何时间、任何地点存储和访问任意类型的数据。
  • Alibaba Cloud SMS! 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

功能介绍和演示

  

后台管理系统

  


  

前台系统

  


  

移动全栈

  


  

架构设计

  

模块划分

  

撮合引擎服务

  

分布式内存撮合系统,使用Raft协议自建集群,实现数据复制、集群选举等,并自研分布式币种路由策略,解决多币之间数据隔离,线程竞争问题;当主机挂掉时,备机能快速感知并替换原主机状态继续提供服务,当集群扩容时,也实现数据分片的迁移和再分配。在部署时,我们可以采用单一分组,也可以采用 MULTI-RAFT-GROUP。我们还使用Nosql数据库mongo作为recovery的兜底方案,当撮合引擎所有节点都进行重新实例化时,那么就会走该兜底方案。

  

行情服务

  

l OpenAPI

  

对外提供OpenAPI(开放平台),我们所有API的设计遵循REST 设计标。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论