霹靂貓-分佈式文件系統node
一種能夠將網站圖片或上傳的文件,進行分佈式存放的服務,可自動複製到多臺物理機器,可知足高可用和負載均衡linux
http://git.oschina.net/tavenli/pilicat-dfs/releasesnginx
支持多個dfs-nodegit
支持對上傳的文件自動複製到多個dfs-nodegithub
支持 RestfulAPI 接口,方便各類語言調用web
能夠對dfs-node進行分組api
可以使每一個應用系統上傳的附件,不存放在應用系統目錄下,即便上傳了圖片木馬,也執行不了,由於dfs是純靜態服務器
可同時知足多個應用系統上傳附件的需求,將多個應用上傳的附件存放在統一的一組服務器,方便管理app
能夠更好的實現CDN,加速對靜態資源的訪問,由於這裏都是純靜態負載均衡
同一份文件,自動分發到多臺物理節點,並支持經過 lvs 或 nginx 實現負載均衡,實現高可用和物理容災
還有不少優勢,就不所有闡述了...
cd dfs-node_linux64_v1.0.0 ./start.sh
curl -X POST -F file=@/app/test.jpg http://127.0.0.1:8800/api/file
{ "Code": 0, "Msg": "success", "Data": { "FileUrlPath": "/file/2017/07/21/5e30cf328e44824ece5ddc52b629b73c.jpg", "OrgFileName": "test.jpg", "PubUrl": "http://dsf.hicode.top/file/2017/07/21/5e30cf328e44824ece5ddc52b629b73c.jpg" } }
node.name = "dfs-node-1" //節點名稱,在同一個center中惟一 node.public.addr = "0.0.0.0:8700" //用於對外訪問端口,主要供web訪問上傳後的文件,若是是80端口直接對外,可直接綁到80端口上 node.api.addr = "0.0.0.0:8800" //用於內網接口,文件上傳、覆蓋、刪除等操做,都經過該端口,一般綁定在內網IP node.auth.type = "IpWhiteList" //內網接口的鑑權方式,目前支持 SecretAuth 和 IpWhiteList兩種方式,若是不須要鑑權,該項內容留空,或不配置便可 node.auth.token = "26CCD056107481F45D1AC805A24A9E59" //當鑑權類型爲 SecretAuth 時,須要配置該項 node.ip.white.list = "127.0.0.1,192.168.1.0/24" //當鑑權類型爲 IpWhiteList 時,須要配置該項 dfs.center = "192.168.1.200:8000" //集羣高可用服務所在位置,用於自動註冊dfs-node dfs.public.url = "http://dsf.hicode.top:8700" //用於對外訪問的域名