|
|
@ -29,7 +29,7 @@ waynboot-mall是一套全部开源的微商城项目,包含一个运营后台
|
|
|
|
16. 下单处理过程引入rabbitMQ,异步生成订单记录,提高系统下单处理能力
|
|
|
|
16. 下单处理过程引入rabbitMQ,异步生成订单记录,提高系统下单处理能力
|
|
|
|
17. ...
|
|
|
|
17. ...
|
|
|
|
|
|
|
|
|
|
|
|
## 商城难点整理
|
|
|
|
## 商城技术特点
|
|
|
|
### 1. 库存扣减操作是在下单操作扣减还是在支付成功时扣减?(ps:扣减库存使用乐观锁机制 `where goods_num - num >= 0`)
|
|
|
|
### 1. 库存扣减操作是在下单操作扣减还是在支付成功时扣减?(ps:扣减库存使用乐观锁机制 `where goods_num - num >= 0`)
|
|
|
|
1. 下单时扣减,这个方案属于实时扣减,当有大量下单请求时,由于订单数小于请求数,会发生下单失败,但是无法防止短时间大量恶意请求占用库存,
|
|
|
|
1. 下单时扣减,这个方案属于实时扣减,当有大量下单请求时,由于订单数小于请求数,会发生下单失败,但是无法防止短时间大量恶意请求占用库存,
|
|
|
|
造成普通用户无法下单
|
|
|
|
造成普通用户无法下单
|
|
|
@ -51,7 +51,7 @@ threadPoolTaskExecutor.submit(bannerTask);
|
|
|
|
List<Banner> list = bannerTask.get()
|
|
|
|
List<Banner> list = bannerTask.get()
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. `ElasticSearch`查询操作,查询包含搜索关键字并且是上架中的商品,在根据指定字段进行排序,最后分页返回
|
|
|
|
### 3. `ElasticSearch`搜索查询,查询包含搜索关键字并且是上架中的商品,在根据指定字段进行排序,最后分页返回
|
|
|
|
```java
|
|
|
|
```java
|
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
|
|
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
|
|
@ -227,6 +227,7 @@ public void test(){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
### 7. google jib docker镜像部署
|
|
|
|
|
|
|
|
|
|
|
|
- todo
|
|
|
|
- todo
|
|
|
|
|
|
|
|
|
|
|
|