隨着網站訪問流量的不斷增長,大多的網絡服務都是以負載均衡集羣的方式對外提供服務,隨之集羣規模的擴大,原來基於單機的服務器管理模式已經不可以知足咱們的需求,新的需求必須可以集中式的、分組的、批量的、自動化的對服務器進行管理,可以批量化的執行計劃任務。
在分佈式服務器管理系統軟件中有一些比較優秀的軟件,其中比較理想的一個是Cfengine。它能夠對服務器進行分組,不一樣的分組能夠分別定製系統配置文件、計劃任務等配置。
它是基於C/S 結構的,全部的服務器配置和管理腳本程序都保存在Cfengine Server上,而被管理的服務器運行着 Cfengine Client程序,Cfengine Client經過SSL加密的鏈接按期的向服務器端發送請求以獲取最新的配置文件和管理命令、腳本程序、補丁安裝等任務。
有了Cfengine 這種集中式的服務器管理工具,咱們就能夠高效的實現大規模的服務器集羣管理,被管理服務器和 Cfengine Server能夠分佈在任何位置,只要網絡能夠連通就能實現快速自動化的管理。
代碼分發系統
隨着網站訪問流量的不斷增長,大多的網絡服務都是以負載均衡集羣的方式對外提供服務,隨之集羣規模的擴大,爲了知足集羣環境下程序代碼的批量分發和更新,咱們還須要一個程序代碼發佈系統。
這個發佈系統能夠幫咱們實現下面的目標:
1) 生產環境的服務器以虛擬主機方式提供服務,不須要開發人員介入維護和直接操做,提供發佈系統能夠實現不須要登錄服務器就能把程序分發到目標服務器。
2) 咱們要實現內部開發、內部測試、生產環境測試、生產環境發佈的4個開發階段的管理,發佈系統能夠介入各個階段的代碼發佈。
3) 咱們須要實現源代碼管理和版本控制,SVN能夠實現該需求。
這裏面能夠使用經常使用的工具Rsync,經過開發相應的腳本工具實現服務器集羣間代碼同步分發。