swoole和rabbitmq的區別

swoole和rabbitmq的區別

rabbitmq是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。

RabbitMQ服務器是用erlang語言編寫的,而集群和故障轉移是構建在開放電信平臺框架上的。所有主要的編程語言均有與代理接口通訊的客戶端庫。? ? ? ? ? ? ? ? ? ?(推薦學習: swoole視頻教程

RabbitMQ是一套開源(MPL)的消息隊列服務軟件,是由 LShift 提供的一個 Advanced Message Queuing Protocol (AMQP) 的開源實現,由以高性能、健壯以及可伸縮性出名的 Erlang 寫成。

主要特性

可伸縮性:集群服務

消息持久化:從內存持久化消息到硬盤,再從硬盤加載到內存

swoole是一個php的C擴展,可用來開發PHP的高性能高并發TCP/udp Server。

Swoole的網絡IO部分基于epoll/kqueue事件循環,是全異步非阻塞的。 業務邏輯部分使用多進程同步阻塞方式來運行。這樣既保證了Server能夠應對高并發和大量TCP連接。又保證業務代碼仍然可以簡單的編寫。

Swoole1.6.2之后增加了異步支持,應用程序也可以像node.JS一樣寫異步回調。

Swoole與node.js相比更強大,支持同步/異步、多進程并行,Swoole提供了進程生命周期管理、內存保護機制,開發者無需考慮底層細節,專注于業務邏輯和功能的開發。

Swoole底層內置了異步非阻塞、線程的網絡IO服務器。PHP程序員僅需處理事件回調即可,無需關心底層。與nginx/tornado/Node.js等全異步的框架不同,Swoole既支持全異步,也支持同步。

Swoole從2.0版本開始支持了內置協程,可以使用完全同步的代碼實現異步程序。PHP代碼無需額外增加任何關鍵詞,底層自動進行協程調度,實現異步。

Swoole是開源免費的自由軟件,授權協議是Apache2.0。企業和開發者均可免費使用Swoole的代碼,并且在Swoole之上所作的修改無需開源。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享