点击空白处退出提示
作品详情
● 项目支持的客户端类型:h5网站、IOS、Android;
● 项目前端使用 uniapp 进行开发,一套前端代码支持不同的客户端类型;提高前端开发效率,节省开发人员的学习成本;
● 项目后端使用 Spring Boot 提供 API 服务,通过 Dubbo RPC 远程调用各业务提供的 SOA 组件服务(本项目只有文章模块和会员模块使用的 Dubbo 组件服务(与其它项目共用));数据持久层采用 JPA ,数据库使用 MySql 。
● 项目中使用 Redis 用做缓存、共享锁、请求时间间隔控制、锁单限制等,缓存主要使用在项目的配置、藏品的列表、藏品详情,二级市场的藏品流转列表、交易记录列表等;共享锁主要用作汇付钱包交易后通知、空投藏品等一系列需要幂等性判断的地方;请求时间间隔控制主要针对于用户或 IP 在一段时间内访问某一接口的频率;锁单限制控制用户在一定时间范围内需要未支付的订单数。
● 项目使用 RocketMQ 消息中间件,只在一个功能中使用,用户推荐下线成交后返佣;用户在交易流程走完后,推送交易号到 MQ,MQ 消费者通过交易号查询对应的推荐用户,计算金额并发放佣金,使交易和分佣功能解耦。
● 项目使用 ELK 做日志收集,日志存在 ES中,用 kibana 对日志进行分析,快速定位问题;支持日志的链路追踪,Dubbo的 TraceId 通过实现 Filter 进行传递。
● 项目的图片上传在 Fastdfs 服务器上,使用早期开发的文章模块对资源进行管理。
● 项目 API 部署在2个 Spring Boot 服务上,通过 Nginx 反向代理实负载均衡;Nginx 上配置限连接数,限 IP 请求数、限流等配置。
● 项目使用阿里云 SLB 实现 Nginx 的高可用。
● 项目使用 Jenkins 作为自动化部署工具
开发环境:STS、Mysql、SVN、Maven
软件架构:Uniapp、SpringBoot、JPA、Dubbo、ZooKeeper、Redis、RocketMQ、ELK、Fastdfs
部署环境:Nginx 、阿里云、Jenkins
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论