php能做分佈式嗎

(*-*)浩
發布: 2023-02-27 11:34:01
原創
6082 人瀏覽過

分散式系統(distributed system)是建立在網路之上的軟體系統。正是因為軟體的特性,所以分散式系統具有高度的內聚性和透明性。因此,網路和分散式系統之間的差異更多的在於高層軟體(特別是作業系統),而不是硬體。

php能做分佈式嗎

Swoole 分散式通訊框架SwooleDistributed

SD框架全名為SwooleDistributed,從名稱上看一個是Swoole一個是Distributed,他是基於Swoole擴充的可以分散式部署的應用程式伺服器框架。 (推薦學習:PHP視訊教學

 借助於PHP的高效開發環境,Swoole的高效能非同步網路通訊引擎,以及其他高可用的擴充功能和工具,SD框架提供給廣大開發者一個穩定的高效的而且功能強大的應用伺服器框架。

我們這裡列舉下SD提供的各種各樣的功能以及模組元件

混合協定,SD框架支援長連線協定TCP ,WebSocket,短連線協定HTTP,以及UDP。透過配置開放不同的連接埠開發者可以輕鬆管理不同的協議,並且可以共用一套業務代碼,當然你可以透過智慧路由進行程式碼的隔離。

 長連接可以配置不同的資料傳輸協議,例如二進位協議文字協定等等,透過框架提供的封裝器解包器介面可以自訂各種各種的協定封裝,並且各種協定之間可以自動轉換,例如你透過廣播發送一個訊息,該訊息流向不同客戶端,客戶端間採用不同協議,那麼框架會根據不同的連接埠自動轉換不同的協議封裝。你也可以透過Http傳送給所有長連線客戶端推播訊息,類似這種混合協定協作的業務在SD框架上會異常簡單。

MVC以及智慧路由,框架的設計是MVC架構,其中每個層級都可以繼續分割子層級,開發者可以將Controller繼續分層透過不同資料夾進行管理,也可以將Model進行細分,劃分為業務層和資料層,這都看開發者本身的系統設計。智慧路由將處理解包器解包後的數據,負責將這些數據傳遞到Controller層。

中間件,SD框架也提供了中間件,中間件可以對流入的數據進行處理,例如清理異常數據,修改數據,流量統計,蒐集日誌等功能。中間件可以設定多個,他們和連接埠進行綁定。

物件池,SD框架內大多數的物件都使用了物件池技術,物件池技術有利於系統記憶體的穩定,減少GC的次數,提高系統的運作效率,事實證明物件池對系統穩定做出了極大的貢獻,開發者也可以使用這套物件池技術,增加對物件的複用,減少GC和NEW的頻率,對系統毛刺現象和記憶體洩漏方面都有很大的穩定性提升。

非同步客戶端以及連線池,Mysql,Redis,Http客戶端,Tcp客戶端,等等其他更為複雜的客戶端,在SD框架中均為非同步的模式,非同步解決了系統整體的並發能力,但非同步客戶端需要提供連接池維持,SD框架提供了連接池,開發者不需要自己管理連接池,只需要使用即可。

協程,非同步事件回呼解決的是並發效能,但造成的是業務程式碼的混亂。 SD框架提供了協程解決了這個問題,透過yield關鍵字提供對非同步的同步寫法,消除了業務書寫上的大量回調嵌套,你可以透過yield 同步的寫法實現異步的效能。協程提供了一整套完整的體系,包括超時,異常,休眠,多路選擇,以及創建用戶協程等等功能。

定時任務,顧名思義定時執行的任務。

任務投遞,支援將耗時任務投遞到Task進程。

自動Reload,可以開啟框架的自動Reload功能,這樣程式碼修改會被立即回應。

以上是php能做分佈式嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!