繁体   English   中英

.net服务作为Azure程序?

[英].net service as a Azure program?

我有一个Windows服务,该服务有效地允许客户端通过TCP套接字连接到它,并向它发送/接收数据。 它必须能够相当快地做到这一点。

该服务当前在Windows服务器上运行,并为其知道的每个“房间”生成一个线程。 通过TCP套接字传入的每个请求都会被解析以了解它所在的房间,并且所有请求都将转发到运行该房间的线程。

服务器端处理请求,然后通过同一TCP套接字发回响应。

我很好奇,出于简单的可伸缩性和可管理性,将其移至Azure。 但是我不太确定我应该考虑使用什么服务来做到这一点。 有人有建议吗?

当前,它在Amazon EC2实例中运行,具有RDS数据库后端和一些利用S3的片段。

由于与一些几乎没有限制地免费使用天青石的人建立了新的合作伙伴关系,因此正在寻求迁移到天青石。

通常,您可以在Azure上选择两项服务(如果将虚拟机计入其中,则有三项服务,但是与其他两项相比,它们很难扩展)。 第一个是Azure Worker Roles ,它们是云服务的一部分。 它们自Azure早期开始就存在,并且其构建与Windows Services类似。 Azure WebJobs稍有更新,它使您可以在Websites服务中运行多种类型的脚本,例如PowerShell或Windows CMD。 此服务使您可以按需,连续(在方案中应首选)或按计划运行程序。

对于您的情况,我将使用辅助角色。 它与Windows服务非常相似(意味着您理想情况下不必对代码库进行大量重写),并且可以轻松扩展到很多实例。 不过,您应该牢记一些良好的云模式,尤其是在扩展服务方面。 云服务和工作者角色的行为方式与您想象的方式不同,存在一些障碍。

暂无
暂无

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

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