一. 开源算法Snowflake生成分布式id
1. 原因: 数据量庞大 ->分库分表 -> 数据库多实例部署 -> 唯一的全局ID
2. UUID: universe unique ID -> 32位长度字符串
(1) 缺点: 无排序, 无递增; 字符串存储查询效率低; 存储量大; 传输数据量大; 不可读
3. Redis:
(1) 单线程特点 -> 原子性 -> INCR / INCRBY
(2) 优点: 不依赖数据库, 性能优于数据库; 天然排序
(3) 缺点: 引入Redis组件增加系统复杂度; 编码和配置工作量大; 网络传输性能下降
4. Snowflake: Twitter开源算法
(1) Long型ID, 本机算法生成ID, 可排序
(2) 组成: 64位(1位不用+41位毫秒时间戳+10位手动机器ID+12位序列号)
(3) 工具类IdWorker: 放到公共模块changgou_common/util
(4)测试: long id = new IdWorker(workerId, DatacenterId).nextId();
(5)使用步骤:
1) application.yml中配置: workerId: 0 ; datacenterId: 0
2) 启动类注入: @Bean IdWorker(){}
3) 取值: @Value("${workerId}")
二. SPU & SKU
1. SPU: standard product unit 商品信息集合最小单位 -> 例: 京东商品详情页, 多个属性规格
2. SKU: stock keep unit 库存量单位 -> 京东购物车添加的单位商品
3.前端 传递的数据格式: 一个spu对象+sku列表
(1). {"spu":{"name":"value1",

本文介绍了使用SpringCloud实现商城系统的商品管理功能,包括Snowflake算法生成分布式ID、SPU与SKU概念、商品的增删改查操作、品牌与分类关联、商品审核与上下架以及商品的删除与还原功能。
最低0.47元/天 解锁文章
630

被折叠的 条评论
为什么被折叠?



