如果这是一个基本问题,请原谅。但是,我已经阅读了这些文档,但不太清楚,并试图了解SLB url如何在该区域部署多个应用程序时将请求发送到正确的应用程序。
问题:
假设我有一个部署在Cloudhub上并运行在198.138.37:8082 (工人IP地址)上的应用程序。我的客户正在使用SLB url说"https://myapp.us-e2.cloudhub.io/api/healthCheck“来向我的应用程序提出请求。我们看到SLB url DNS在打电话时被转换成IP地址。
问题是SLB url IP地址是负载均衡器IP地址,而不是应用程序IP地址。那么,如何将请求路由到正确的应用程序呢?在场景后面,从SLB到正确应用程序的路由是如何发生的(如果在该区域部署了多个应用程序)?
提前感谢
编辑:
我知道互联网上的每一次通信都会以IP结束。
但问题是
假设我有两个应用程序"myapp1“和"myapp2”部署在8082端口的美国东部地区(美国-e2.Cloudhub.io)。如果我对两个应用程序(而不是mule)进行nslookup,两者都会给出相同的IP地址集,即共享的LB IP地址。现在,当我使用"myapp1“调用"https://myapp1.us-e2.cloudhub.io/api/healthCheck"”时,它在后台被转换为我们在进行nslookup时得到的IP地址之一(如果我错了请纠正我)。一旦它转换为IP ( "myapp1“和”myapp2“都是相同的),SLB如何知道/路由请求以更正应用程序"myapp1"?
发布于 2022-11-09 20:24:24
在实践中,Internet或任何其他TCP/IP网络中的每一个通信都将以IP层结束。
共享负载均衡器将请求从原始DNS名称转发到辅助DNS名称,并根据协议映射端口。工作人员的DNS名称解析为工作人员的IP。
应用程序不共享相同的IP,正如您所说的,所有URL都有一个IP负载均衡器。但是,应用程序没有部署到负载均衡器中。每个应用程序都部署到自己的工作人员中,这些工作人员拥有唯一的IP。这是任何负载均衡器的工作方式,在CloudHub中没有什么特别之处。
我怀疑你是担心请求被指向错误的应用程序。这种情况发生的可能性很小。
示例:对https://myapp1.us-e2.cloudhub.io/api/healthCheck的请求转到共享负载均衡器,该均衡器使用应用程序名称:https://mule-worker-myapp1.us-e2.cloudhub.io:8081/api/healthCheck将其转发给辅助DNS名称。
如果您仍然关心,请使用专用负载均衡器或CloudHub 2.0专用空间。
https://stackoverflow.com/questions/74380168
复制相似问题