Zan PHP Framework基于 PHP 協(xié)程的網(wǎng)絡服務框架
Zan PHP Framework 是有贊開源的基于 PHP 協(xié)程的網(wǎng)絡服務框架,提供最簡單的方式開發(fā)面向 C10K+ 的高并發(fā)SOA服務和RPC服務。
該項目每天為2,000+個服務提供300,000,000+次訪問量支持,廣泛應用于有贊各項業(yè)務。
核心特性
基于
yield實現(xiàn)了獨立堆棧的協(xié)程類似于 Golang 的并發(fā)編程模型實現(xiàn)
基于 zan 提供異步非阻塞I/O服務
連接池支持(內置 MySQL、Redis、syslog 等多種組件)
類似 Golang 的 defer 機制解決由于異常導致的資源未釋放、鎖未釋放的問題
可繼承的View布局及組件化支持,方便完成 bigPipe/bigRender/ 首屏加載優(yōu)化等不同的渲染方式
基于模型驅動的 SQLMap,實現(xiàn)了 SQL 的快速定位及方便的 sharding、cache 支持
提供類似于 Laravel 的 middleware(Filters & Terminators) 機制
Di及單元測試的良好支持
完整的RPC遠程服務調用方案
框架定位
ZanPHP 的定位是高并發(fā) Web 服務或業(yè)務中間件。
ZanPHP 參考了很多 Golang 特性,不過目的絕不是為了替換掉 Golang。
PHP 在業(yè)務系統(tǒng)開發(fā)上的優(yōu)勢明顯,而 Golang 相信會是將來系統(tǒng)編程的霸主。
ZanPHP 和 Golang 的邊界是:ZanPHP做業(yè)務系統(tǒng);Golang 做平臺系統(tǒng)(中間件或基礎服務組件)。
而 ZanPHP 和 Golang 編程模型的驅近,是希望能給PHP程序員一個更好的橋梁到Golang。
理想的技術棧是:ZanPHP + Go + 少量的C/C++。
當然對于致力于終身coding的碼農(nóng)來說:Java依然是很難跨過去的坎。
