gpt4 book ai didi

php - 具有多个应用程序的APNS推送服务器

转载 作者:行者123 更新时间:2023-12-01 16:15:56 24 4
gpt4 key购买 nike

我目前正处于计划阶段,以在基于PHP的Web服务中实现推送通知功能,该功能将支持多个应用程序。我当前的服务结构包括用于处理大量流量/请求负载的非持久性自动扩展服务器。

对于使用APNS,我很难解决一个体系结构。
我已阅读APNS Getting Started

苹果公司指出,为了通过APNS进行推送,需要维护连接,以避免被视为DDOS攻击:

在多个通知中保持与APN的连接打开;不要重复打开和关闭连接。 APNs将快速连接和断开视为拒绝服务攻击。除非您知道连接将长时间闲置,否则应保持连接处于打开状态;例如,如果您每天仅向用户发送一次通知,则可以每天使用一个新连接。

对于大量推送,Apple声明:

“您可以建立与同一网关或多个网关实例的多个连接。如果您需要发送大量的远程通知,请通过多个不同的网关的连接来分布它们。与使用单个连接相比,这可以提高性能:您可以更快地发送远程通知,并且它使APN可以更快地发送它们。”

我在网站上找到了有关Persistent APNS connections的帖子,其中指出“ ...似乎是最大15个连接

我的问题是:

1.我应该如何处理对多个应用程序的这些推送,而又不冒被视为DDOS的风险?我不认为我可以使用非永久性自动缩放服务器,因为它们会在启动/关闭时进行连接/断开连接。我是否需要将连接分布到多个静态服务器上?

2.如果我将连接分散到多个服务器上,是否可以绕开15个连接的伪限制?如果每个应用程序都需要多个连接才能发送大量推送通知,那么随着客户群的增长,我觉得我将超过15个。

最佳答案

看过类似的用例和TBH,仅使用Amazon SNS Mobile Push似乎更容易。您可以使用它们的服务来维护多个platformApplications,并在要发送通知时仅ping端点。它还具有对以下功能的开箱即用支持

  • 发送到其他平台(GCM / Android /百度推送,WNS / MPNS / Windows电话,ADM / Kindle,SMS,AWS Lambda函数,SQS队列生成器,HTTP / HTTPS端点,SMS,电子邮件,MacOSX等)
  • APNS反馈服务的
  • Handling可以防止APNS制裁已注销设备的垃圾邮件-如果您要使用APNS
  • ,则必须自己实施
  • 主题(所有用户或用户子集的单个端点,使您可以通过一次 call 发送成千上万的通知)
  • 使用CloudWatch进行检测,并使用CloudTrail进行日志记录以跟踪您的交付率,故障等,并根据指标级别提供警报,您可以定义
  • Service Mock for integration tests
  • SDKs,大多数主要语言的文档和示例

  • 无限期保持连接(对于每个应用程序,在多个网关上)保持打开状态,在流中重新发送失败的通知以及管理反馈服务APNS之间,这只是一个庞大的PITA。另外,如果您触发他们的任何服务限制,它们都会撤销您的证书或更糟的证书,并且直到您用新的系统更新系统之前,您都不会发送任何通知。

    也可以让别人为您解决所有这些令人头疼的问题:D

    关于php - 具有多个应用程序的APNS推送服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106326/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com