首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET核心-正确停止Kestrel

.NET核心-正确停止Kestrel
EN

Stack Overflow用户
提问于 2020-03-03 17:36:58
回答 1查看 426关注 0票数 0

在社区,我想温和地停止Kestrel和一个正在运行的.Net核心应用程序,使它完成现有的查询,防止它处理新的查询,当所有现有的查询完成时-停止应用程序和Kestrel。

我需要它在Kubernetes中设置CI/CD,在Kubernetes中,我有到Kestrel的平衡器路由,没有nginx,以实现零停机,同时部署新的应用程序版本。

如果有类似于` `nginx -s quit的东西就太好了

有人能在Kubernetes中提出解决方案或分享如何用dotnetcore组织零宕机的知识吗?

我试着用谷歌搜索解决方案--对我不起作用。杀死进程不是一个好的选择。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-03-04 01:08:58

解决方案1:

您可以使用nginx作为revrese代理服务器。这是.NET核心托管的建议策略。https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1

解决方案2:

是不正确的。把它留在这里,让其他人不要走这条路。请阅读下面@David的评论。

你得自己试一试。这是非常危险的。你可能会把自己锁在外面。

.UseKestrel(选项=> { options.Limits.MaxConcurrentConnections = 0;})

如果您能将KestrelServerLimits MaxConcurrentConnections配置为0,则应该能够停止所有流量。我不知道如何在运行时配置这些限制。但看到这一点的实现将会很有趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60504163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档