当前位置:首页 > 每日看点 > 正文内容

有哪些值得推荐的 Java 练手项目?

卡卷网10个月前 (01-15)每日看点161

第一章项目简介

【郑重声明】

按照中国国家相关法律政策规定,不得向中国大陆境内公民提供数字资产交易服务,不得提供人民币对数字货币的兑换及支付服务。如果不予配合履行以上职责,造成的一切后果与本人无关。

一、项目简介

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


有哪些值得推荐的 Java 练手项目?  第1张


项目特色:

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)冷热钱包分离,两种提现方式,保证安全;


有哪些值得推荐的 Java 练手项目?  第2张


二、技术选型

2.1 后台技术

组件作用参考网站
Spring Framework容器projects.spring.io/spri
Spring Boot开发脚手架框架spring.io/projects/spri
Spring Cloud微服务框架spring.io/projects/spri
Spring Security安全框架spring.io/projects/spri
MyBatis-PlusORM框架mp.baomidou.com/
Nacos服务治理nacos.io/zh-cn/
Sentinel服务保护sentinelguard.io/zh-cn/
Seata分布式事务seata.io/zh-cn/
MyBatisORM框架mybatis.org/mybatis-3/z
MyBatis Generator代码生成mybatis.org/generator/i
PageHelperMyBatis物理分页插件git.oschina.net/free/My
Druid数据库连接池github.com/alibaba/drui
Mongodb分布式文件存储数据库mongodb.com/
ZooKeeper分布式协调服务zookeeper.apache.org/
Redis分布式缓存数据库redis.io/
RedissonRedis客户端redisson.org/
Jetcache缓存框架github.com/alibaba/jetc
RabbitMQ消息队列rabbitmq.com/
Kafka消息队列kafka.apache.org/
Disruptor并发框架lmax-exchange.github.io
FastDFS自建分布式文件系统github.com/happyfish100
Log4J日志组件logging.apache.org/log4
Swagger2接口测试框架swagger.io/
Lombok简化编码插件projectlombok.org/
Cloud Alibaba OSSQiniu云存储aliyun.com/product/oss/ qiniu.com/
FastJson & Gson数据序列化github.com/alibaba/fast
Jenkins持续集成工具jenkins.io/index.html
Maven项目构建管理maven.apache.org/
Tio实时推送gitee.com/tywo45/t-io
Netty实时推送netty.io/
Akka异步并发计算akka.io/

2.2 前端技术

2.2.1 后台管理系统

Vue + ElementUI + Axios + Xlsx + Showdown + Screenfull


有哪些值得推荐的 Java 练手项目?  第3张


2.2.2 前台系统

Vue + ElementUI + Axios + Stompjs + Zip + vue-i18n


有哪些值得推荐的 Java 练手项目?  第4张


2.2.3 移动全栈

uni-app


有哪些值得推荐的 Java 练手项目?  第5张


三、关于Spring Cloud

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


有哪些值得推荐的 Java 练手项目?  第6张


四、关于Spring Cloud Alibaba

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


有哪些值得推荐的 Java 练手项目?  第7张


组件:

uSentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

uNacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

uRocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

uSeata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

uAlibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

uAlibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

五、功能介绍和演示

5.1 后台管理系统


有哪些值得推荐的 Java 练手项目?  第8张

5.2 前台系统


有哪些值得推荐的 Java 练手项目?  第9张

5.3 移动全栈


有哪些值得推荐的 Java 练手项目?  第10张

六、架构设计

6.1 模块划分

6.1.1 撮合引擎服务

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

6.1.2 行情服务

lOpenAPI

对外提供OpenAPI(开放平台),我们所有API的设计遵循REST 设计标准,使用改造完后的swagger生成更符合国人习惯的测试平台;

lK-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。

6.1.3 推送服务

推送服务为实时推送,数据的获取来自Kafka,多线程订阅Kafka的分组,底层通过修改spring-boot-stater-websocket让其支持Netty,并测试了TIO的推送方案,当客户端压力变大时,可通过Spring Cloud Gateway 和 Nginx 实现负载均衡。经测试,客户端无卡顿或数据丢失的情况。

6.1.4 交易服务

币种获取、区域数据、币币交易市场行情,币币交易市场深度等各种交易数据展示,底层采用Redis做高速缓存,并使用Sentinel实现了服务的降级和流控。

6.1.5 用户中心服务

提供用户账号信息、身份验证、注册登陆、邀请分级奖励、第三方验证等功能;

6.1.6 监控服务

ØBoot-Admin :

实现了服务上下线的邮件/短信/微信通知,显示微服务 name、id 和 version,显示在线状态,Loggers 的日志级别管理,Threads 线程管理,Environment 管理等;

Øsentinel-dashboard:

提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能;

ØZipkin:

提供分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪,以及服务直接依赖关系的计算。

6.1.7 钱包服务

采用了业界领先的冷热隔离充值钱包系统、多重签名、高防护DDOS攻击系统等领先技术,分钟级日志分析监控等手段,充分保证客户资产安全。

6.2 设计要求


有哪些值得推荐的 Java 练手项目?  第11张


6.3 整体架构


有哪些值得推荐的 Java 练手项目?  第12张

七、逻辑架构


有哪些值得推荐的 Java 练手项目?  第13张


八、部署架构


有哪些值得推荐的 Java 练手项目?  第14张


小编整理好了视频教程手把手教学+源码+数据库

图片右下角公主号自动回复自取




扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9375.html

分享给朋友:

相关文章

中国CEO直播简史

中国CEO直播简史

  领导人爱对外发言这事,是中国的一个传统文化。  从乾隆爱往名画上盖章上,就可见一斑。  3Q大战时代,微博成了大佬“吵架”的战场,饭否变成了部分爱面子者的日记。  某种程度上说,互联网公关行业的诞生,和大佬们爱发言有着直接的关系。只不过...

学了两个月网络安全,一直未入门怎么办,知乎大佬们给些建议吧?

学了两个月网络安全,一直未入门怎么办,知乎大佬们给些建议吧?

你才学两个月,就想入门,笑不活了,我学了8年了,还被人说是个菜鸟。我学了这么多的渗透,依然挖不到自己的漏洞。ailx10:学习CSRF漏洞ailx10:学习PHP XXE漏洞ailx10:学习CORS漏洞ailx10:学习ClickJack...

OZON平台什么产品好卖?

ozon选品的核心重点我不说 你们全网也不见说的这么干的教学了你信我就按照我说的思路去走 不信的出去买课去 一时间消化不了的先点赞收藏起来 真不中了下载也行 因为最近总有坏人给我使诈 平台已经下了我八个视频了 还都是实操教学不废话的那种 气...

为什么大家不再提 5G 了?

现在看来,只有美国那种5g的思路是对的。美国的运营商一开始就发现5g和4g并没有质的飞跃,无非就是提升频率/降低穿透力/提升带宽的故事。而美国运营商又是自负盈亏,因此一开始就仅在人口高密度地区或富裕地区布置5g。虽然说人家4g也菜,但是人家...

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙推荐...

是什么让你抛弃了 Windows 而转向 Mac?

是什么让你抛弃了 Windows 而转向 Mac?

别的不说,这玩意儿是真抗造啊,我这2012年买的MacBook Pro,依然在用……这台电脑我博士最后两年用来写代码(只写不运行,运行要上集群)和写论文,工作之后就变成生活和娱乐了,因为我一直用架子和外接键盘(颈椎不好)所以电脑看起来很新,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。