1.基於golang實現分布式檔案上傳服務
2.ceph和阿里雲oss
3.支援斷點續傳和秒傳功能
4.微服務化和容器部署
redis
mysql
rabbitmq
docker部署微服務
ceph分布式儲存
阿里雲oss
檔案分塊斷點續傳/秒傳
物件從私有雲遷移到阿里雲oss的經驗
介面列表
介面描述
介面url
檔案上傳介面
post /file/upload
檔案查詢介面
get /file/query
get /file/download
檔案刪除介面
post /file/delete
檔案重新命名介面
post /file/update
這塊的命令是可以進行優化的,增刪改查是對應http restful api的
定義檔案元資訊的結構filemeta
檔案的唯一標識是什麼?可用檔案內容計算的md5值或sha1值作為檔名
1.使用者請求是http get,則返回上傳頁面
2.使用者請求是http post,則解析form資訊,生成filemeta檔案元資訊
3.真實檔案儲存到本地磁碟,檔案元資訊(如檔名稱,檔案大小,檔案sha1,儲存位置,更新時間等)儲存到mysql資料庫中
4.上傳成功後,http重定向到「上傳成功頁面」
1.解析使用者請求中的filehash值
2.根據filehash從mysql資料庫中獲取檔案元資訊
3.根據檔案元資訊中的檔案位置filelocation,讀取檔案內容返回給客戶端
從mysql資料庫獲取檔案元,以json形式返回給客戶端
更新檔案元資訊,包括更改檔名,檔案大小,檔案路徑
1.從form表單中,解析出filehash值
2.根據filehash值,獲取檔案元資訊
3.根據檔案元資訊,刪除磁碟上的真實檔案
4.從mysql資料庫中刪除該檔案的資訊
1.獲取post請求中form表單的使用者名稱和密碼
2.將密碼+固定字串經過sha1處理,加強安全性,即使資料庫洩漏了,密碼也不會洩漏
3.將使用者名稱密碼以及其他資訊都寫入到mysql資料庫中
登入功能
1.解析使用者請求中form,得到使用者名稱和密碼
2.將密碼和固定字串進行sha1運算,得出加密後的密碼
3.從mysql資料庫中獲取使用者名稱和密碼
4.兩者對比,看是否符合
Linux部署私有企業網盤
2 解壓安裝包 tar xzvf ydisks linux.tar.gz 3 安裝服務端 進入解壓後的目錄 cd ydisks linux 執行安裝指令碼 sudo setup.sh 此路徑將會作為悅庫服務端的資料儲存目錄,有以下三點需要注意 1 此路徑是實際存在的路徑 2 目錄許可權需要root使...
聯想企業網盤 心態上 我們只是初創企業
6月30日,國內一大批網盤正式關停,在所有關停網盤中,我們可以發現,這些網盤均以免費為主。實際上我們可以從這種現象中發掘出乙個客觀事實 提供網盤服務所需要的軟硬體成本和運維成本支出太大,同時,網盤資料難以實現快速分析,進而實現營銷價值。這些原因讓免費網盤收支嚴重不平衡,造成了此次大規模關停。儘管部分...
聯想企業網盤 心態上 我們只是初創企業
6月30日,國內一大批網盤正式關停,在所有關停網盤中,我們可以發現,這些網盤均以免費為主。實際上我們可以從這種現象中發掘出乙個客觀事實 提供網盤服務所需要的軟硬體成本和運維成本支出太大,同時,網盤資料難以實現快速分析,進而實現營銷價值。這些原因讓免費網盤收支嚴重不平衡,造成了此次大規模關停。儘管部分...