【问题标题】:Kinesis Streams and Spring Integration ChannelsKinesis Streams 和 Spring 集成通道
【发布时间】:2018-06-12 20:57:48
【问题描述】:

我正在开发一个消费者,它使用来自多个 Kinesis 流的事件。我有一些问题想了解最佳做法。

  1. 我应该为每个流创建一个频道吗?在“每个流一个通道”或“所有流一个通道”之间做出决定时应考虑哪些因素?

  2. 哪个频道更适合我的案例性能?有不同的频道类型,如 PollableChannel、SubscribaleChannel 和 DirectChannel。

谢谢

【问题讨论】:

    标签: spring-integration amazon-kinesis spring-cloud-stream spring-integration-aws


    【解决方案1】:

    KinesisMessageDrivenChannelAdapter 是一个活动组件,它在任务执行器中执行消费和消息发送。因此,您可能认为不要将消息转移到QueueChannelExecutorChannel - 逻辑已经是异步的并且涉及机器上的足够多的线程。最好不要将处理转移到单独的线程并保持此消费线程忙碌并且不要将更多记录从 Kinesis 轮询到内存中。

    基本上,一个KinesisMessageDrivenChannelAdapter 可以对多个流执行相同的工作,就像针对不同流的多个单独适配器一样 - 将使用机器上的线程容量。

    在处理逻辑不同或数据类型不同或 Kinesis 客户端选项不同的情况下,我们需要不同的通道适配器。在所有其他情况下,单个实例就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 2012-10-29
      • 1970-01-01
      • 2020-08-31
      相关资源
      最近更新 更多