商品的上下架,改造一下,我們的goodsservice裡的**,
@autowired
private rocketmqtemplate rocketmqtemplate;
/** * 修改上下架的狀態
** @param spuid
* @param saleable
* @return
*/@transactional
public
void
updatesaleable
(long spuid, boolean saleable)
new<
>()
;lambda()
.set
(tbsku:
:getenable,saleable).eq
(tbsku:
:getspuid,spuid)
;boolean bskuupdate = skuservice.
update;if
(!bskuupdate)
//傳送 訊息 ,訊息內容是spuid
string tag = saleable ? item_up_tags : item_up_tags;
system.err.
println
("+++++++++++"
+tag+spuid+
"+++++++++++");
rocketmqtemplate.
convertandsend
(item_topic_name+
":"+tag,spuid)
;}
使用了rocketmq
來非同步傳送mq訊息,傳過去商品的id,搜尋微服務在建立消費者去消費上下架的資訊,上架是用了feign元件去呼叫商品微服務獲取商品訊息再進行插入elasticsearch索引庫中,下架用了商品的id,去刪除索引庫中的資訊。
流程圖如下:
商品上下架 靜態頁面 同步快取
1.商品上下架修改狀態 2.上下架同步新增 刪除到快取中 3.同步維護商品的庫存 4.上下架同步生成靜態 刪除頁面 updatestate public responseresult login pathvariable integer id else catch exception e e.tos...
03商品審核與上下架
商品新增後,審核狀態為0 未審核 預設為下架狀態。審核商品,需要校驗是否是被刪除的商品,如果未刪除則修改審核狀態為1,並自動上架 下架商品,需要校驗是否是被刪除的商品,如果未刪除則修改上架狀態為0 上架商品,需要審核狀態為1,如果為1,則更改上下架狀態為1 1 按照id查詢spu資訊 2 判斷修改審...
RocketMQ 主從同步機制
主從同步 ha 高可用 主從同步原理 為了保證系統的高可用,訊息到達主伺服器後,需要將訊息同步到從伺服器。如果主伺服器宕機,消費者可用從從伺服器拉取訊息。大體步驟 1 主伺服器啟動,監聽從伺服器的鏈結。2 從伺服器主動鏈結主伺服器,建立tcp相關鏈結。3 從伺服器主動向主伺服器傳送待拉取訊息偏移量,...