背景:
最近自己想做个微服务项目练练手,初步选型定了个spring cloud alibaba,主要是想将学过的一些中间件融入进去,搞技术滴人都晓得,不用就生疏了,目前准备是将spring cloud alibaba的一些组件如nacos、sentinel、seata、canal、es、xxl-job、tinyid,rocketmq或者rabbitmq(或者两者都融进去做两个版本),立个flag必须完成这些东西,前端就选个vue的快速开发平台或者layui(这个不是重点)br/>接下来就要找个业务把这些技术都用进去,比如烂大街的电商,或者什么什么系统。
今天先搭建基本的系统框架,最终选择了尚学堂的币币交易平台的来学习改造,源码地址分享下:git@gitee.com:wuxiaofan/coin-exchange.git
先简单介绍下各个模块
coin-admin,coin-chan,coin-exchange-engine,coin-finance,coin-match-engine,coin-member,coin-statistics都是业务模块
coin-oauth 是授权模块 主要采用了spring security+oauth2+jwt来管理用户认证授权
coin-gateway顾名思义网关服务,主要用来做转发流控,鉴权,跨域集中处理
coin-common 为基础公共服务,配置信息如swagger,mybatis-plus,jackson等配置
coin-xxl-job 是集成了xxl-job作为分布式任务调度服务
coin-tinyid 是主键生成服务 为整个系统各业务提供主键
前端顺便直接借鉴了课程中的前端代码。
集成xxl-job和tinyid的过程中发现github上开源代码使用的各种依赖版本太低 所以做了一些调整,另外做了一部分修改