【问题标题】:.NET How to concurrently process API stream of json objects.NET 如何同时处理 json 对象的 API 流
【发布时间】:2021-05-06 23:26:05
【问题描述】:
我正在构建一个小型演示应用程序,以根据来自Twitter's Sample Stream 端点的推文生成统计信息。 Twitter 每秒都会根据提供的任何 API 参数转储推文的有效负载。我想获取这些有效负载并将它们转储到队列中进行处理。我想在构建这个时考虑到并发性以实现可扩展性。像消息队列这样的东西会不会过大,还是有更好的模式可以遵循?
【问题讨论】:
标签:
.net
twitter
concurrency
message-queue
【解决方案1】:
消息队列可能是一个很好的解决方案。原因是推文可以很快到达,并且您不希望读取流的线程参与任何其他处理。如果代码没有及时响应,Twitter 流可能会断开连接,您需要重新连接。重新连接也有速率限制,因此最坏的情况会导致难以维持连接并丢失推文。拥有队列可以轻松地将推文转储到队列中并返回阅读流。在队列的另一端,您可以添加一些并发代码来有效地处理推文。