写点什么

AWS 和 Microsoft 发布了竞争的移动通知服务

2013 年 9 月 01 日

几天之内,Microsoft 和 Amazon Web 服务(AWS)分别发布了面向开发者的移动友好通知服务。这两个服务都能够让你快速且便宜地向所有类型的设备广播成千上万的消息。虽然表面上看起来非常相似,但是每一种服务都提供了它们自己独特的能力。

推通知正逐渐成为移动开发者工具箱中的一个重要部分,但是为各种类型的移动设备实现推通知是非常困难的。在宣布 Amazon SNS 支持推通知的博客帖子中,AWS 团队介绍了移动开发者所面临的问题。

实现推通知是非常棘手的,特别是在你想要支持 iOS、Android 和 Kindle Fire 等多种平台的情况下。许多客户的实现方式是直接集成 Amazon、Apple 和 Google 为它们的设备所提供的推转播服务。这些服务各自使用不同的、平台特定的 API,并且你必须自己管理令牌的更新和失效这样的事情,还要处理用户升级他们的设备或者删除应用时的令牌反馈。此外,移动应用分布的性质是,成功的应用几乎能够一夜成名。快速地从零扩展到上百万的设备,每天发送数千万的通知是非常具有挑战性的。

为了克服这个挑战,AWS 用一个移动推送特性扩展了他们的 Amazon SNS 服务,开发者能够通过一个单独的 API 向 Amazon Kindle Fire、iOS 和 Android 设备广播消息。该 API 在 Amazon(通过 ADM )、Google(通过 GCM )和 Apple(通过 APNs )所提供的底层通知服务之上提供了一个抽象的接口。该服务不仅能够向每一个连接的设备(通过 SNS 主题)广播,还能把个人设备作为广播目标。开发者还能够通过该服务向每一种设备类型发送量身定制的平台特定的消息。为什么要扩展 Amazon SNS 而不是创建一个全新的服务呢?AWS 的 CTO Werner Vogels 在一篇博客文章中解释了这样做的原因。

我们之所以选择增强 Amazon SNS 而不是构建一个单独的移动通知服务,是因为从设计 Amazon SNS 的第一天起我们的目的就是为了让它能够支持多种协议和推送方法(Email、SMS、SQS 和 HTTP 等),并且现在每天都已经有数亿的通知通过这些推送方法向外发送了。

通过利用 AWS 的规模和现有的 SNS 技术,我们能够为移动推送服务提供和为 Amazon SNS 所提供的一样的成本效益价格。

在典型的 AWS 模式中,文档 SDK 都已经被更新到了和 SNS 新功能匹配的版本。

Microsoft 目前也正在移动通知领域大肆宣传它们自己的新 Windows Azure 通知中心。在今年 1 月份发布了预览版之后,开发者就已经能够利用通知中心服务向 Windows 8、Windows Phone 8、iOS 和 Android 设备发送推通知了。在 AWS 的公告中突出显示了 Microsoft 副总裁 Scott Guthrie 对移动开发挑战所做出的回应。

推通知是移动应用程序中的一个非常重要的组件。对移动应用程序的开发者而言这是他们可以利用的一种强大的用户参与机制。向一个移动用户发送一个推通知消息是相当简单直接的,同时使用 Windows Azure 移动服务也是非常容易办到的。但是在低延迟的情况下向数以百万的移动用户发送同步推通知,同时还要处理真实的需求(例如位置多平台设备用户个性化)是非常困难的。

通知中心支持平台特定的和局部的通知模板,订阅者能够很容易地在特定主题中设置兴趣“标记”。扩展是在 Windows Azure 管理门户中完成的,这需要定义“单元”的使用数量,每一个单元最多支持 10 万台设备。Microsoft 已经更新了他们的文档,并且还为每一个支持的平台提供了设备SDK。

AWS 和 Microsoft 都把焦点放在了能够展示它们新平台的案例研究上。Werner Vogels解释了移动应用程序性能管理提供商 Crittercism 是如何采用 SNS 和移动推送服务的。

开发者告诉我们,管理大规模的推通知让他们不能专心地构建优秀的应用。在某些情况下这项工作会复杂到让开发者难以为用户提供他们想要提供的内容。例如, Crittercism 告诉我们随着用户的发展壮大,开发者及时地向 6 亿设备发送推通知的工作是非常繁重的,在过去他们宁愿选择停止提供推通知服务。现在,通过 Amazon SNS 他们能够再次向他们的用户发送推通知,并且能够在几秒钟之内将应用程序性能问题通知给数千万的用户。

Scott Guthrie 也不甘示弱,他描述了 Bing News 应用是如何使用 Windows Azure 通知中心为每一个 Windows 8 设备提供服务的。

Bing News 应用需要立即通知用户,告诉他们相关的新闻。这可能是一个令人望而却步的任务,原因如下:

  • 非常大的规模:每一个 Windows 8 用户都安装了 News 应用,在 Bing 后端每月需要向他们发送数以亿计的新闻通知
  • 基于主题的多路广播:基于每个用户的兴趣向不同的市场广播推通知,这需要有效的公共订阅路由和基于主题的多路广播逻辑
  • 跨平台推送:在不同的移动平台之间,通知的格式和语法变化多样,追踪通道和令牌在它们之间也非常复杂

