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

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

卡卷网7个月前 (01-10)每日看点131

第一章项目简介

<>【郑重声明】

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

一、项目简介

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

<>项目特色:

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

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

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

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

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

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

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

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

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

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

二、技术选型

2.1后台技术

组件作用参考SpringFramework容器://projects.spring.io/spring-framework/Springoot开发脚手架框架s://spring.io/projects/spring-cloud/SpringCloud微服务框架s://spring.io/projects/spring-oot/SpringSecity安全框架s://spring.io/projects/spring-secityMyatis-PlusORM框架s://mp.aomidou/Nacos服务治理s://nacos.io/zh-cn/Sentinel服务保护s://sentinelguard.io/zh-cn/Seata分布式事务://seata.io/zh-cn/MyatisORM框架://myatis.org/myatis-3/zh/index.htmlMyatisGenerator代码生成://myatis.org/generator/index.htmlPageHelperMyatis物理分页插件://git.oschina.net/free/Myatis_PageHelperDruid数据库连接池s://githu/aliaa/druidMongod分布式文件存储数据库s://mongod/ZooKeeper分布式协调服务://zookeeper.apache.org/Redis分布式缓存数据库s://redis.io/RedissonRedis客户端s://redisson.org/Jetcache缓存框架s://githu/aliaa/jetcacheRaitMQ消息队列s://raitmq/Kafka消息队列://kafka.apache.org/Disruptor并发框架s://lmax-exchange.githu.io/disruptor/FastDFS自建分布式文件s://githu/happyfish100/fastdfsLog4J志组件://logging.apache.org/log4j/1.2/Swagger2接口框架://swagger.io/Lomok简化编码插件s://projectlomok.org/CloudAliaaOSSQiniu云存储s://aliyun/product/oss/://qiniu/FastJson&Gson数据序列化s://githu/aliaa/fastjsonJenkins持续集成工具s://jenkins.io/index.htmlMen项目构建://men.apache.org/Tio实时推送s://gitee/tywo45/t-ioNetty实时推送s://netty.io/Akka异步并发计算s://akka.io/

2.2前端技术

2.2.1后台

Vue+ElementUI+Axios+Xlsx+Showdown+Screenfull

2.2.2前台

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

2.2.3移动全栈

<>uni-app

三、关于SpringCloud

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

四、关于SpringCloudAliaa

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

<>组件:

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

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

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

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

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

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

五、功能介绍和演示

5.1后台

5.2前台

5.3移动全栈

六、架构设计

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、OV、OLL、SAR、DMA、TRIX、RAR、VR、EMV、WR、ROC、MTM、PSY。

6.1.3推送服务

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

6.1.4交易服务

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

6.1.5用户中心服务

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

6.1.6监控服务

Øoot-:

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

Øsentinel-dashoard:

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

ØZipkin:

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

6.1.7钱包服务

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

6.2设计要求

6.3整体架构

七、逻辑架构

八、部署架构

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

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

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

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

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

分享给朋友:

相关文章

淘宝终于支持微信支付:这一刻我等了太久

淘宝终于支持微信支付:这一刻我等了太久

今天微博圈就被淘宝的消息刷屏了。没错,正是关于淘宝即将全面支持微信支付的消息。这条消息一出,立刻登上了微博热搜,毕竟社交巨头和电商巨擘的联手,实在令人瞩目。不少大媒体也纷纷跟进报道,这阵势真是令人惊叹。网友们纷纷表示这是巨大的变革,终于可以...

你有突破100个粉丝了吗?

你有突破100个粉丝了吗?

100粉已经过啦!说说怎么过的吧,最开始疯狂的写回答,写想法,关注人数在50几以下持续有两周多,每天都关注变化,都是个位数增长,后来干脆不看了。到第三周时突然一周增长了100多人,一天十几人,想想应该归功于多互动,给他人点赞评论,让自己曝光...

OZON平台什么产品好卖?

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

PS有哪些实用小技巧,小白也能一学就会?

PS有哪些实用小技巧,小白也能一学就会?

不看后悔系列!本篇分享25个PS实用的技巧!不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。另外我的知乎也写了接近200篇PS的技巧,超级合集分享!我目前正在带一个PS/Ai的软件训练营,两个多月搞定两大软件的学习详细的内...

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

要弄清楚这个问题,首先要弄清楚什么是内存,什么是硬盘,在计算机的组成结构中有一个很重要的部分是存储器。它是用来存储程序和数据的部件。对于计算机来说,有了存储器,才有记忆功能,,才能保证正常工作。存储器的种类很多。按其用途可分为主存储器与辅助...

为什么说不懂电脑的不要碰AMD?

作为一个资深垃圾佬,说缺点前,先说优点吧AMD CPU(后续简称AU)的优点:处理器对比Intel,三级缓存更大,最明显的感知就是,网游帧数更高(5900X,7900X之类高端型号都是双CCX共享大缓存,反而不如次一点的CPU帧数更高);相...

发表评论

访客

看不清,换一张

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