Kafka持久化存储方案的取舍咨询?

一个方案一般都是有取舍的,Kafka持久化存储方案报告中主要说明了优势,能否也简单说明下风险或劣势分析。比如消息丢失、容错方面。显示全部

一个方案一般都是有取舍的,Kafka持久化存储方案报告中主要说明了优势,能否也简单说明下风险或劣势分析。比如消息丢失、容错方面。

收起
参与7

查看其它 1 个回答罗文江的回答

罗文江罗文江课题专家组云计算架构师某银行

出现消息丢失的现象,是KAFKA参数配置失当的问题。譬如:(1) Producer 参数:如果想保证数据绝对不丢失, Producer 需要开启重试逻辑,并且设置 ACKS=all ,如果需要增大吞吐量,可以考虑设置较大的 batch.size (默认为 16K )。 (2)Partition参数:分区副本数建议为 2 或 3 ,从可靠性考虑,非常关键业务建议设置为 3 。 (3) Replicas 参数: Kafka 应用对于可靠性要求较高的场景常采用 3 副本; 3 副本相较于单副本,牺牲了大量的性能。在对业务可用性可以接受的情况下,可考虑使用单副本,并利用 K8S 平台 + 共享 NAS 存储的方式保证可靠性。

容错方面需要加强规划和运维管理。譬如: (1)容器化部署 Kafka 时,建议部署多个小规模集群,每个集群 Broker 数量通常不超过 20 个。 (2)单个 Topic 分区数建议控制在 10 个以内。 (3)单个 Consumer Group 的 Consumer 的个数最好与 Topic 的分区数成一定比例,这样能够最大化的提升 Consumer 的资源利用率。 (3) Kafka 应用对于可靠性要求较高的场景常采用 3 副本 。(4) − 当业务压力超过当前配置性能极限时,此时时延会成倍增加,对业务造成较大的影响。因此当 Kafka 性能即将到达瓶颈时,需要尽快提升集群的配置,如 Broker 数量、 Broker 配置等。

银行 · 2023-05-09
浏览664

回答者

罗文江
云计算架构师某银行
擅长领域: 云计算容器容器云

罗文江 最近回答过的问题

回答状态

  • 发布时间:2023-05-09
  • 关注会员:3 人
  • 回答浏览:664
  • X社区推广