在Kafka中,我可以将主题划分为多个分区。在Kafka中,我不能拥有比分区更多的消费者,因为分区被用作扩展主题的一种方式。如果负载更多,则可以增加分区数,这将使我增加使用方的数目,这将使我可以对给定主题进行更多的线程/进程处理。
在卡夫卡,有一个消费群体的概念。如果我们在一个主题上有10个消费者组,则每个消费者组将有机会处理一个主题中的每条消息。使用者组仍然利用分区的可伸缩性(即每个使用者组最多可以有'n'个使用者,其中'n'是一个主题上的分区数)。这就是kafka的优点,可扩展性和多通道读取是两个独立的概念,需要旋转两个独立的旋钮。
在Kinesis中,我们被告知,如果使用Kinesis库客户端,则可以通过定义不同的Kinesis应用程序来获得与使用者组相同的功能。换句话说,我们可以有不同的Kinesis应用程序独立地从同一流和不同时间流式传输所有记录。
我们还被告知:“ Amazon Kinesis Client Library(KCL)为每个Amazon Kinesis应用程序自动创建一个Amazon DynamoDB表,以跟踪和维护状态信息,例如重新分片事件和序列号检查点。”
好的,所以我准备开始阅读此处的KCL代码,但我希望有人可以回答这些问题以节省一些时间。
我在这里看到了这个问题,但没有回答我的问题。特别是我的第三个问题!同样,这个问题对两种类似技术进行了直接比较。它将帮助了解Kafka的人们更快地学习Kinesis。
有谁知道是否可以将节点命令行选项(例如 --expose-gc)直接传递到 npm 可执行文件中。
我有一个构建可执行文件的节点模块(请参见此处)。我希望该可执行文件能够访问 global.gc()。为此,您需要使用 --expose-gc 标志启动节点进程。
我可以强迫用户将我的可执行文件包装在节点命令周围,但为什么我还需要一个可执行文件。想法?
我正在尝试从 Kafka Rest Proxy 创建一个主题,但我没有看到任何相关文档。我希望有一种方法可以做到这一点,因此我不需要以不同于所有其他通信的方式以编程方式创建主题。有谁知道这是否可能?
我在这里没有看到任何文档:http : //docs.confluent.io/1.0/kafka-rest/docs/api.html。
谢谢你的帮助。
我在不同的地方读过,你总是在你的范围内使用对象很重要,但我还没有找到关于它为什么的明确答案.有人可以帮帮我吗?