NodeJS 节点和TCP连接

w1jd8yoj  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(148)

我正在通过一个场景拍摄一个节点服务器,其中有太多的ESTABLISHED连接,即使没有活动的请求。这来自测试环境,但在PROD上发现了相同的行为。
这是测试计算机的每个IP上已建立的连接数:

572 127.0.0.1
 48 172.18.0.23
 48 172.18.0.16
 47 172.18.0.18
 47 172.18.0.15
 46 172.18.0.24
 46 172.18.0.20
 31 0.0.0.0
 26 
  2 172.31.45.51

在localhost上,已建立的连接看起来像这样:

tcp        0      0 localhost:59596         localhost:8051          ESTABLISHED hyperledger 478386467  3632665/node /opt/h 
tcp        0      0 localhost:44164         localhost:2379          ESTABLISHED etcd       459192509  529/etcd            
tcp        0      0 localhost:9050          localhost:48376         ESTABLISHED root       478391433  1653221/docker-prox 
tcp        0      0 localhost:8050          localhost:55040         ESTABLISHED root       478390603  1652718/docker-prox 
tcp        0      0 localhost:39050         localhost:8050          ESTABLISHED hyperledger 478550015  3632665/node /opt/h 
tcp        0      0 localhost:8051          localhost:60804         ESTABLISHED root       478579826  1652946/docker-prox 
tcp        0      0 localhost:7051          localhost:44068         ESTABLISHED root       478581029  3355251/docker-prox 
tcp        0      0 localhost:37922         localhost:9050          ESTABLISHED hyperledger 478382004  3632665/node /opt/h 
tcp        0      0 localhost:53382         localhost:8050          ESTABLISHED hyperledger 478537715  3632665/node /opt/h 
tcp        0      0 localhost:45914         localhost:7050          ESTABLISHED hyperledger 478384838  3632665/node /opt/h 
tcp        0      0 localhost:9051          localhost:36842         ESTABLISHED root       478388152  1653426/docker-prox 
tcp        0      0 localhost:56526         localhost:7050          ESTABLISHED hyperledger 478390799  3632665/node /opt/h 
tcp        0      0 localhost:53918         localhost:7051          ESTABLISHED hyperledger 478608229  3632665/node /opt/h 
tcp        0      0 localhost:8051          localhost:42296         ESTABLISHED root       478537891  1652946/docker-prox 
tcp        0      0 localhost:7050          localhost:56334         ESTABLISHED root       478390037  1652249/docker-prox

...
localhost连接一半由root用户发起,另一半由hyperledger用户发起,这是一个1集的例子:

tcp        0      0 localhost:7051          localhost:53946         ESTABLISHED root       478608259  3355251/docker-prox 
tcp        0      0 localhost:53946         localhost:7051          ESTABLISHED hyperledger 478609232  3632665/node /opt/h

localhost:53946 -> localhost:7051,这是连接到结构节点的节点服务器,并且localhost:7051 -> localhost:53946将是在连接回节点的容器上运行的结构节点。
就像我说的,即使没有电话也会发生这种情况。这是否意味着节点服务器没有关闭连接?我也不明白为什么有这么多的节点连接在不同的端口上运行。Node webserver在端口5000上设置为lisetn,但随后使用fabric SDK连接到docker上的fabric节点。这些连接看起来没有关闭,即使有一个“gateway.disconnect()”调用应该关闭它。
只有两个节点进程:

1716966 ?        Sl    17:15 node app/main.js name - hyperledger-explorer
3632665 ?        Ssl    7:11 node /opt/hyperledger/vm1/fabric/server/server.js

我想我在这里错过了一些核心概念,我不知道哪里错了。我想用节点应用程序的东西,但到目前为止找不到任何东西,我不太得到netstat信息。

pprl5pva

pprl5pva1#

这似乎是现在遗留节点SDK fabric-network的已知问题。对于Fabric 2.4v及以上版本,建议使用新的fabric-gateway sdk来改进资源管理。

相关问题