最近,我们与Kafka消费者和生产商之间出现了一些性能问题。我们在scala中使用Kafka Java API。打开和关闭消费者和生产者对象的良好做法是什么?我认为这是一个非常开放的问题,正确的答案总是取决于
,但我正在尝试对此进行推理。
消费者可以长时间运行连接并保持开放吗?
当我们完成信息生成时,生产者是否应该关闭?
消费者可以长时间运行连接并保持开放吗?
一般来说,是的。
具体情况:取决于您的消费者配置。
如果您的消费者是消费者群体的成员,他们当然应该关闭 - 尽早触发再平衡。
如果您的消费者使用自动提交偏移量,他们仍然会保持每N毫秒提交一次(AFAIK 60k),这可能会浪费资源。
否则,他们可以留下来,但为什么要浪费资源?
当我们完成信息生成时,生产者是否应该关闭?
一般来说,是的。
这取决于你的设计,但如果你能说在某个时候你不会再发送任何消息,那么你可以关闭。这并不意味着您应该在每次发送消息后关闭并重新创建一个生成器。
简而言之,我如何在生产者/消费者苏德上找到相关经纪人的健康状况。
本教程演示了如何发送和接收来自Spring Kafka的消息。 首先创建一个能够发送消息给Kafka主题的Spring Kafka Producer。 接下来,我们创建一个Spring Kafka Consumer,它可以收听发送给Kafka主题的消息。使用适当的键/值序列化器和解串器来配置它们。 最后用一个简单的Spring Boot应用程序演示应用程序。 下载并安装Apache Kafka 要
生产者线程与消费者线程使用信号量同步 生产者线程与消费者线程使用信号量同步 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2018-08-24 yangjie the f
所谓的生产者消费者模型就是 某个模块(函数)负责生产数据,这些数据由另一个模块来负责处理 一般生产者消费者模型包含三个部分 生产者、缓冲区、消费者 为什么生产者消费者模型要含三个部分?直接生产和消费不行么? 一个案例说明一切 生产者好比现实生活中的某个人 缓冲区好比现实生活中的邮箱 消费者好比现实生活中的邮递员 如果只有生产者和消费者, 那么相当于只有写信的人和邮递员,那么如果将来过去的邮递员离职
我有一个消费者作为生产者消费者模式的一部分: 简化: 如果我移除 通过将线程设置为睡眠,CPU使用率攀升到极高的水平(13%),而不是0%。 此外,如果我实例化该类的多个实例,则每个实例的CPU使用率都会以13%的增量攀升。 大约每分钟(可能每30秒)都会向BlockingCollection添加一个新的LogItem,并将适用的消息写入文件。 有没有可能线程以某种方式阻止了其他线程的运行,而系统
一、线程间通信的两种方式 1.wait()/notify() Object类中相关的方法有notify方法和wait方法。因为wait和notify方法定义在Object类中,因此会被所有的类所继承。这些方法都是final的,即它们都是不能被重写的,不能通过子类覆写去改变它们的行为。 ①wait()方法: 让当前线程进入等待,并释放锁。 ②wait(long)方法: 让当前线程进入等待,并释放锁,