【swoole】結合swoole 和 nsq 的實際應用

集合 swoole 的框架設計

爲了減小理解度,我儘可能的從源頭開始引入php

1. nsq

案例中是使用 swoole 結合一個php 框架實現的是 NSQ 訂閱功能。web

啓動命令:bash

sudo bash /www/webserver/bin/swoole.sh start nsq adminexport

解釋上面一個指令,使用 bash 執行一個項目中的腳本。swoole

start 對應啓動命令
nsq : 表明對應使用NSQ 服務
adminexport : 對應的是NSQ 的topic框架

腳本的本質,經過框架的入口文件,根據傳參,進入到的不一樣的消息中間件,及對應的服務函數

 

 

 php 訂閱

AdminexportService 繼承封裝好的 SwooleService。 在init方法中,初始化 swoole服務。而且註冊回調函數。工具

 

 AdminexportService 在重寫的 swooleWorkerStart 回調函數中,實現了NSQ 的訂閱功能學習

 

 NSQ 消息的處理設計

 

 

  1. 簡單封裝了重複消息的判斷
  2. requeue 沒有消費消息的從新投遞

3. 引入 swoole

就是構造方法引入 swoole 的實例化
同時,重寫 workerStart 的方法。3d

因此當執行腳本的時候,也就是啓動了 對應的swoole 服務。啓動了訂閱者的客戶端。
不斷的消費來自nsq topic 的消息

看吧,swoole 其實也很簡單。 把它當作一個工具類,拿來用就能夠了。 在實現的時候引入它,經過 WorkerStart 處理分發的消息便可。

固然更好的是使用協程。
另外吹一波,協程就是厲害

以上是文章所有內容,有須要學習交流的友人請加入交流羣的我們一塊兒,有問題一塊兒交流,一塊兒進步!前提是你是學技術的。感謝閱讀!

點此加入該羣

相關文章
相關標籤/搜索