亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不知道各位有何更好的解決方案,甚至不利用緩存,可以打破這道性能瓶頸的?

不知道各位有何更好的解決方案,甚至不利用緩存,可以打破這道性能瓶頸的?

holdtom 2023-05-04 09:05:33
根據當前的開發進度,已經利用hazlecast做了存儲對象的緩存,但是,對于每次寫文件時候replica的更新并沒有做緩存,每有一個寫文件操作請求,都會直接去數據庫中更新replica的信息,導致當一個寫動作引發連續的寫請求的時候,就會連續的去更新數據庫,為了降低數據庫的讀寫次數,我們想放個全局的緩存對象在內存中,然后異步得將緩存中的replica更新到數據庫中。而這樣又會引出另一個問題,多個客戶端寫同一個文件的同步問題,這又該如何在緩存中處理呢?總結出:1.建立緩存對象,通過線程異步更新數據庫以打到減少數據庫讀寫次數來提高性能。2.引出的同步問題該如何處理。 開發語言,java。
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

首先,個人覺得,用緩存只是來解決可用性問題。如果直接將更新對象放入緩存,這個方法是不可取的,你必須保證緩存的高可用性。緩存終究只是緩存,沒法保證一致性。其實你目前的狀況是需要解決分布式鎖的問題,可以嘗試使用隊列,或者paxos算法去解決?;蛘咴谌志彺嬷杏靡粋€所標記去標記你要寫的文件。 其實你完全沒必要自己去實現這套邏輯,直接用hdfs或者其他的分布式文件系統,加上zookeeper,肯定可以解決你的問題。

查看完整回答
反對 回復 2023-05-06
  • 1 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號