- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有关服务结构的大多数示例表明,部署后,集群端点会神奇地出现,就像服务 list eg: <cluster-url>:port/api/home
中给出的那样。
论坛上的一些人提到调整负载平衡器以允许访问端口。
为什么会有不同的意见?哪种方式是正确的?当我尝试时,我永远无法访问 azure 集群中部署的 api/端点(负载均衡器是否已调整)。不过 OneBox 确实有效。
最佳答案
大多数人在构建 SF 应用程序时忘记的主要细节是,他们正在构建分布式应用程序,当您在集群中部署一个服务时,您需要一种方法来找到它,并且在某些情况下它可以在集群中移动,因此解决方案必须能够反射(reflect)这些分布。
它在本地工作,因为您有一个端点(localhost(127.0.0.1)>服务),并且您总能在那里找到您的应用程序。
在 SF 上,您访问的域将映射到负载均衡器,该负载均衡器将映射到一组计算机,其中一台计算机可能会在其上运行您的应用程序(域 > LB IP > 节点 > 服务)。
您需要了解的第一件事是:
你的服务可能不会在负载均衡器后面的所有节点(机器)上运行,当负载均衡器向该节点发送请求时,如果失败,LB不会在另一个节点上重试,而是转发这些请求向随机节点发出请求,并且在大多数情况下,它会将打开的连接保持到同一台机器。如果您需要在所有节点上运行服务,请将实例计数设置为 -1,您只需打开 LB 上的端口就可以看到它正在工作。
每个 NodeType 前面都有一个负载均衡器,因此,请始终对服务设置放置约束,以避免它在未外部公开的其他 NodeType 上启动
您的应用程序打开的每个端口都是在节点上打开的,如果您需要外部访问,则必须在 LoadBalancer 中手动打开,或者通过脚本打开,SF 分配给您的服务的端口意味着SF内部进行管理,避免同一节点上运行的服务之间发生端口冲突,SF不会开放LB中的端口供外部访问。
公开这些服务的方法有很多,您也可以尝试:
关于azure - 是否需要调整服务结构负载均衡器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52155210/
我是一名优秀的程序员,十分优秀!