CPU 和带宽密集型是否直接使用 Firebase 云消息传递发送推送通知?
Is CPU and bandwidth intensive sending push notifications directly with Firebase Cloud Messaging?
据我了解,当从 https://console.firebase.google.com/u/0/project/[projectname]:api-project-[senderID]/notification/compose 的 Firebase 撰写消息控制台发送通知时,只有 CPU 和 Google 服务器的带宽被消耗,因为通知是直接发送的来自 Google 服务器,而不是我的,对吗?如果我使用 cURL 从我的服务器触发推送通知,它仍然会使用 Firebase 和 Google 服务器来发送和传递通知,并且它不会消耗我的服务器的 CPU 和带宽,对吗?
我正在尝试完全了解直接使用 Firebase 云消息传递发送推送通知而不使用第三方解决方案(例如 Urban Airship)是否 CPU 并且我的服务器占用大量带宽。我不确定第三方推送通知解决方案提供的 features/benefits 部分是否正在处理 CPU/bandwidth 密集型任务,或者这是否是 Google 服务器在连接和发送推送时直接处理的事情直接使用 Firebase 云消息传递通知。
我知道 Whosebug 不是为了引起争论的问题,尤其是关于架构和内部与第三方软件解决方案的问题,但我的问题的主要目的是了解谁处理 CPU 和带宽密集型工作当推送通知发送到数千台设备时,是 Google 服务器(Firebase Cloud Messaging 服务器),还是提供推送通知服务的软件公司的服务器,例如 Urban Airship,还是触发推送通知以防 Firebase 云消息传递配置是在没有第三方解决方案的情况下在内部构建的?谢谢。
编辑:Why and how is push-notification (like GCM) battery efficient? includes this paragraph: "The android device keeps a single connection open to GCM servers to listen for notifications". However, it still does not answer my question because even though I know that the Firebase Cloud Messaging servers are responsible for sending the push notifications, I am still trying to understand if my servers do not have to provide CPU power or bandwidth at all, even if I use cURL to trigger the push notifications from my server using PHP cURL functions and cron jobs, for instance. If I can make an analogy, imagine using jQuery by importing the library directly from https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js versus downloading the jquery.min.js file and then putting it on your server. If you use https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js 处的答案您将使用来自 Google 服务器的资源,而不是您自己服务器的资源。如果您将 jquery.min.js 下载到您的服务器,那么访问者将使用您自己服务器的资源,而不是 Google 的服务器。这是我的类比,所以在没有第三方解决方案(例如 Urban Airship)的情况下使用 Firebase 云消息传递推送通知的情况下,我想知道谁提供 CPU 功率和带宽,您自己的服务器或 Google'服务器。谢谢。
在那种情况下,如果您使用像 GCM 主题这样的机制,应该会相当简单。它不应该是 CPU 密集的,因为您不是向每个用户发送,而是只向主题广播一次,让 Google 完成繁重的工作。
https://developers.google.com/cloud-messaging/topic-messaging
https://firebase.google.com/docs/cloud-messaging/android/topic-messaging
据我了解,当从 https://console.firebase.google.com/u/0/project/[projectname]:api-project-[senderID]/notification/compose 的 Firebase 撰写消息控制台发送通知时,只有 CPU 和 Google 服务器的带宽被消耗,因为通知是直接发送的来自 Google 服务器,而不是我的,对吗?如果我使用 cURL 从我的服务器触发推送通知,它仍然会使用 Firebase 和 Google 服务器来发送和传递通知,并且它不会消耗我的服务器的 CPU 和带宽,对吗?
我正在尝试完全了解直接使用 Firebase 云消息传递发送推送通知而不使用第三方解决方案(例如 Urban Airship)是否 CPU 并且我的服务器占用大量带宽。我不确定第三方推送通知解决方案提供的 features/benefits 部分是否正在处理 CPU/bandwidth 密集型任务,或者这是否是 Google 服务器在连接和发送推送时直接处理的事情直接使用 Firebase 云消息传递通知。
我知道 Whosebug 不是为了引起争论的问题,尤其是关于架构和内部与第三方软件解决方案的问题,但我的问题的主要目的是了解谁处理 CPU 和带宽密集型工作当推送通知发送到数千台设备时,是 Google 服务器(Firebase Cloud Messaging 服务器),还是提供推送通知服务的软件公司的服务器,例如 Urban Airship,还是触发推送通知以防 Firebase 云消息传递配置是在没有第三方解决方案的情况下在内部构建的?谢谢。
编辑:Why and how is push-notification (like GCM) battery efficient? includes this paragraph: "The android device keeps a single connection open to GCM servers to listen for notifications". However, it still does not answer my question because even though I know that the Firebase Cloud Messaging servers are responsible for sending the push notifications, I am still trying to understand if my servers do not have to provide CPU power or bandwidth at all, even if I use cURL to trigger the push notifications from my server using PHP cURL functions and cron jobs, for instance. If I can make an analogy, imagine using jQuery by importing the library directly from https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js versus downloading the jquery.min.js file and then putting it on your server. If you use https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js 处的答案您将使用来自 Google 服务器的资源,而不是您自己服务器的资源。如果您将 jquery.min.js 下载到您的服务器,那么访问者将使用您自己服务器的资源,而不是 Google 的服务器。这是我的类比,所以在没有第三方解决方案(例如 Urban Airship)的情况下使用 Firebase 云消息传递推送通知的情况下,我想知道谁提供 CPU 功率和带宽,您自己的服务器或 Google'服务器。谢谢。
在那种情况下,如果您使用像 GCM 主题这样的机制,应该会相当简单。它不应该是 CPU 密集的,因为您不是向每个用户发送,而是只向主题广播一次,让 Google 完成繁重的工作。
https://developers.google.com/cloud-messaging/topic-messaging https://firebase.google.com/docs/cloud-messaging/android/topic-messaging