我看了下源碼, Gateway與business_worker間的通訊是通過實現(xiàn)GatewayProtocol協(xié)議的_innerXXXWorker來通訊的。business_worker進程間是并沒有提供通訊的接口, 但是我也有需求,希望通過新建一個worker來提供某些單點的服務, 那是否需要我自己實現(xiàn)類似于gateway與business的通訊方式來實現(xiàn)?有沒有其他方法?
為何不直接用gateway/worker這種模式呢?
新建一個worker來提供某些單點的服務,是否需要實現(xiàn)gateway與business的通訊方式
這個不一定,看實際需要。gateway與business的通訊方式比較容易實現(xiàn)分布式部署,可以在不關閉客戶端連接的情況下代碼熱更新等,沒有其他明顯的好處。
其實一般的業(yè)務基于Worker就ok的,不一定實現(xiàn)gateway與business。舉一個極端的例子,比如webserver,就沒必要實現(xiàn)gateway與business這種模型,直接就收數(shù)據(jù)處理然后返回關閉連接在一個進程里面一氣呵成,簡單高效