为什么学习MQ
RabbitMQ
搜索與商品服務(wù)的問題
目前我們已經(jīng)完成了商品詳情和搜索系統(tǒng)的開發(fā)。我們思考一下,是否存在問題?
-
商品的原始數(shù)據(jù)保存在數(shù)據(jù)庫中,增刪改查都在數(shù)據(jù)庫中完成。
-
搜索服務(wù)數(shù)據(jù)來源是索引庫,如果數(shù)據(jù)庫商品發(fā)生變化,索引庫數(shù)據(jù)不能及時更新。
-
商品詳情做了頁面靜態(tài)化,靜態(tài)頁面數(shù)據(jù)也不會隨著數(shù)據(jù)庫商品發(fā)生變化。
如果我們在后臺修改了商品的價格,搜索頁面和商品詳情頁顯示的依然是舊的價格,這樣顯然不對。該如何解決?
?
這里有兩種解決方案:
-
方案1:每當(dāng)后臺對商品做增刪改操作,同時要修改索引庫數(shù)據(jù)及靜態(tài)頁面
-
方案2:搜索服務(wù)和商品頁面服務(wù)對外提供操作接口,后臺在商品增刪改后,調(diào)用接口
以上兩種方式都有同一個嚴(yán)重問題:就是代碼耦合,后臺服務(wù)中需要嵌入搜索和商品頁面服務(wù),違背了微服務(wù)的獨(dú)立原則。
所以,我們會通過另外一種方式來解決這個問題:消息隊(duì)列
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
- 上一篇: 商品详情及规格参数的渲染
- 下一篇: 安装虚拟主机