Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 我如何明智地将具有长初始化时间的Azure云服务转换为Azure服务结构服务?_Web Services_Azure_Service_Azure Cloud Services_Azure Service Fabric - Fatal编程技术网

Web services 我如何明智地将具有长初始化时间的Azure云服务转换为Azure服务结构服务?

Web services 我如何明智地将具有长初始化时间的Azure云服务转换为Azure服务结构服务?,web-services,azure,service,azure-cloud-services,azure-service-fabric,Web Services,Azure,Service,Azure Cloud Services,Azure Service Fabric,目前,我们使用web角色作为云服务运行资源密集型处理。服务包仅包含经常更改的.NET程序集。还有一个依赖于C++的DCOM服务器,它大约是千兆字节的代码和数据总量。该DCOM服务器被打包到存档中并放入blob存储中。当角色实例启动其OnStart()下载归档文件,将其解压缩到本地文件系统并注册DCOM服务器时,.NET代码随后将使用DCOM服务器 它可以工作,但扩展速度非常慢-从向Azure管理服务发送扩展操作到运行角色OnStart()(然后再运行OnStart())大约需要两到五分钟。我听说

目前,我们使用web角色作为云服务运行资源密集型处理。服务包仅包含经常更改的.NET程序集。还有一个依赖于C++的DCOM服务器,它大约是千兆字节的代码和数据总量。该DCOM服务器被打包到存档中并放入blob存储中。当角色实例启动其
OnStart()
下载归档文件,将其解压缩到本地文件系统并注册DCOM服务器时,.NET代码随后将使用DCOM服务器

它可以工作,但扩展速度非常慢-从向Azure管理服务发送扩展操作到运行角色
OnStart()
(然后再运行
OnStart()
)大约需要两到五分钟。我听说HyperV容器在扩展方面几乎是神奇的——它们几乎可以立即扩展。我还听说Azure Service Fabric使用容器来承载服务实例。因此,我假设Azure Service Fabric可以用于解决我们的问题,但扩展速度较慢

问题是-如何处理
OnStart()
中长时间运行的代码。让每个服务实例运行该代码有点挫败了容器——它们会快速扩展,然后被初始化代码卡住


Azure Service Fabric是否可以执行类似于双阶段初始化的操作,即在部署服务时,先在单个实例中运行相当于
OnStart()
,然后快速“克隆”一个完全初始化的实例以按需扩展服务?对于所描述的场景,它能做得更好吗?

在Service Fabric中,依赖项最好作为应用程序包的一部分进行携带(可以选择容器化),这意味着它们将在盒子尝试启动实际服务之前被复制到盒子中,而且应用程序映像将已经上载到服务结构集群中,这意味着它通常在本地或至少在同一组机器中被复制(而不是通过网络或存储帐户所在的任何位置)