很多人對 WordPress 企業級應用有一種誤解,認為也是和主題外掛一樣,只需要簡單安裝就可以正常使用。實際上企業級應用是一種軟體架構,需要結合軟硬體情況進行調整、搭配、組合才能正常使用。

如何判斷 WordPress 程式的架構形式有個簡單的依據——看實際的應用情況,也就是如果某個網站有相關聯的三個或三個以上類似結構的站點,那麼就可以基本判斷是哪種方式實現。我們把普通到複雜的的情況通過簡單的 1~10 分進行排序,下面進行說明:

1 、基礎架構:1~5 分

個人部落格、企業站點、單品商店,這些只需要獨立單個 WordPress 安裝就可以實現的網站,基本上沒太多難度,會讓系統變得複雜且發展不可控的情況是取決於內部使用的 WordPress 主題、外掛,由於主題一旦選定基本上就不會怎麼變化。

隨著外掛的增加和網站資料 (文章、使用者、訂單、產品、評論) 的增多,資料庫會逐步膨脹,而且大量零碎的外掛會產生未知的安全風險,其他方面就無需在意,有的使用者在使用一段時間後發現網站前後臺開啟的越來越慢,其實就是這些因素導致的。

當你的 WordPress 網站程式可以產生效益,並且對你或你的企業組織來說變成了一塊必不可缺的陣地,那麼其實也可以算作是一款企業級應用,只不過是相對於你們自己的。

2 、站群架構:3~7 分

多站點、多網路、多營銷、多域名、多使用者、多行業、多城市……這些經過改良優化的站群版本並非 WordPress 的分叉,也並未對其核心檔案做任何更改,這是我們在開發之初就恪守的理念,原因很簡單,更改任何一個 WordPress 程式本身的內部檔案都將多一份技術債務,而且 WordPress 每年都至少會有三五個新版本釋出,沒必要也無需改動。

站群架構的優勢在於可以通過量變去衝擊某些無法簡單通過努力來實現的效果,同一個人同樣的努力,在你這裡可以實現倍增和量產,1:10 、 1:100 甚至更多,用的越多成本卻越低了,維護也並沒麻煩多少,這些都是企業級應用的特點。

WordPress 站群架構方面的資訊在過去講過很多,下面主要是介紹下 SaaS 平臺和多租戶、分散式叢集這些。

3 、 SaaS 架構:8~10 分

想要拿 WordPress 做 SaaS 平臺還是需要有覺悟的,因為實在是太燒錢了,不只是前期投入,而是在每一個階段和步驟都需要投入大量的人力物力才能進行正常的運營。

WordPress SaaS 平臺可以通過多種方式實現,這裡我們只是講兩個:

基於 WordPress 多使用者站群,顧名思義就是將你自己的 WordPress 站群子站開放給普通使用者註冊使用,而你可以通過每個註冊使用者進行收費,並且對你來說只是多開了一個子站和一個賬號而已。你可以限制或開放這些使用者的許可權,資源管控等等。

這是易用和成本相對較低,可用性有保障的方式,目前最實際的例子就是我們的首款 WordPress SaaS 平臺——文派部落格 (wpboke.com) 就是基於此種架構進行開發構建。

基於 WordPress 多租戶架構,多租戶應用程式是一種架構概念,其中一個軟體的單個例項被配置為服務多個客戶端,通常稱為租戶。在多租戶 WordPress 環境中,每個租戶將共享相同的核心配置、主題、外掛等,同時將其資料和上傳作為單獨的實體儲存。

WordPress 多租戶可以為任何人提供使用一組核心配置架構來實現執行少量或數百個單獨 WordPress 安裝的能力,使其維護和更新變得容易。

當然除了上面兩種方式外,還有第三種方式,直接將 WordPress 站群和多租戶架構組合起來使用,這樣可以避免某些使用者有特殊需求的情況可以為他們提供更高階的定製方案,而且同樣可以統一管理,還不會對其他的使用者使用產生干擾。

只是簡單提一下,這種混合方式複雜度和成本較高,暫時無法進行商業化對外提供服務,只有降低了技術成本而且可以標準化的部署後才能進行大規模的商用,我們仍在朝著這個方向前進。

4 、叢集架構:10~ ?分

WordPress 多叢集的分散式部署方案是有的,只是一般使用者用不上,就連很多企業客戶也不會需要,原因就在於這種操作會讓你的成本進行爆發式增長,仔細閱讀這句話,說的是 【成本】 而非 【收益】,除非你已經確信自己的 SaaS 平臺或企業專案馬上要面臨一波爆發式的增長和使用者流量那麼才會需要做 WordPress 分散式叢集架構改建。

叢集其實好理解,就是把你的 WordPress 程式做成蜘蛛網式的架構,每個蜘蛛網 🕸 相互動聯的地方都是一個程式節點,資料庫、程式資源、 CDN 靜態檔案等等這些都存放在每個節點裡,使用者在訪問你網站的時候,他們可以按照就近原則以最快的速度訪問離你網站最近的節點。

而且在發生意外情況,比如蜘蛛網破損,大規模節點癱瘓無法使用,程式可以自動切換啟用到主要或次要的備用節點,以保障程式的正常執行和網路服務不被中斷。

高效能、高穩定性、高易用度也就意味著高開支成本和高技術能力。上面說的這些專案單站、站群、 SaaS 平臺、多租戶這些和分散式叢集都可以搭配混合使用,還是有很多想象空間的。

目前國內 WordPress 企業級應用專案做的比較前沿、捨得投入大量精力開發,同時能夠對外提供商業服務的也就只是菲比斯公司一家。相信在不久後我們也可以有更多的解決方案,在此之前能做的也就是耐心等待。