国王小组:搭建交易所开发完整的Spring Cloud框架

简介: 关于SpringCloudSpring Cloud是一个有序的框架集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发方式完成 一键启动和部署。Spring Cloud并不重复制造车轮。它只是结合了各家公司开发的成熟实用的服务框架。通过Spring Boot风格的重新封装,屏蔽了复杂的配置和实现原理,最后给开发 作者留下了一套简单易懂、易于部署、易于维护的分布式系统开发套件。一般来说,一个完整的Spring Cloud框架应该是如下图所示。

关于SpringCloud
Spring Cloud是一个有序的框架集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发方式完成 一键启动和部署。Spring Cloud并不重复制造车轮。它只是结合了各家公司开发的成熟实用的服务框架。通过Spring Boot风格的重新封装,屏蔽了复杂的配置和实现原理,最后给开发 作者留下了一套简单易懂、易于部署、易于维护的分布式系统开发套件。一般来说,一个完整的Spring Cloud框架应该是如下图所示。
image.png
如果你对Spring Cloud不熟悉,可以先简单了解一下Spring Cloud的相关教程,这样你再回来看这个项目,就会比较容易上手。需要提醒的是,由于Springcloud框架图是一个完整的架构,为了让开发和部署更快,我们会在开发过程中适当裁剪一些内容,所以会有一些差异。

关于匹配交易引擎
系统的交易队列采用内存匹配,Kafka用于匹配订单信息传输,MongoDB持久化订单交易细节,MySQL记录整体订单交易。其中,01_Framework/Exchange项目主要负责内存匹配,01_Framework/Market项目主要负责订单交易持久化、行情生成、行情推送等服务,包括。

K线数据,间隔时间为。1分钟、5分钟、15分钟、30分钟、1小时、1天、1周、1个月
所有交易对的市场深度数据
所有交易对的最新价格
最近成交的交易对
内存匹配交易所支持的模式

限价单和限价单的匹配
匹配市场订单和限价订单
限价单与市价单的匹配
匹配市场订单与市场订单
限价单和市价单处理逻辑

image.png
注意:这张图片是很久以前的,最新代码中的逻辑更加复杂

匹配引擎支持的其他功能

除了普通的限价和市价的匹配功能外,本系统的匹配交易引擎还引入了主动交易模式。通过设置交易开始时间、初始发行量、初始发行价、交易对的活跃度(如BTC/USDT)模式等参数可以制定丰富的匹配交易模式,满足不同的匹配模式。

例如

交易所预计在2020年8月8日12:00:00推出交易对AAA/USDT,但作为一个新推出的货币,没有活跃度怎么行?项目方或交易所决定拿出10000个AAA,价格为0.0001USDT(市场价:0.0005),供大家抢购。系统支持这种活动的设置。

另外,如果项目方或交易所决定拿出1万个AAA以0.0001USDT的价格发行,我不希望大家抢购,而是希望所有充值USDT的用户都能平均分到1万个AAA。这个系统也支持这个活动的设置。

综上所述

n总之,本系统支持高度自定义的匹配模式。同时,你也可以开发自己的匹配交易模式,只要修改Exchange项目中的匹配逻辑即可。

关于技术构成
后台开发:Spring、SpringMVC、SpringData、SpringCloud、SpringBoot
数据库:Mysql、Mongodb
其他:redis、kafka、Ali OSS、Tencent Captcha
前台:Vue、iView、less

相关文章
|
2月前
|
Java Spring
聊聊你对SpringBoot框架的理解 ?
SpringBoot是Spring家族中流行的子项目,旨在简化Spring框架开发的繁琐配置。它主要提供三大功能:starter起步依赖简化依赖管理,自动配置根据条件创建Bean,以及内嵌Web服务器支持Jar包运行,极大提升了开发效率。
122 0
|
2月前
|
存储 负载均衡 Java
SpringCloud框架
本文介绍了微服务架构中常用的技术组件与原理,包括Nacos与Eureka的服务注册与发现机制、Nacos的分级存储模型、OpenFeign的远程调用流程、Ribbon与Spring LoadBalancer的负载均衡策略、Hystrix与Sentinel的限流熔断机制、滑动窗口算法原理,以及Spring Cloud Gateway的路由断言与过滤器功能,全面覆盖微服务核心治理能力。
|
2月前
|
NoSQL Java 数据库连接
SpringBoot框架
Spring Boot 是 Spring 家族中最流行的框架,旨在简化 Spring 应用的初始搭建与开发。它通过自动配置、起步依赖和内嵌服务器三大核心功能,大幅减少配置复杂度,提升开发效率。开发者可快速构建独立运行的 Web 应用,并支持多种数据访问技术和第三方集成。
|
3月前
|
Java API 网络架构
基于 Spring Boot 框架开发 REST API 接口实践指南
本文详解基于Spring Boot 3.x构建REST API的完整开发流程,涵盖环境搭建、领域建模、响应式编程、安全控制、容器化部署及性能优化等关键环节,助力开发者打造高效稳定的后端服务。
449 1
|
2月前
|
缓存 安全 Java
Spring 框架核心原理与实践解析
本文详解 Spring 框架核心知识,包括 IOC(容器管理对象)与 DI(容器注入依赖),以及通过注解(如 @Service、@Autowired)声明 Bean 和注入依赖的方式。阐述了 Bean 的线程安全(默认单例可能有安全问题,需业务避免共享状态或设为 prototype)、作用域(@Scope 注解,常用 singleton、prototype 等)及完整生命周期(实例化、依赖注入、初始化、销毁等步骤)。 解析了循环依赖的解决机制(三级缓存)、AOP 的概念(公共逻辑抽为切面)、底层动态代理(JDK 与 Cglib 的区别)及项目应用(如日志记录)。介绍了事务的实现(基于 AOP
111 0
|
2月前
|
存储 缓存 NoSQL
Spring Cache缓存框架
Spring Cache是Spring体系下的标准化缓存框架,支持多种缓存(如Redis、EhCache、Caffeine),可独立或组合使用。其优势包括平滑迁移、注解与编程两种使用方式,以及高度解耦和灵活管理。通过动态代理实现缓存操作,适用于不同业务场景。
282 0
|
2月前
|
消息中间件 NoSQL Java
SpringBoot框架常见的starter你都用过哪些 ?
本节介绍常见的Spring Boot Starter,分为官方(如Web、AOP、Redis等)与第三方(如MyBatis、MyBatis Plus)两类,用于快速集成Web开发、数据库、消息队列等功能。
202 0
|
2月前
|
缓存 安全 Java
第五章 Spring框架
第五章 Spring框架
|
2月前
|
缓存 Java 数据库
第五章 Spring框架
第五章 Spring框架
|
2月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
242 0

热门文章

最新文章