0

我不确定我是否已经非常了解 node.js,但我真的很想实现它,因为我所理解的非常有趣。

我有一个使用第三方 API 的移动应用程序。用户通常会打开它以查看是否有任何新内容。我突然想到,只要我尊重第三方 API 的轮询限制(和其他限制),我就可以模拟一个基于推送的系统,并允许在有新内容时通知用户。

基本上以某种时间间隔从 Node.js 服务器实现所有 API 轮询,并使移动应用程序指向我的 Node.js 服务器而不是端点 API。

我认为这会很好,原因有很多:

  • 减轻手机的数据使用负担(因为我可以在手机和服务器上缓存内容)。对于拥有按字节付费数据计划的用户来说,这是一个巨大的胜利
  • 允许存储/访问所有数据的中心位置
  • 让我在服务器端做一些优化(如果两个用户碰巧订阅了同一个提要,我可以在一个请求中得到它。

我认为这可能很糟糕,原因有很多:

  • 如果我的服务器出现故障,那么我所有的应用程序都会死掉。通过充当我的 Node.js 实现之间的中间人,很可能会引入更多的故障点。
  • 当第三方发布对 API 的添加时,它需要我在两个地方实现更改,而不是一个。

我的问题是:总的来说,这是一种好的做法吗?如果不是,为什么?

4

1 回答 1

0

您的代理想法很好,因为它:

  1. 将投票转换为推送
  2. 将客户端与 API 更改隔离开来
  3. 允许一些优化

我觉得只有#1真的很重要。

于 2012-06-06T00:20:51.610 回答