type
status
date
slug
summary
tags
category
titleIcon
password
icon
calloutIcon
视频内容与文档练习均已完结,以下进行复盘汇总。
项目概述
基本信息:
- 微服务项目,带用户端和管理后台,B2C在线教育平台。
附:电商业务基本介绍


业务架构

技术架构

技术栈:
- 框架Springboot
- 缓存Redisson分布式锁 + lua脚本 + Redis
- 持久层MybatisPlus
- 配置/注册中心Nacos
- RPC实现Openfeign
- 搜索ElasticSearch
- JVM缓存Caffeine
- 分布式事务Seata
- 分布式定时任务XXL-JOB
- 消息队列RabbitMQ
- 容器部署Docker
- 持续集成Jenkins
业务重点:
- 独立的点赞系统,MQ解耦异步通知业务系统更新
- 赛季排行榜持久化,分表
- 库存超卖/单人刷卷,乐观锁,悲观锁,lua脚本原子性
评价:
注:比较新的四个项目(云岚,神领,天机,中州,四方)好像都是这种。
- 有已经配好环境的虚拟机,不需要费时间配环境(虚拟机上已运行需要的docker images)

- 开发流程简易但规范(持续集成;checkout后merge;多版本配置文件;配置中心)

单日复盘汇总
- day01 虚拟机网络连接(防火墙配置);修改hosts域名访问;IDEA Maven代理配置;Maven单继承解决(多父工程);常量池问题(-128到127 Integer Long享元);bootstrap.yml配置;虚拟机快照;全局异常处理;Nginx域名解析配置
- day02-day05 接口幂等性(数据库唯一约束);分库分表的主键id(雪花/Redis);高并发写优化(MQ改异步写/Redis合并写请求);RabbitMQ;SpringTask单机定时任务;@PostConstruct生命周期Hook;Spring Data Redis逆天API;定时任务持久化播放记录;区分Spring与Swagger的@RequestBody注解;Interface常量类;Delayed单机延迟任务;Caffeine本地缓存;自动装配
- day06-day08
- day09-day12
主要修改点
业务点总结
技术点总结
幂等性保证
超卖与刷单
分布式锁
高并发写优化实践
Redis合并写请求
MQ同步写改异步写
事务失效的应对
问题总结
扩展总结
适合写频率高但数据简单的场景,尤其是只写最后一次 也可以用于批量
但写的不会很及时
嵌套函数的声明式事务
Spring AOP实现的动态代理对象调用
通过AspectJ获得代理对象
- 作者:CamelliaV
- 链接:https://camelliav.netlify.app/article/tjxt-conclude
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。