使用Artifactory叢集作為檔案共享中心
使用Artifactory叢集作為檔案共享中心
一、背景和痛點
大企業內部,跨團隊,跨地域,導致檔案共享困難
如果不使用Artifactory,如何實現跨資料中心的檔案共享呢?
Ø 掛載NFS檔案系統,開通跨資料中心的rsync/sftp協議
Ø 自研解決方案,透過REST API或者CLI方式, 例如,雅虎的dist工具
Ø 私有或者公有的雲儲存方案
Ø 利用SCM版本控制系統
- 對於編譯構建效率影響很大
NFS 和雲儲存的方式對網路要求很高,穩定性得不到保證。自研的方式需要投入很多人力物力,利用SCM版本控制工具對二進位制檔案支援不好,尤其是大檔案,還有可能會對構建效率造成影響。可以看到上面幾種方式穩定性不能保證,而且需要額外的投入。
二、 Artifactory 用作檔案共享中心
那麼,Artifactory 如何解決這個問題:
首先,雖然Artifactory被當做管理全語言二進位制檔案的製品倉庫。Artifactory通常被整合到構建流程中,這樣構建工件可以方便的部署到不同環境或者用於後續Docker映象和亞馬遜系統映象的構建。
然而, Artifactory 首先是一個支援後設資料的檔案管理系統,可以管理任何型別檔案以及相關資料,利用其可以在叢集之間同步複製的功能,也可以被用作跨資料中心分發不同型別檔案的通用平臺。
架構圖
只允許在指定的一個Artifactory叢集上傳,然後同步到其它生產環境。例如: IDC1,IDC2,AWS這幾個環境不允許手動上傳,只允許從Corp環境同步,確保資料的來源只有一個,保證資料的一致性。
搭建步驟
對於Artifactory使用者來說,只需要建立相應對的共享倉庫,然後開啟同步功能即可,不需要增加額外的投入。而且同步功能對網路要求不高。
開啟Artifactory的同步功能:
上傳下載檔案
例如, 將sharefile.tgz上傳到my-local-repo倉庫
命令列方式:
jfrog rt u sharefile.tgz my-local-repo
REST API
方式:
curl -H "X-JFrog-Art-Api: ${API_KEY}" -X PUT "${artURL}/ my-local-repo/sharefile.tgz " -T sharefile.tgz
下載
sharefile.tgz
檔案
命令列方式:
jfrog rt dl my-local-repo/sharefile.tgz
REST API 方式:
curl -H "X-JFrog-Art-Api: ${API_KEY}" -X GET "${artURL}/my-local-repo/ sharefile.tgz " -o sharefile.tgz
這樣即可進行檔案的上傳和下載,一旦上傳成功,會自動觸發同步機制,推送到遠端的
Artifactory Server
或者公有云的
Artifactory Server
。
三、 收益
l 使用Artifactory的好處
Ø Artifactory 已經是CI/CD流程的一部分,可以方便的整合
Ø 對於跨資料中心的檔案分發只需要開啟同步功能
Ø 對網路要求不高
Ø 具備友好的介面供使用者使用
Ø 支援REST API方式上傳和下載檔案,方便實現自動化
Ø 統一多資料中心的檔案來源,確保檔案一致
l 使用Artifactory可以解決的問題
Ø 管理第三方工具和包
- 可以指定特殊版本
- 解決網路訪問受限的情況
Ø 作為DevOps流程中配置檔案和資原始檔管理的中心
Ø 儲存不適合在程式碼版本控制系統中管理的檔案
- 大檔案
- 二進位制檔案
Ø 儲存資料庫備份和應用目錄的快照
- 可以作為災備系統的一部分
更多精彩內容可以專注我們的線上課堂
微信搜尋公眾號:jfrogchina 獲取課程通知
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2682312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringBoot專案使用Nacos作為配置中心Spring Boot
- spark叢集的配置檔案Spark
- 使用Samba共享檔案Samba
- CapitalOne - Artifactory高可用叢集的自動化部署實踐API
- Captial One如何實現Artifactory HA叢集的自動化維護APT
- Oracle叢集檔案系統(OCFS2)使用者指南(zt)Oracle
- 快速實現 Tomcat 叢集 Session 共享TomcatSession
- nacos 作為配置中心使用心得--配置使用
- SpringCloud之使用Zookeeper作為註冊中心SpringGCCloud
- springboot工程dubbo使用nacos作為配置中心Spring Boot
- Dubbo使用Apollo作為配置中心實戰
- CIFS檔案共享
- Spring Cloud Alibaba:Nacos 作為註冊中心和配置中心使用SpringCloud
- win10系統開啟共享檔案提示“因為檔案共享不安全,所以你不能連線到檔案共享”怎麼辦Win10
- 將Standard標準叢集修改為Flex叢集Flex
- 為Kubernetes叢集新增使用者認證
- 為什麼Redis叢集要使用反向代理?Redis
- Spring Cloud:使用Eureka叢集搭建高可用服務註冊中心SpringCloud
- ASM叢集檔案系統ACFS(ASM Cluster File System)ASM
- Oracle叢集技術 | OLR與套接字檔案(二)Oracle
- Dubbo使用nacos作為註冊中心原理剖析
- 使用 Consul 作為 Python 微服務的配置中心Python微服務
- SpringSession+Redis實現叢集會話共享SpringGseSessionRedis會話
- Dubbo與SpringCloud Alibaba使用Nacos作為配置中心和註冊中心SpringGCCloud
- SpringBoot使用Nacos作為配置中心服務和服務註冊中心Spring Boot
- 教你如何在CentOS上使用Samba共享檔案CentOSSamba
- nacos作為配置中心
- 檔案共享服務
- Mac檔案共享工具Mac
- Windows檔案共享LinuxWindowsLinux
- 基於Hadoop不同版本搭建hive叢集(附配置檔案)HadoopHive
- Oracle 叢集的自啟動,OLR與套接字檔案Oracle
- 如何實現檔案共享,檔案共享的設定方法-鐳速
- Spring Cloud 部署時如何使用 Kubernetes 作為註冊中心和配置中心SpringCloud
- 使用nacos作為配置中心統一管理配置
- 初探Nacos(四)-- SpringBoot下使用Nacos作為配置中心Spring Boot
- springcloud使用eureka叢集SpringGCCloud
- Nacos配置中心叢集原理及原始碼分析原始碼