azure - 从负载平衡中排除 Azure AppService 实例
问题描述
有没有办法从负载均衡器中排除 AppService 实例:
- 通过门户?
- 通过 SDK?
通过 SDK 是理想的,然后我们可以在所有初始化完成后设置 MakeVisibleToLoadBalance 标志(如果存在这样的东西)。
如果它只能通过门户获得,最好在实例加载后 n 秒内设置它对负载均衡器可见。
原因: 当我们重新启动一个实例(例如通过高级重新启动)时,指标每次都显示响应时间显着增加。我相信原因是负载均衡器认为机器可用但它确实没有完成初始化,因此负载均衡器发送到该实例的请求被显着延迟。
另一个原因是我们可能会观察到一个实例表现不佳,如果我们可以排除该实例直到它恢复或重新启动,那就太好了。
解决方案
//根据“评论”中与wallismark的讨论。复制有用的评论以回答。
要解决您上面提到的“原因”/场景,您可以利用 ApplicationInitialization 方法。每次您的应用程序启动时,这可能是因为新的工作人员上线(水平扩展),甚至只是由新部署、配置更改等引起的冷启动。 ApplicationInitialization 将在接受请求之前执行以预热站点那个工人。
因此,应用程序初始化模块,方便的功能允许您在应用程序接收请求之前预热您的应用程序,以帮助避免应用程序重新启动时冷启动或缓慢的初始加载时间。请结帐 - https://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/ - 它也已在所有其他操作中实施预配了新的工作人员(例如自动缩放、手动缩放或 Azure 结构维护)。但是,您不能从负载均衡器中排除该实例。
推荐阅读
- sql - 格式化引入 Azure SQL 数据库的数据
- kubernetes - 哪个 apiVersion 与 k8s 作业和 imagePullSecret 一起使用
- python - 使用 Pandas 绘制和处理日期/时间数据
- flutter - 在 ListView.builder() 中选中/取消选中 ListTiles - Flutter
- javascript - 是否可以在 for 循环中遍历长度属性的条件语句?
- java - 用于获取带有连接表的实体的 Spring Data JPA 方法
- javascript - 如何使用 app.locals。javascript中的参数?
- eigen - Eigen3张量切片而不复制数据
- java - 来自 JSP 内的 servlet 编辑的变量
- lambda - AttributeValue java流上的summingDouble