两个 docker 节点 运行 .NET 服务,相互通信

Two docker nodes running .NET Services, talking to each other

我的问题是关于 .NET World 中关于容器的应用程序架构。

我去了当地的 .NET Development Meetup,那里的人展示了如何重新构建我们的应用程序以将所有组件放入单独的容器中。我喜欢这个想法,回家后才意识到沟通部分是如何发挥作用的。

这是他涂鸦的东西。每个气泡代表一个容器。

现在是百万美元的问题。我的应用程序是一个 ASP.NET MVC Web App,业务逻辑和数据访问层是应用程序引用的 DLL。然后在每个依赖层上创建一个 REST 端点;我看不出有其他方法可以将我的 DLL 运行 放在单独的容器中并跨容器行引用。 .NET 是否提供了 way/framework 来轻松完成此操作?

你是对的,你必须构建一个小的 REST-Api 或 RPC 来在你的组件之间进行通信。

但我认为您会细化容器。 将 App 视为您的前端层,所以只有 HTMl/JS/CSS 东西,您的业务层是一个标准的 CRUD rest api,最后您将数据库放在一个容器中。

有了MVC那么你只需要一个App+BL容器和数据库容器。 如果你想在自己的容器中的几个微服务中分解你的业务逻辑,或者更多。

但是很少有设置需要容器,您应该做一些研究以查看您的解决方案是否需要使用容器。容器最适合的用途是分隔应用程序,以便多个应用程序可以共享一个服务器,而不会在系统级别上产生干扰。