日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[SCM]源码管理 - perforce的集中授权+分布式团队+负载均衡+可扩展性+高可用性+灾难恢复...

發布時間:2023/12/20 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [SCM]源码管理 - perforce的集中授权+分布式团队+负载均衡+可扩展性+高可用性+灾难恢复... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

本文主要討論perforce的

* perforce集中授權

* perforce對分布式團隊的支持

* perforce的負載均衡?和可擴展性

* perforce高可用性和災難恢復

?

一 perforce集中集中授權

目前的情況是很多大的公司中,不同的部門有不同的p4server,就導致了公司內部多個p4server同時存在,作為p4server管理員就需要更多的精力來備份和恢復所有的server,管理所有的server的用戶和權限。通常的情況是一個用戶在多個p4server擁有賬戶,如果此用戶離開公司,或需要修改名字,則需要在多個p4server上進行刪除或修改。

最新2010.2以后的p4server提供了集中授權的機制,就是說可以使的多個p4server的用戶和權限的信息都統一存儲到一個p4server。從而大大減少了管理員的負擔。例如下面的例子:

p4d -In server2 -a central:1666 -p 1999

?

server2 使用集中的授權server central來進行用戶和權限的管理。server2將依賴于central server的user,group,protection,review和license信息。

除了集中的授權服務器,最新的p4server還支持對多個p4server的chagnelist集中于同一個server來管理,從而使得整個公司的changelist可以唯一標識,不會重復。

上面的集中的授權server和changelist server用來解決公司中存在多個p4server的一些問題。如果可以的話建議在公司使用唯一的p4server,從而避免很多重復的管理工作。下面來看看全公司只有一個p4server可能要面對的問題。

?

二 p4server的部署結構


對于每個p4server,在server端主要包含兩類數據:1)源代碼,我們稱為versioned files; 2)perforce的數據庫文件,例如包含user信息的db.users,包含change的db.changes等, 我們稱為metadata,也可以稱為database。

?

三 perforce對分布式團隊的支持

perforce能夠很好的支持跨國公司的分布式團隊的軟件開發。假如某跨國公司在美國,印度,中國,英國都有某個產品的開發和測試人員,且p4server(mainserver)是在美國,我們知道文件的遠距離傳輸是非常的慢的,如何能夠使印度,中國,英國的這些人員都能夠快速的訪問源代碼呢?perforce提供了proxy的機制來避免文件傳輸的問題。 只需要在印度,中國,英國建立與mianserver對應的proxy,然后當印度,中國,英國的開發人員第一次訪問proxy的時候,proxy會自動地將文件從mainserver拷貝到本地的proxy,而以后所有的本地的開發人員的訪問只是從本地的proxy來獲得文件,從而大大地提高了開發人員訪問代碼的速度。

?

proxy的建立實例:

p4p -p 1999 -t central:1666 -r /var/proxyroot

?

注意: proxy只是用來減少文件的傳輸,更好地支持分布式團隊的開發,所以proxy只是自動地將versioned files拷貝到proxy,metadata的訪問仍然需要訪問mainserver。

?

四 perforce的負載均衡和可擴展性

如果一個大公司只有一個p4server的話,我們不得不考慮server的負載均衡問題,如何能夠使得server能夠同時支持開發人員和后臺service的訪問而不當機。對于負載均衡通常的做法就是讀寫訪問的分離。 perforce擁有replicated server + broker來完成負載均衡。

replicated server是對mainserver的復制,復制的過程在后臺自動地完成。replicated server一般作為只讀的server來處理只讀操作。可以使用p4 pull或p4 replicate來創建replicate server。例如我們可以創建replicated server用來report或用來build,從而減少對mainserver的訪問。

但是要實現真正意義上的負載均衡,我們還需要使用perforce broker作為mainserver,proxy和replicated server的前端接口,當用戶訪問broker的時候,自動地將只讀的操作轉到replicated server,需要寫的操作轉到proxy或mianserver。

proxy和replicated server可以隨著用戶的增加擴展,很好地支持了可擴展性。但是貌似mainserver的擴展沒有任何支持。:)

?

注意: 一般的replicated server只是作為只讀的server來分擔只讀的操作來減少mainserver的負載。因為replicated server是自動地從mainserver同步而來,如果replicatedserver只是只讀的話不需要反向的同步,所以不需要對database的任何lock,也就不會有任何的性能問題。replicated server可以根據需要設置為只replicate database文件,或replicate database+versioned files。例如如果用作report作用的話只需要replicated database就可以了。

?

五 perforce高可用性和災難恢復

對于perforce我們可以進行備份恢復來避免日常的p4server的破壞。但是對于高可用性和災難的恢復,目前的perforce的支持還不是很直接和完美。 對于跨國公司的,如果在多個地方都設置有replicated server的話,當mainserver當機或mainserver在災難中被破壞的時候,用戶仍然可以訪問replicatedserver來進行讀操作,或者我們也可以快速地將replicated server啟動為mainserver來縮短當機的時間,達到一定程度的高可用性和災難恢復的作用。

?

我們可以考慮將更通用的數據庫的負載均衡,可擴展性,高可用性和災難恢復應用到perforce中。

?

完!


總結

以上是生活随笔為你收集整理的[SCM]源码管理 - perforce的集中授权+分布式团队+负载均衡+可扩展性+高可用性+灾难恢复...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。