asp.net - Azure:如何在一个虚拟网络中将一项云服务与其他云服务连接

标签 asp.net wcf azure cloud

我希望仅使用内部端点在云服务 1 中的 WebRole 中部署后端 WCF 服务。 并在 Cloud Service 2 中的 WebRole 中部署 ASP.NET MVC 前端。

是否可以使用Azure虚拟网络通过内部端点从前端调用后端?

更新:我只是尝试构建简单的 SOA 架构师,如下所示:

最佳答案

是和否。

内部端点本质上意味着角色实例已配置为接受给定端口上的流量,但该端口无法接收来自云服务外部的流量(因此它是云服务的“内部”)。内部端点也没有负载平衡,因此您需要自己“处理”来自调用者的流量管理。

现在问题就出现了,虚拟网络允许您安全地穿越云服务边界,让云服务 1 中的角色实例调用云服务 2 中的角色实例。但是,要做到这一点,调用角色实例需要知道如何寻址接收实例。如果它们位于同一个云服务中,则可以通过 RoleEnvironment 类抓取云服务拓扑。但此类仅适用于其所在的云服务,它不知道虚拟网络。

现在,您可以让接收角色实例将其 FQDN 发布到共享区域(例如 Azure 表存储)。但是,云服务将仅使用其自己的内部 DNS 解析(仅允许您解析同一云服务中的短名称),除非您已使用自托管 DNS 服务器配置虚拟网络。

所以,是的,您可以做您想要完成的事情,但它确实带来了一些挑战。鉴于此,我不得不争论分离部署的便利性是否足以证明解决方案的额外复杂性是合理的?如果是这样,那么我还会看看是否有更好的方法来互连这两个服务,而不是直接调用(例如基于队列的模式)。

关于asp.net - Azure:如何在一个虚拟网络中将一项云服务与其他云服务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858926/

相关文章:

c# - ASP.NET 配置文件 - 向现有用户添加配置文件

jquery - Action '' 的消息无法处理

c# - 如何以 JSON 格式传递 TimeSpan 值?

Azure Sentinel 基于来自 KQL 的 5 分钟数据间隔发出警报

azure - 创建后如何在 Azure 数据工厂中启用诊断

c# - ? : condition in Razor C#

javascript - 无法在 ASP.NET 中加载 JavaScript

wcf - 使用 WIF 创建自定义 STS-IP 以及为什么不

ios - 如何在 iOS 中将大文件 block 明智地上传到 Azure blob 时减少内存使用量?

c# - 从 SQL Server 数据库中获取字符串值