高並發的API介面選用什麼PHP架構合適?

來源:互聯網
上載者:User
現在使用的是kohana。

回複內容:

現在使用的是kohana。

yaf phalcon 都不錯,c寫的架構,效能上不錯

三種方案
1、大而全的架構
Yii laravel

2、輕路由架構
Lumen Slim

3、非同步架構
ReactPHP
https://github.com/reactphp/react

考慮你的業務情境,業務情境複雜就用1,需要快速實現靈活度高可以嘗試2、如果有大量IO操作的情境可以用3

沒有看到swoole的身影。實在忍不住出手。
要高並發,yaf實在是不合適。yar還稍微說的過去。
個人的建議是:
swoole + apache thrift

Yaf的其實本質上講,是個基礎架構,僅提供了一個簡單粗暴的基礎URI路由功能,完事了。
最關鍵是並發和多線程以及定時器等等,Yaf本身不能實現。
所以swoole這個時候,優勢突顯。swoole可以以deamon形式長期穩定的運行在server上,直接走socket,提供並發服務。
而整合了thrift後,就可以為各種其他端提供資料。比如app,web網頁(這個時候,可以用yaf當作前端讀取資料提供高效能),甚至為C,c++等端進行資料互動,非常方便。

可以考慮我寫的 Blink Framework https://github.com/bixuehujin/blink,其設計意圖便是用於構建高效能 API 服務。

Blink 是一個為構建 “long running” 服務而生的 Web 微型高效能架構,底層基於 Swoole 的 http server,效能有保障。

Blink 為構建 Web 應用程式提供簡潔優雅的API,可擴充性好,允許開發人員更加靈活自如的使用,提供了常見諸如路由、登陸認證、依賴注入、Tlog 等組件。

高並發本質和架構是無關的。。。架構只是封裝了一些組件,高並發還得看架構設計,非同步訊息佇列怎麼搞,緩衝怎麼搞,不能單單寄希望於架構,不然的話,最後你會發現加架構和不加架構會是一個效果。。

這和架構有多大關係?

用你最熟悉的架構就好
高並發主要關注兩點:
1,系統架構
2,商務邏輯 這個跟架構還算有點關係,不過關注點不在用什麼架構

系統架構
主要是考慮的負載, 網路請求支援,營運輕鬆搞定,商量好方案,慢慢加機器就好

商務邏輯
這塊做為開發人員,要知道業務本身壓力是在資料庫讀寫,檔案讀寫
可以根據情況做緩衝方案 和 非同步處理方案

在真正的高並發下,程式邏輯本身和單點都會是瓶頸,做好負載平衡解決方案,才是支援無限增長高並發的終極解決方案

高並發和架構無關吧

高並發的API效能取決於架構和緩衝以及資料庫!!!和架構沒任何關係!!!

PHP 架構, 本來解決的問題就是開發效率, 相比 JAVA, C/C++ 來說, PHP 的執行效率夠慢的, 架構還是一堆代碼構建於 PHP 之上, 所以追求極致效能的話, 不建議用 PHP 來做

一般瓶頸不在PHP,在IO。所以選什麼不重要。重要的是熟悉。出現問題,能快速修複

必須是鳥哥的yar

Yaf是鳥哥的成名作,要用架構又要追求高效能就用Yaf吧,據說百度內部用的也是Yaf的修改版.
Yaf最新版本是2015-09-06發布的2.3.5:
http://pecl.php.net/package/yaf
http://php.net/manual/zh/book.yaf.php

lumen.

Swoole

php7...

為什麼逗談架構

可以用yaf,推薦搭建hhvm或者php7 。

io密集型的高並發應該用epoll模型將並發調度到io層,然後就是進行db的設計了,理論上跟cgi關係不大了。如果你說的是CPU密集型的高並發請忽略我的回答

我要是說YII2會不會被打?

yaf 或者 lumen

公司目前用yaf

BulletPHP

一般高並發php充當的是中介層的角色,java做一些基礎架構會包掉大部分邏輯,所以其實php也就是從後端拿資料做這些資料的定製化給前端,並做一些鑒權處理,所以其實做的是介面封裝的事情所以可以選擇一些輕量高效的,如果考慮學習成本可以試著用類似於slim這種簡單的架構,如果團隊夠強直接上鳥哥的yaf,還有一種情境就是php即是子應用也是服務,也就是soa的服務部分不是java了而是用了世界上最好的程式設計語言php那麼他們之間的通訊就是一個大問題,好在鳥哥還有一款yar的好東西,所以據瞭解微博用的就是yaf,yar,我不是微博的所以多了也不知道了,不過選什麼根據自己的情境做個分析吧,不能拷貝其他公司的模式的

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.