gateway的startPort和registerAddress有什么区别。

liu

手册上写:
5、startPort
Gateway进程启动后会监听一个本机端口,用来给BusinessWorker提供链接服务,然后Gateway与BusinessWorker之间就通过这个连接通讯。这里设置的是Gateway监听本机端口的起始端口。比如启动了4个Gateway进程,startPort为2000,则每个Gateway进程分别启动的本地端口一般为2000、2001、2002、2003。
我的理解:startPort端口用来Gateway和BusinessWorker进行通信。

6、registerAddress,注册服务地址,只写格式类似于 '127.0.0.1:1236'
Gateway和BusinessWorker启动后会根据registerAddress设置的地址(Register服务地址)注册自己,
当start_gateway.php和start_businessworker.php中的registerAddress设置错误或者不一致时,
会导致Gateway和BusinessWorker无法通讯。

我的理解:registerAddress也是Gateway和BusinessWorker进行通信。

这有点看不懂啊。希望大神出来讲解下。

3361 1 0
1个回答

blogdaren

只能说从概念上看起到的都是同一个作用,但是本质职责是不同的:
1、startPort 只是界定了gateway的各个进程的内部监听端口,为businessworker提供必要的连接方向;
2、register主要是把gateway的各个进程的内部socket地址【lan_ip + lan_port】广播给所有的businessworker,当然前提是gateway和businessworker都需要在register这里登记【连接register】一下,这样两者才能真正的进行通讯。

最后反过来笨想一下:
如果一开始没有register中间这个桥梁,businessworker如何连接gateway内部socket地址,它根本就不知道对端的内部socket地址是啥对吧。

年代过于久远,无法发表回答
🔝