Azure Service Fabric 与 Docker 数据中心

Azure Service Fabric vs Docker Data Center

我浏览了这个博客,但它并没有完全解答我的疑问。 我有 Docker 本地数据中心,我想将 Azure SF 推入其中。但我觉得 DDC 正在做与 Service Fabric 完全相同的事情。 我的想法很少。

它不提供的少数项目:

谁能告诉我什么时候应该使用 DDC 不提供的 SF。

如果您的应用程序环境由容器组成并且无意更改它,那么您应该坚持使用 DDC。

Service Fabric (ASF) 提供的功能远不止对容器的支持。事实上,在早期它甚至不支持容器。

AFS 的重点是提供一个平台,用于使用无状态服务、有状态服务和参与者构建基于微服务的应用程序。

DDC不提供的东西:

有状态服务:有状态服务的好处是数据位于代码所在的位置,因此不再像 NoSQL 或关系数据库那样单独存储数据。一个很大的好处是减少了延迟。因此换句话说,如果您在连接到包含 MySQL 服务器的容器的容器中有一个前端 运行ning,您可以使用无状态和有状态服务的混合来替换它。

Actor 模型: Actor 模式是一种用于并发或分布式系统的计算模型,其中大量的这些 actor 可以同时且彼此独立地执行。

在某些情况下,ASF 中容器的使用是暂时的,用于提升和转移现有软件并将其与 ASF 自己的服务模型相结合。在后期阶段,容器可以被 ASF 服务取代。

official docs 确实列出了一些场景,例如何时在 ASF 上 运行 容器:

IIS lift and shift: If you have existing ASP.NET MVC apps that you want to continue to use, put them in a container instead of migrating them to ASP.NET Core. These ASP.NET MVC apps depend on Internet Information Services (IIS). You can package these applications into container images from the precreated IIS image and deploy them with Service Fabric. See Container Images on Windows Server for information about Windows containers.

Mix containers and Service Fabric microservices: Use an existing container image for part of your application. For example, you might use the NGINX container for the web front end of your application and stateful services for the more intensive back-end computation.

Reduce impact of "noisy neighbors" services: You can use the resource governance ability of containers to restrict the resources that a service uses on a host. If services might consume many resources and affect the performance of others (such as a long-running, query-like operation), consider putting these services into containers that have resource governance.

顺便说一句,在你提到的问答中,微软产品的事实被认为是一个可能的缺点。它可能对某些人来说仍然是,但微软已经宣布它将 open source ASF。