【问题标题】:kafka-python-2.0.1 performance with large data set大数据集的 kafka-python-2.0.1 性能
【发布时间】:2020-11-06 02:53:18
【问题描述】:

我正在使用 kafka-python-2.0.1 来使用来自 kafka 代理的数据。截至目前,我正在运行一个消费者实例。我们每 5 分钟收到 2M 条记录。我注意到 kafka-python 无法更快地读取数据以及时使用所有消息。我是 kafka-python 的新手,不知道如何实施以更快地读取数据。我应该运行多个消费者吗?

consumer = KafkaConsumer(bootstrap_servers='<broker>',security_protocol='SASL_SSL', sasl_mechanism = 'GSSAPI', auto_offset_reset = 'latest', sasl_kerberos_service_name = 'kafka',ssl_cafile='<ca_file>', ssl_check_hostname=False,api_version=(0,10))

谢谢,

【问题讨论】:

    标签: python-3.x apache-kafka kafka-consumer-api kafka-python


    【解决方案1】:

    Kafka 随主题内的分区数量而扩展。

    如果您想增加吞吐量,您可以增加主题的分区数。然后注意,每个分区最多可以被同一消费者组中的一个消费者消费。所以你应该让消费者组中的消费者数量与主题的分区数量相匹配。

    消费者组可以通过配置group_id在KafkaConsumer中设置。

    【讨论】:

      【解决方案2】:

      根据您的瓶颈所在,另一个想法可能是切换到另一个 Kafka python 库; kafka-python 是纯 python,而 confluent-kafka-python(以及可选的显然处于休眠状态的 pykafka)使用 C 库来提高性能,并将其设置为关键设计考虑因素

      performance comparison from 2016 报告它们之间的性能差异为 9 倍

      【讨论】:

        猜你喜欢
        • 2021-01-05
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 2018-12-14
        • 2019-06-29
        • 1970-01-01
        • 2021-06-26
        • 2018-01-27
        相关资源
        最近更新 更多