Windows Azure 通知中心被证明非常适合于 Bing News,在该应用做了最近的更新之后,它们现在已经在使用通知中心每天向成千上万的 Windows 和 Windows Phone 设备发送推通知了。

如何在这两个产品之间做出选择呢?下面这个简单的图标列出了一些关键的属性。

Amazon SNS

Windows Azure

通知中心

支持的平台

Amazon、iOS、Android

Windows 8、Windows Phone 8、iOS、Android

容量限制

每一个帐号能够拥有多达 3000 个主题,每一个主题最多能够有 10000 个订阅,因此有 3 千万个端点能够收到完全相同的消息。更多的可以通过直接寻址订阅。

每一个订阅可以扩展到 2500 个单元。等同于 2.5 亿的设备和每月数十亿的操作。

消息定制

支持平台特定的模板

本地语言,能够配置设备特定的模板

目标通知

可以直接寻址到目标个人设备,也可以使用主题将它们和一个特殊的兴趣域连接起来。

“被标记的”消息会被发送到一个设备子集。也能够被发送到个人设备。不需要服务配置。

监控能力

能够通过 Amazon CloudWatch 获取少数指标。

差不多有 50 个指标可以追踪通知和发送。

价格

可以免费发送一百万移动通知(64Kb),高于一百万的每一百万 0.5 美元。

免费支持 500 个设备和每月 100k 的通知。更大的规模有基础和标准价格。

查看英文原文 AWS and Microsoft Release Dueling Mobile Notification Services

2013 年 9 月 01 日 23:02922
用户头像

发布了 321 篇内容, 共 103.6 次阅读, 收获喜欢 8 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

什么是定点数?

Kaito

计算机基础

阿里不允许使用 Executors 创建线程池!那怎么使用,怎么监控?

小傅哥

Java JVMTI 线程池 七日更 Executors

文件写入的6种方法,这种方法性能最好

王磊

Java io 文件读写 文件操作 文件写入

数字货币持币生息钱包系统开发案例

系统开发咨询:I76-883I-5I52 邓森

区块链交易所系统开发,合约交易模式软件方案

系统开发咨询:I76-883I-5I52 邓森

第十三周 作业

熊桂平

极客大学架构师训练营

量化交易模式系统开发app案例

系统开发咨询:I76-883I-5I52 邓森

数字资产交易所系统开发交易平台APP

系统开发咨询:I76-883I-5I52 邓森

盘点2020 | 云上建站流程全解,教你如何节约成本

老魚

云服务器 建站 盘点2020 web全栈

天源迪科获2020年度中国产业供应链(中央企业集采供应链)百强企业荣誉

DT极客

23 种设计模式的有趣见解

xcbeyond

设计模式 七日更

公安重点人员管控系统开发方案,合成作战平台建设

WX13823153201

公安重点人员管控系统开发

组态软件特征分析!同样都是拖拉拽,为什么别人的页面这么好看?

一只数据鲸鱼

物联网 数据采集 监控管理平台 组态软件

智慧平安小区搭建,智慧社区综合服务平台开发

t13823115967

智慧城市 智慧社区管理平台开发

第十三周 学习总结

熊桂平

极客大学架构师训练营

菜鸟实时数仓2.0进阶之路

Apache Flink

flink 流计算

2020年,关于【区块链运营】工作的11条思考

猫Buboo

比特币 区块链+

区块链多币种钱包app系统开发

系统开发咨询:I76-883I-5I52 邓森

【年终总结】mybatis常见注解

田维常

mybatis

IPFS质押挖矿系统开发方案

系统开发咨询:I76-883I-5I52 邓森

区块链钱包软件系统开发及费用

系统开发咨询:I76-883I-5I52 邓森

RPC 核心,万变不离其宗

yes的练级攻略

Java 微服务 后端 RPC

Java并发编程:AQS的互斥锁与共享锁

码农架构

Java Java并发

FGC青蛙钱包系统开发|FGC青蛙钱包软件APP开发

开發I852946OIIO

系统开发

数字货币量化交易所系统开发案例

系统开发咨询:I76-883I-5I52 邓森

数字货币交易所币币OTC交易系统开发

系统开发咨询:I76-883I-5I52 邓森

Linux安装MySQL标准教程

Simon

MySQL centos 安装 七日更

全球第一个 Serverless Redis 服务:Lambda Store 免费用

donghui

redis Serverless Lambda Store

智慧公安防控管理,重点人员管控系统建设方案

t13823115967

智慧公安 情报研判系统建设

IDC发布2021年中国云计算10大预测;Docker 桌面为 M1 推出技术预览版

京东科技开发者

云计算 AI 程序人生

Kafka的控制器controller详解

数据社

kafka 七日更

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

AWS和Microsoft发布了竞争的移动通知服务-InfoQ