畅购商城swagger文档如何搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了畅购商城swagger文档如何搭建相关的知识,希望对你有一定的参考价值。
参考技术A 利用代码直接生成规范文档的工具。Swagger是规范RESTful API服务的语言或者说工具,不仅可以用来定义接口,还可以测接口,一举两得。
Swagger的规范文档是用yaml文件或者json文件来表述的。
首发 | 继畅购后,深圳黑马JavaEE又一力作“牛股”
高薪就业一直是黑马的标签,而高薪就业的核心就是项目。
要说19年什么项目最火,非畅购莫属了。畅购作为大型微服务框架B2C商城,电商行业拥有最多、最实用的行业技术解决方案,在深圳JavaEE老沈和6老师的共同研发下,畅购全面普及,应用到课程,获得全国的学生一致好评。
少年,你们以为到此止步了吗?NO!
为了让学子在职场上更具竞争力,保障行业技术领先优势,保证课程与企业技术无缝接轨,深圳黑马JavaEE继畅购项目之后又一力作--《智牛股》,下面我们全面了解一下智牛股项目:
PART 1
项目介绍
基于Spring Cloud Alibaba微服务解决方案,采用分布式架构,高并发缓存、异步队列与分库分表设计,实现行情订阅分发、撮合交易、深度成交、委托挂单、浮盈计算等核心功能,目标打造高并发、海量数据的专业化金融交易平台。
PART 2
项目价值
a) 行业地位
金融是现代经济的核心,交易平台是金融核心系统,基于业内证券、外汇、贵金属等多种金融衍生品交易经验, 打造出以股票证券交易为主的智牛股项目。
b) 发展潜力
在金融行业领域, 证券、外汇、贵金属等金融产品的交易, 有着非常广阔的市场空间, 国内A股的每日成交金额就达数千亿金额, 外汇更是达到每日2万亿美元的成交量。掌握证券交易平台的开发, 等于掌握金融交易领域的实现能力,能够拓展实现其他金融衍生产品的交易, 切入金融领域核心。
c) 业务价值
金融行业人才稀缺,而能够成为金融IT复合型人才更为稀有,一般研发人员很难有机会接触金融核心交易系统,门槛条件高,且培养成本巨大,本项目借鉴业内沉淀的多年业务经验,生产级的技术实践方案,致力于培养和打造专业的金融IT复合型人才。
d) 业务特色
金融行业有各种系统,但都是侧重在某个领域,比如上交所/深交所,侧重的是竞价撮合, 东方财富/同花顺等券商平台, 侧重的是柜台交易。本项目广泛借鉴业内沉淀与改进的领先经验,打造了一套行情、交易、资讯、出入金等核心功能集于一体的完整金融解决方案,不仅有广度,还有深度,最大程度的丰富学员业务经验。
PART 3
技术亮点
1、高效的微服务通讯方案, 内部微服务采用 SpringBoot2.X+Protobuf+gRpc 通讯, 外部对接采用基于 NIO 的 Netty + Protobuf 长连接通讯, 保障交易服务的稳定可靠,又能具有较好的性能。
2、灵活高效的网关接入, 业务服务采用Spring Cloud GateWay 作统一网关接入, 相比 ZUUL 其他网关 有 2-3 倍性能提升, 交易服务采用自定义的代理服务, 基于Netty实现, 高效稳定。
3、紧随主流前沿技术, 采用 Nacos 作服务注册发现与统一配置管理, 在这 方面, 相比 Eureka 与 Spring Cloud Config 在性能与稳定性方面, 也是有非 常明显的改进;采用 Sentinel 作为熔断限流组件, 相比 Hystrix 性能更优, 功 能丰富; 采用主流的 RocketMQ,适合互联网海量数据的同步处理; 采用 ElasticSearch,在搜索方面目前有最为广泛的应用及优越的性能表现。
4、采用 Spring Cloud Alibaba 最新版本及核心生态组件,具备完整的微服务技术解决方案, 集成 Nacos 作统一配置化管理, Sentinel 作熔断降级控制, ELK 作统一日志管理, 以及 CAT 的分布式链路监控功能, 完善的服务治理功能。
5、数据层服务采用 Redis 集群作热点缓存, Ceph 作分布式文件存储, MongoDB 作 NoSQL 缓存, 支撑海量交易服务。
6、Spring Boot 2.X + Gateway + Spring Security OAuth2 统一认证鉴权与 Token增强技术运用,提升鉴权处理效率。
7、采用 Jenkins+Git+Maven+Docker+ Registry 持续集成技术、便于服务的管理与 发布。
8、Seata(fescar) Server 优秀的分布式事务 TCC 框架, 快速、高效、侵入性低。
9、XXL-JOB 集群分布式任务调度平台, 功能强大, 动态可配置, 支持多种调度策略。
10、采用众多集群技术, 最佳生产级的部署方案,包含MariaDB 集群、Redis 集群、RocketMQ 集群、XXL-JOB 集群、ES 集群、Ceph集群等,支撑海量数据与高并发场景。
PART 4
课程亮点
1、课程紧随主流技术, 拒绝落后淘汰技术(摒弃Eureka、Zuul1.x、Hystrix等), 采用最新的Spring Cloud Alibaba微服务技术方案。技术点丰富, 每个技术点的选型, 都是经过横纵对比, 且与业务有效结合。
2、真实项目案例, 无论是项目的业务和技术知识, 都是经过累积沉淀,不断改进形成的行业领先经验,认真学习与掌握整个项目, 能够成为一名专业的金融IT人才。
3、提供进入金融核心领域的机会,本项目深入交易核心,学习掌握整套技术, 不仅适用于证券股票交易, 也适用于外汇、期货、贵金属等交易,能够广泛应用于金融行业的各种交易领域。
4、最优的生产级实践方案, 项目对重要技术点进行横纵多个维度分析, 拓宽技术面, 深入理解技术,不是简单的带入技术, 采用最优生产实践方案, 提供稳定高效的服务, 使技术更好的服务于业务。
5、培养打造专业复合型人才, 项目不只技术的简单使用, 还涉及架构设计、技术选型、性能调优,持续集成、集群部署等, 打造一体化、高素质、且全面的专业性人才。
PART 5
业务功能构架
(点击查看高清大图)
PART 6
技术构架图
(点击查看高清大图)
PART 7
技术解决方案
服务高可用解决方案(KeepAlived+Lvs+Nginx)
微服务网关解决方案(Spring Cloud Gateway)
微服务高效通讯解决方案
(SpringBoot2.X+gRpc+Protobuf+Netty)。
微服务注册发现与配置管理解决方案。(Nacos集群+Mariadb+Nginx)
微服务熔断降级限流解决方案(Sentinel + dashboard)
微服务分布式事务解决方案(Seata Server)
微服务异步消息架构解决方案(RocketMQ集群)
微服务链路监控解决方案(Cat集群)
微服务统一鉴权解决方案
(OAuth2+Redis+TokenEhancer)
微服务统一日志解决方案
(ElasticSearch+Logstash+Kibana)
热点缓存解决方案(Redis集群)
分布式锁解决方案(Spring Integration Redis)
前后分离与文档管理解决方案(Swagger2聚合文档)
多数据源解决方案(Spring Boot + Durid + JPA/MyBatis)
分布式文件存储解决方案(Ceph集群)
分布式搜索解决方案(ElasticSearch集群)
分布式任务调度解决方案(XXL-JOB集群)
可持续集成自动发布解决方案
(Jenkins+Git+Maven+Docker+Registry)
数据库同步解决方案(Mariadb+Canal+Kafka)
PART 8
业务/功能解决方案
6.1行情订阅分发解决方案
行情服务如何支持海量用户接入, 同时做到高效, 稳定的转发? 如何设计能够支撑接入更多的行情源, 便于平台的扩展?
如何对行情数据做二次加工(开盘价, 收盘价, 涨跌幅)? 实时行情数据如何高效处理? 基于业内经验, 提供一套完整的解决方案:
分库(Mariadb, Postgresql)分表(股票产品, 日期等维度)设计
增加代理服务, 采用无状态化设计, 支持水平扩展
服务内部解耦设计, 采用RocketMQ异步队列架构
Redis缓存设计
Http连接池
多数据源
6.2股票交易解决方案
股票交易是项目核心功能, 交易要考虑行情, 资金, 交易规则等因素, 还要注重性能与稳定性, 基于撮合交易, 深度成交机制, 实现了完整的交易功能:
SpringBoot2.X+gRpc+Protobuf+WebSocket 高效通讯方案
Seata分布式事务解决方案
基于Redis热点缓存技术
SpringBoot + Druid + Mybatis多数据源解决方案
RocketMQ异步通讯
Spring Integration Redis 分布式锁
(点击查看高清大图)
6.3业务功能解决方案
用户服务与鉴权功能:
Spring Security OAuth2统一认证, 密码模式运用
高性能微服务token鉴权方案, token增强技术运用
Sentinel降级限流
Ceph分布式文件服务集群, Swift Api运用
全局序列ID生成, SnowFlake 运用
后台管理服务功能:
统一平台权限模块设计
REST HATEOAS运用
Spring Data Rest运用
Swagger2 与GateWay集成及高级运用
Spring Session Redis运用
(点击查看高清大图)
6.4报表与任务调度解决方案
XXL-JOB集群能够保障服务的高可用, 提升任务执行的稳定性,调度服务和执行服务两部分互相解耦, 提升整体系统的稳定性和扩展性, 同时路由策略丰富, 能够满足智牛股项目报表处理, 任务调度等各种场景的使用。
(点击查看高清大图)
(点击查看高清大图)
6.5 分布式文件存储解决方案
Ceph是一个去中心化的分布式存储系统, 具备优良的性能、可靠性和可扩展性。通过Ceph集群,能够帮助我们解决用户的文件存储, 项目图片, 资讯附件处理等问题。
Ceph提供了一套REST风格的Api来访问, 通过网关可以适配兼容swift api, 简洁的文件操作接口, 易于接入使用, 能够支撑处理海量文件信息。
(点击查看高清大图)
(点击查看高清大图)
看完之后,是不是有种键盘敲烂,月薪3w的感觉!“智牛股”项目将会在深圳黑马2020年新开的JavaEE班级中全面上线!
已经上班的小伙伴们也不要觉得可惜,身为咱们老学员,同样享受学习的福利哦!到时候老师会通知你们回来拷贝项目资料哒~嘻嘻,是不是想想就好激动!
好了,文末来一波现成的福利~
免费入门Java
Java7天基础班免费学
黑妹微信:heimei0755
愿你我都能拥有
清醒的眼光与前进的勇气
成为不被时代所抛弃的人
以上是关于畅购商城swagger文档如何搭建的主要内容,如果未能解决你的问题,请参考以下文章