【问题标题】:Azure Mobile Services vs Own REST serviceAzure 移动服务与自己的 REST 服务
【发布时间】:2014-10-10 19:09:36
【问题描述】:

我正在编写一个移动应用程序,这个移动应用程序将与 Azure 中的服务器通信以获取数据,并可能推送一些数据。

现在,我一直在想,我要编写一个简单的 RESTful Web 服务来处理所有这些问题,并将其托管在 Azure 的网站上 - 但是,我后来发现了他们的移动服务,而且我不完全确定我理解它的用途。

看起来,它似乎是关于从你那里提取服务器上运行的代码,你推送给它的东西,你得到的是什么?所以它对我没有多大用处,因为我的 Web 服务将根据逻辑等返回数据。但是移动服务直接处理推送通知的能力很好(使用 Azure 网站有多难通过移动服务发送推送通知?)

但是,我想知道我是否遗漏了什么?我宁愿不必像这样重新发明轮子,移动服务会满足我的需要,尤其是因为我将使用 Xamarin 并且有一个很好的组件可以与移动服务对话......

谢谢

【问题讨论】:

    标签: rest azure mobile


    【解决方案1】:

    我面临同样的问题:我应该使用 Azure 移动服务还是推出自己的 REST 服务。以下是我迄今为止的一些发现。

    使用 Azure 移动服务有一个运行一组程序集的后端,您的代码最终依赖于这些程序集。在您开始使用与 Microsoft 托管的版本不兼容的其他程序集版本之前,这很好。对我来说,这是一个很大的痛苦。仅这个问题就让我怀疑是否要使用 Azure 移动服务。如果您制作自己的 REST 服务,我不希望您遇到这些问题。 See this link for details.

    您应该注意,Azure 移动服务与单个 Azure 区域相关联:如果您的 Azure 区域出现故障,您需要手动迁移到另一个 Azure 区域。这对您的项目来说可能不是问题。如果你想在多个地区运行,我认为推出自己的 REST 服务会更容易。

    关于推送通知,您可以在不使用移动服务的情况下做到这一点。请参阅以下链接:

    在 Azure 移动服务中开箱即用地支持自动缩放。如果您制作自己的 REST 服务,则需要制作自己的扩展逻辑。您可以使用 Azure 的 REST API 扩展 VM,但它比使用移动服务更有效。

    Azure 移动服务支持身份验证。如果您制作自己的 REST 服务,则需要研究一个单独的框架来执行此操作。

    如果您使用移动服务,您可能会通过 Visual Studio 向导创建 ASP.NET Web API。有例子和教程,很棒。但是,即使您推出自己的服务,也可以在其他框架上构建。一个例子是ServiceStack,如果你想创建自己的 REST 服务,我会强烈考虑。我认为 ServiceStack 也可以帮助进行身份验证。

    如果您使用移动服务,您会将自己与 Azure 更紧密地联系在一起。通过滚动您自己的 REST 服务,以后迁移到另一个基础架构可能会更容易。

    【讨论】:

    • 这是一个很好的答案。不过,我要说的一件事是,如果您将服务角色放入一个 azure 网站,则应该使用标准网站内容自动扩展。我尝试了移动服务,遇到了很多问题,甚至遇到了一些简单的运行问题,因为它正在查看一个未在任何地方定义的无效连接字符串,无论是在 Web config 还是在 azure 上,所以它立即让我失望因为我不想和天蓝色战斗。所以我很可能会自己动手。滚动自己的另一个好处是自定义 url,否则你必须使用 Azures 自己的 url 结构,捆绑你
    • 我将标记为答案,因为这是一个非常有用的答案,可以帮助您了解利弊。干杯
    猜你喜欢
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多