在多台服务器上部署使用 Twitter Stream API 的应用程序

在多台服务器上部署使用 Twitter Stream API 的应用程序

我正在使用 Twitter 流媒体 API 从 Twitter 获取最新推文,并在它们符合特定条件(特定标签)时对其进行回复。如果在一个实例上部署,它会运行得非常好,因为只有一个应用程序可以回复推文。

如果我想将其扩展到多个实例,那么将有许多应用程序处理同一条推文。我认为一个可能的解决方案是维护一个公共数据库,每次我拾取一条推文时,在回复它们之前,我会将其输入数据库,然后其他实例会检查该推文是否得到回复。但这似乎不对,因为它会减慢进程,并且如果两个实例同时拾取同一条推文,可能会出现奇怪的行为。

如果发帖到错误的论坛,请见谅。

答案1

你建议的事情应该如何做。让一台服务器或服务器池使用 API 并将每条新推文添加到数据库,然后让另一台服务器或“工作者”池对数据库条目执行操作。

您还可以考虑使用工作队列来将新推文的消息传递给您的工作人员。

如果实施得当,额外的复杂性只会给您的响应增加几毫秒,这对于这种用例来说可能并不重要。

相关内容