项目中不同的 API_ENDPOINT 对应的ip地址不一样,是不是就会发起5个tcp连接(假如有5个api服务)

请教一下,一个四元组<源Ip、源port、目的Ip、目的port>来标识一个tcp连接,对于项目中,不同的api endpoint都是不一样的,我们项目中用了5个endpoint,那也就是说在发送api请求的时候,每个不同的api都会发起一个tcp连接是吧。比如

下面这5个接口请求,是不是会发起5个tcp连接呀?

GET /api/LAPETUS_ENDPOINT/repayments

GET /api/THESEUS_ENDPOINT/a

GET /api/URANUS_ENDPOINT/b

GET /api/THESEUS_ENDPOINT/c

GET /api/AEOLIPILE_ENDPOINT/d

{
"LAPETUS_ENDPOINT": "http://192.168.55.33:18091",
"THESEUS_ENDPOINT": "http://192.168.45.73:8021",
"URANUS_ENDPOINT": "http://192.168.0.23:18081",
"AEOLIPILE_ENDPOINT": "http://192.168.7.89:8061",
}

其实我想问的是,HTTP/2中多路复用的问题,有的资料说是复用的一个tcp长连接,但是从协议栈的角度看的话,不同endpoint对应的ip地址和端口号都不一样,怎么复用一个长连接啊,即使http/2通过流来发送数据,但是目标主机地址都不一样,那不是应该新建tcp连接将数据发送到目标主机(ip)上去么?搞不懂...

阅读 2k
1 个回答

显然多路复用的前提是相同四元组呐...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进