国王小组:搭建交易所开发完整的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

相关文章
|
4天前
|
开发框架 运维 监控
Spring Boot中的日志框架选择
在Spring Boot开发中,日志管理至关重要。常见的日志框架有Logback、Log4j2、Java Util Logging和Slf4j。选择合适的日志框架需考虑性能、灵活性、社区支持及集成配置。本文以Logback为例,演示了如何记录不同级别的日志消息,并强调合理配置日志框架对提升系统可靠性和开发效率的重要性。
|
3天前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
26天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
319 0
|
26天前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
12天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
21天前
|
Java 开发者 Spring
理解和解决Spring框架中的事务自调用问题
事务自调用问题是由于 Spring AOP 代理机制引起的,当方法在同一个类内部自调用时,事务注解将失效。通过使用代理对象调用、将事务逻辑分离到不同类中或使用 AspectJ 模式,可以有效解决这一问题。理解和解决这一问题,对于保证 Spring 应用中的事务管理正确性至关重要。掌握这些技巧,可以提高开发效率和代码的健壮性。
66 13
|
1月前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
57 11
|
1月前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
53 5
|
1月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
4月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba

热门文章

最新文章