简体   繁体   English

Azure Service Fabric 与 Docker 数据中心

[英]Azure Service Fabric vs Docker Data Center

I went over this blog Azure SF vs Docker but it didn't answer my doubts completely.我浏览了Azure SF vs Docker这个博客,但它并没有完全回答我的疑虑。 I have Docker Data Center on-prem and i want to push Azure SF into this.我有本地 Docker 数据中心,我想将 Azure SF 推入其中。 But i feel DDC is doing exactly same thing as Service Fabric.但我觉得 DDC 正在做与 Service Fabric 完全相同的事情。 Few things from my mind.我脑子里的东西很少。

  • DDC takes care of scaling up, all types of container orchestration, health monitoring etc. DDC 负责扩展、所有类型的容器编排、健康监控等。

Few items which it doesn't provide :它不提供的几个项目:

  • Service remoting between services, publish subscribe model between services, stateful layer(i've heard about portworx volume rep)服务之间的服务远程处理,服务之间的发布订阅模型,有状态层(我听说过 portworx volume rep)

Can someone enlighten me more on when should i go with SF which DDC doesn't provide.有人能告诉我更多关于我什么时候应该使用 DDC 不提供的 SF 的问题。

If your application landscape consists of containers and there is no intention to change that then you should probably stick to DDC.如果您的应用程序环境由容器组成并且无意改变它,那么您可能应该坚持使用 DDC。

Service Fabric (ASF) has a lot more to offer than support for containers. Service Fabric (ASF) 提供的不仅仅是对容器的支持。 In fact, in earlier days it did not even had support for containers.事实上,在早期它甚至不支持容器。

The focus of AFS is to provide a platform for building microservices based applications using stateless services, stateful services and actors. AFS 的重点是提供一个平台,用于使用无状态服务、有状态服务和参与者构建基于微服务的应用程序。

Things that DDC does not provide: DDC 不提供的东西:

Stateful Services : The benefit of stateful services is that the data lives where the code lives, so no more separate data stores like a NoSQL or relational database.有状态服务有状态服务的好处是数据位于代码所在的位置,因此不再需要像 NoSQL 或关系数据库那样单独存储数据。 A great benefit is the reduced latency.一个很大的好处是减少了延迟。 So in other words, if you have a frontend running in a container that connects to a container that contains a MySQL server for example, you can replace that using a mix of stateless and stateful services.因此,换句话说,如果您有一个在容器中运行的前端,该容器连接到一个包含 MySQL 服务器的容器,例如,您可以使用无状态和有状态服务的组合来替换它。

Actor model : The actor pattern is a computational model for concurrent or distributed systems in which a large number of these actors can execute simultaneously and independently of each other.参与者模型:参与者模式是并发或分布式系统的计算模型,其中大量这些参与者可以同时且彼此独立地执行。

In some scenario's the use of containers in ASF is a temporarily one, to lift and shift existing software and combine that with ASF own service models.在某些情况下,在 ASF 中使用容器是暂时的,以提升和转移现有软件并将其与 ASF 自己的服务模型相结合。 In later stages the containers can be replaced by ASF services.在后期阶段,容器可以被 ASF 服务替换。

The official docs does list some scenario's as when to run containers on ASF: 官方文档确实列出了一些场景,即何时在 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. IIS 提升和转移:如果您有想要继续使用的现有 ASP.NET MVC 应用程序,请将它们放在容器中,而不是将它们迁移到 ASP.NET Core。 These ASP.NET MVC apps depend on Internet Information Services (IIS).这些 ASP.NET MVC 应用程序依赖于 Internet 信息服务 (IIS)。 You can package these applications into container images from the precreated IIS image and deploy them with Service Fabric.您可以将这些应用程序从预先创建的 IIS 映像打包到容器映像中,并使用 Service Fabric 进行部署。 See Container Images on Windows Server for information about Windows containers.有关 Windows 容器的信息,请参阅 Windows Server 上的容器映像。

Mix containers and Service Fabric microservices : Use an existing container image for part of your application.混合容器和 Service Fabric 微服务:将现有容器映像用于应用程序的一部分。 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.例如,您可以将 NGINX 容器用于应用程序的 Web 前端,并将有状态服务用于更密集的后端计算。

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.如果服务可能消耗大量资源并影响其他服务的性能(例如长时间运行的类似查询的操作),请考虑将这些服务放入具有资源治理的容器中。

By the way, in your referenced Q & A the fact that is a Microsoft product is listened as a possible disadvantage.顺便说一句,在您引用的问答中,微软产品这一事实被认为是一个可能的缺点。 It might still be to some, but Microsoft has announces it will open source ASF.对某些人来说可能仍然如此,但微软已经宣布将开源ASF。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM