java – kafkastreams – 增加更多处理能力
作者:互联网
我正在研究POC转换现有的Flink应用程序/拓扑以使用KafkaStreams.我的问题是关于部署.
具体来说 – 在Flink中,将“工作节点”添加到flink安装中,然后为拓扑添加更多并行化以跟上不断增加的数据速率.
随着数据速率的增加,如何增加KStream容量? KStreams会自动处理吗?我是否会启动更多流程(ala Micro-services)?
或者我错过了这里的大局?
解决方法:
Do I launch more processes (ala Micro-services)?
简短的回答是肯定的:
>答案1(增加容量):要向外扩展,只需启动流处理应用程序的另一个实例,例如:在另一台机器上.您的应用程序实例将相互了解并自动开始共享处理工作.这可以在实时操作期间完成,并且不会丢失数据!
>答案2(删除容量):只需停止流处理应用程序的一个或多个正在运行的实例,例如:关闭4个运行实例中的2个.应用程序的其余实例将意识到其他实例已停止并自动接管已停止实例的处理工作.这可以在实时操作期间完成,并且不会丢失数据!
有关详细信息,请参阅http://docs.confluent.io/3.0.0/streams/developer-guide.html#elastic-scaling-of-your-application中的Kafka Streams文档(遗憾的是,Kafka Streams上的Apache Kafka文档尚未提供这些详细信息).
Or am I missing the big picture here?
大局观是图片实际上很好而且很小.
标签:apache-kafka-streams,java,apache-kafka 来源: https://codeday.me/bug/20190824/1703475.html