想法是,在Application目錄下創(chuàng)建多個項目,其中一個項目(A)用于開啟Gateway進程,保存客戶端連接數(shù)據(jù)。用戶都連接到(A)這個項目上,發(fā)消息的時候用協(xié)議號,通過(A)向其他的項目發(fā)送數(shù)據(jù),其他項目返回數(shù)據(jù)給(A),(A)再返回給用戶。
請教如何配置(A)與其他項目的配置文件?
(A)只想部署Gateway進程,其他項目只想部署Worker進程
所有項目都是基于Gateway/Worker的框架。
可以看下http://www.wtbis.cn/gatewaydoc/gateway-worker-development/router.html,路由(一個回調函數(shù))可以根據(jù)請求類型把請求分發(fā)到不同的worker進程。完成你要的效果。路由的時候每個worker連接都有個數(shù)組下標,數(shù)組下標個是 ip:{$worker->name}:{$worker->id},可以根據(jù)worker->name判斷是哪種worker進程。
可以參考start_businessworker.php那樣新建start_businessworker_chat.php、start_businessworker_gift.php(要設置好businessworker->name,方便路由的時候識別),服務啟動的時候這些worker會自動啟動。
現(xiàn)在需求不是讓client_id與某個BusinessWorker。大致就是說,現(xiàn)在有多個項目,讓一個項目當網(wǎng)關進程,其他項目當業(yè)務進程。然后用戶只需要連網(wǎng)關進程,由網(wǎng)關進程去轉發(fā)消息。Gateway/Worker單項目是可以實現(xiàn),如果是多項目的話,需要怎么配置呢?