我有一个项目(实际上是几个),我最终希望将其部署到 Azure,因此我的 VS 解决方案同时包含 Web 和辅助角色,并且在我的本地模拟器上成功运行。 (我还使用表和 Blob 存储)。
我有一台 Windows 2012 服务器,其端口 80 暴露于 www,并且想在不使用 Azure 帐户或不花钱的情况下测试一下(目前)。
当我在 W2012 服务器上部署 Azure 模拟器并基本上在本地运行 Azure 时,这是否可以在类似生产的环境(流量非常少)中完成?性能会受到严重影响吗?模拟器是否打算像这样使用,或者它们是否会为了日志记录和调试而大幅降低性能?
我当然知道整体上不推荐这样做。模拟器不适合生产等等。我明白那个。但我很好奇是否有人尝试过类似的东西。
更新:我认为我的问题不够具体。我的错,对不起。更具体:
模拟器以何种方式承受非性能关注(例如日志记录和调试)的负担?
模拟器稳定吗?有人有过崩溃或变慢的经历吗?
- 模拟器在任何情况下都始终返回与 Azure 云版本相同的结果吗?
最佳答案
有基本的differences计算和计算模拟器之间,以及 differences存储和存储模拟器之间。虽然我提供的链接可能有点过时(我找不到更新的链接),但您应该立即看到一些内容:
计算:
- 负载均衡器的行为有所不同(例如:您仍然可以访问不轮换的实例)
- 实例在进程中运行,而不是在完整的虚拟机中运行(这意味着如果不先在本地卸载软件,您就无法测试安装软件的启动脚本)
- 没有任何 SLA
- 您的环境的安全程度取决于您的本地计算机
- IP 地址管理不同
- 不支持虚拟网络(您将无法与虚拟机进行互操作,例如通过内部端口)
存储:
- 无法扩展(Azure 存储是一个庞大的 Multi-Tenancy 系统,可以随着请求流量的增加轻松扩展)
- 没有持久性(Azure 存储进行三重复制,并且可以选择异地复制;本地存储位于 SQL 数据库中)
- Blob 大小限制为 2GB(Azure 存储中为 200GB/1TB)
- 表存储和队列存储之间的其他一些差异)
此外:您将无法对模拟部署进行命令行控制(没有 PowerShell、没有 CLI),并且无法通过门户查看/设置任何内容。
有一些服务可以在 Windows Server 上本地运行,例如服务总线和缓存,您甚至可以安装 Azure Pack适用于 Windows 服务器。
底线:您没有使用模拟器在 Azure 中运行;您的代码在具有本地独立数据库进程的本地进程中执行。您将拥有 0 SLA、非冗余存储、完全无法了解整个系统的运行状况...这根本不是生产环境。
关于.net - 在本地运行 Azure 模拟器以进行生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20240580/