nginx与.net核心kestrel – 多个vs单个实例
我有4个.net核心Web应用程序运行(3'微'服务和一个网站)。 我正在尝试使用docker来决定部署策略。 据我所知,我的select如下:
- 共有4个容器 – 每个容器都有一个核心应用程序和一个nginx实例
- 共有8个容器–4个.net核心容器和4个nginx容器
- 共5个容器 – 4个.net核心容器和共享的nginx容器
一些注释:
- 随着时间的推移,还将增加更多的服务。
- 这个设置将在linux上运行
- 在将来,当站点负载变高时,我会想要做负载平衡,并在自己的(多个)服务器上运行这四个网站中的每一个。 我也想要启动每个服务的多个实例,因为它们是无状态的。
问题是 ; 是否有充分的理由使用单独的nginx实例或所有.net应用程序使用相同的nginx容器?
这两种方法都是有效的,但是单个nginx实例场景可能更加灵活,因为在这种情况下,您可以使用nginx作为服务的网关,例如SSL终止,身份validation等。 顺便说一下,如果你使用的是ASP.NET Core 2.0,你可以尝试在没有nginx的情况下公开你的服务,因为Kestrel在2.0中被认为是边缘就绪的
- 捕获404并redirect到wwwroot
- Identity Server 4和Docker
- Docker和networking核心应用程序不起作用
- Docker构build安装不必要的包,导致图像运行失败
- 如何检查在PS1中dotnet恢复是否正常?
- 当在.net-core中执行docker化的新进程时,在linux上没有指定输出文件的Ffmpeg错误
- 无论使用ITicketStore还是IDistributedCache,重新启动服务器时,身份validationCookie都会停止工作
- 在.NET Core上使用MongoDB Docker
- 如何在Linux Docker容器中从networking共享中恢复nuget包