本篇文章給大家分享的是有關(guān)Java負(fù)載均衡服務(wù)器如何實(shí)現(xiàn)文件上傳同步,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
負(fù)載服務(wù)器Z,應(yīng)用服務(wù)器A 和B ,從A上傳的附件,如何在B上下載下來(lái)?
這個(gè)問題我的解決思路如下(后來(lái)被一個(gè)裝逼的面試官給批評(píng)了這種做法,不過我瞧不起他)
服務(wù)器A、B 上傳附件的時(shí)候,將這個(gè)附件備份到服務(wù)器Z ,當(dāng)A、B下載文件的時(shí)候,首先會(huì)在自己服務(wù)器的目錄下尋找,如果找不到,就會(huì)從服務(wù)器Z 上下載一份到當(dāng)前服務(wù)器。
服務(wù)器之間的文件備份通過sftp,參考:/tupian/20230522/196008.htm(下文中的SftpCustom 類就是這個(gè)鏈接里的 “SFTP上傳下載文件例子” 中的類)
這里主要介紹一下重寫上傳、下載的方法時(shí)應(yīng)該添加的代碼
上傳文件,異步操作
new Thread(() -> { SftpCustom fu = new SftpCustom(); fu.upload(file.getAbsolutePath(), getFileName(fileDescr)); fu.closeChannel(); }).start();