1.DolphinDB采用经典的订阅发布模式。每当有新的流数据写入时,发布方会通知所有的订阅方处理新的流数据。所以这个subport端口会监听发布节点的消息。
2.信息发布节点必须配置maxPubConnections参数>0,表示信息发布节点最多可连接多少订阅节点。
3.信息订阅节点必须配置subPort参数,设置了subport参数,这个节点才能发起订阅。如果有多个信息订阅节点,必须为每个订阅节点都配置不同的subPort。
4.可以节点上通过getStreamingStat函数来获取流数据发布和订阅相关信息:
getStreamingStat().pubTables //发布表 getStreamingStat().pubConns //发布链接情况 getStreamingStat().subWorkers //查询订阅状态 getStreamingStat().subConns //订阅链接数
5.如果发布和订阅在同一个节点上,推送是直接通过内存完成的,所以执行getStreamingStat().subConns不会看到订阅链接数。
6.如果发布和订阅不在同一个节点上,推送是用TCP完成的,此时执行getStreamingStat().subConns可以看到本节点的订阅链接数。
7.如果发布端和订阅端在不同的节点,订阅端要先向发布端发起subscribeTable的调用,这个时候发布端就可以知道订阅端的地址。
8.客户端通过api的方式进行订阅,也需要设置客户端的监听端口。