我有一个快速的问题。KCL 是否能够从多个流中消费?您是否应该为您的应用程序设置多个流,或者是否应该将单个流与单个应用程序绑定?我的特定用例是我需要使用从后端和前端生成的数据。其中一个以比另一个更高的速率生成数据,因此认为它们应该生成单独的流进行处理。有没有办法从同一个 KCL 进程中消耗两个流,还是我需要设置两个?谢谢你的帮助!
问问题
1192 次
1 回答
1
KCL 是一个开源项目,您可以对其进行修改以使用来自多个流的事件,但不建议这样做。最好让事情变得更简单。
如果您有 2 个不同的事件流,则最好有 2 个不同的 kinesis 流,每个流一个。这允许您独立缩放每个流,因为每个流具有不同的速率和可能不同的峰值。
如果您需要在流之间共享信息,您可以使用它们之间的共享状态变量,使用一些数据库,例如 DynamoDB 或 Redis。
请注意,如果您有一组发送这些事件的服务器,您应该期望后端的某些事件可能会在前端的事件之前处理。您必须处理这些事件的 KCL(或 Lambda)代码可能具有不同的处理速率、不同的故障点和其他不同步事件。请注意此类潜在的依赖关系和异常。
于 2016-01-12T05:26:10.707 回答