17

0 声望

这家伙太懒,什么都没留下

个人动态
  • 林开心 回复 17Kafka可以不存储数据当内存型消息队列使用吗? 中 :

    Kafka好像没有办法创建非持久化的topic吧?
    若是把log.flush.interval.messages改的很低,还是会写磁盘,我是想不操作磁盘,最大的提升吞吐。

    1年前
  • 半兽人 回复 17Kafka可以不存储数据当内存型消息队列使用吗? 中 :

    1分钟后,消息不管消不消费,不都丢了。

    1年前
  • 17 回复 林开心Kafka可以不存储数据当内存型消息队列使用吗? 中 :

    Kafka可以被用作内存型消息队列,但它的默认行为是将数据持久化到磁盘上,因为Kafka的设计目的是为了解决数据持久化和分布式消息传递的问题。不过,通过对Kafka的一些配置和设置,可以将其用作内存型消息队列。

    下面是一些可能有用的配置和设置:

    将Kafka的log.flush.interval.messages属性设置为1,这样每次写入消息时都会立即将消息刷入磁盘,从而确保消息能够在内存中得到快速处理。

    将Kafka的log.retention.ms属性设置为较小的值,比如1分钟,以便更快地删除过期消息。

    将Kafka的log.retention.bytes属性设置为较小的值,比如1MB,以便更快地删除过期消息。

    使用非持久化的topic,这样Kafka就不会将消息持久化到磁盘上。

    需要注意的是,将Kafka用作内存型消息队列可能会带来一些风险,例如消息丢失或重复等问题。因此,仅在对这些风险有足够的了解并且确信这是您需要的行为时,才应该将Kafka用作内存型消息队列。

    1年前
  • 17 回复 林开心Flink向开启SSL的Kafka集群写入响应较慢,如何提升处理速度? 中 :

    如果你的Flink应用程序连接到开启了SSL的Kafka集群,写入响应较慢,可能有以下一些优化策略可以尝试:

    优化SSL连接配置:优化SSL连接配置可以减少连接的握手时间,提高连接的效率。具体可以参考Kafka官方文档,根据自己的场景选择合适的SSL配置选项。

    调整Kafka Producer配置:Flink使用的Kafka Producer默认的batch.size为16KB,如果数据量较小可能会导致网络传输时间增加,可以考虑调整为更小的值,例如2KB或4KB,同时也可以调整linger.ms来减少请求的数量。

    增加Kafka的分区数:如果Kafka集群只有一个分区,写入的数据会串行化处理,如果数据量较大会导致写入速度慢。增加Kafka的分区数可以并行化写入,提高写入速度。

    使用异步IO:可以尝试使用异步IO来写入Kafka,这样可以在写入数据的同时处理其他任务,提高整体性能。

    调整Flink的并行度:可以考虑调整Flink的并行度,增加并行度可以并行化写入Kafka,提高写入速度。但需要根据具体的场景进行优化,过多的并行度也可能会导致性能下降。

    使用本地Kafka:如果可以的话,可以将Kafka集群部署在与Flink相同的机器上,这样可以减少网络传输时间,提高写入速度。

    需要注意的是,每种优化策略的效果都取决于具体的场景,因此需要结合实际情况进行优化。同时,在优化之前,也需要先确定瓶颈在哪里,可以通过监控系统性能指标来找到瓶颈。

    1年前