做棋牌網(wǎng)站抓到會怎么量刑廈門seo新站策劃
數(shù)據(jù)同步的問題分析:
當MySQL進行增刪改查的時候,數(shù)據(jù)庫的數(shù)據(jù)有所改變,這個時候需要修改es中的索引庫的值,這個時候就涉及到了數(shù)據(jù)同步的問題
解決方法:
1、同步方法:
當服務(wù)對MySQL進行增刪改的時候,這個時候使用fegin遠程調(diào)用,將所更改的數(shù)據(jù)發(fā)送到es的服務(wù)上,使得es數(shù)據(jù)得到及時的更新
優(yōu)點:簡單、粗暴
缺點:服務(wù)之間耦合度高,MySQL服務(wù)響應(yīng)慢,必須等待es更改完成。
2、異步方法:
使用消息中間件rabbitMQ,服務(wù)進行增刪改的時候?qū)⑿畔⒎诺組Q,es的服務(wù)去MQ中拿到信息,去更新自己的數(shù)據(jù)
優(yōu)點:耦合度低,實現(xiàn)難度一般
缺點:依賴MQ的可靠性
3、使用binlog
MySQL在進行增刪改的時候會將操作記錄到binlog上,然后在使用canal(通道)中間件,通知es發(fā)生改變,這樣就會使得es數(shù)據(jù)得到更新
優(yōu)點:完全接觸服務(wù)之間的耦合
缺點:開啟binlog增加數(shù)據(jù)庫負擔(dān),實現(xiàn)復(fù)雜度高。