上架商品的時候, 先把商品數(shù)據(jù)丟入MQ, 為了解耦, 拆分一個搜索微服務(wù), 搜搜微服務(wù)去訂閱商品變動的信息, 完成同步
一些數(shù)據(jù)需要聚合處理成類似寬表的結(jié)構(gòu)怎么辦呢?例如商品庫的商品品類、spu、sku表是分開的,但是查詢是跨維度的,在ES里再聚合一次效率就低一些,最好就是把商品的數(shù)據(jù)給聚合起來,在ES里以類似大寬表的形式存儲,這樣一來查詢效率就高一些。
定時任務(wù), 頻率不好選擇, 頻率高的話, 會引起業(yè)務(wù)的波峰, 使得Cpu, 內(nèi)存的上升, 頻率低的話, 時效性比較差
MySQL通過binlog訂閱實現(xiàn)主從同步,各路數(shù)據(jù)訂閱框架比如canal就依據(jù)這個原理,將client組件偽裝成從庫,來實現(xiàn)數(shù)據(jù)訂閱。
cancal通過cancal-adpter, 支持多種適配器, 包括ES適配器, 通過配置, 啟動之后, 就把Mysql的數(shù)據(jù)同步到Es上了
但是cancal還必須回查, 這個時候需要自己實現(xiàn)cancal-client, 監(jiān)聽和聚合數(shù)據(jù), 寫入Es
相比于異步雙寫, 可以降低商品的耦合性, 時效性更好
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