DIS Kafka Adapter 常见客户问题
1. Assign、Subscribe、Pattern 三种模式有什么区别?
Assign模式
给Consumer手动分配分区,需要显式指定需要消费的分区。
Subscribe模式
直接订阅通道,服务端直接完成分区分配。
Pattern模式
也属于Subscribe模式,只不过是使用正则表达式的方式来订阅通道。
2. DIS Consumer 如何指定线程数?
props.setProperty(DisConsumerConfig.MAX_FETCH_THREADS_CONFIG, "50");
3. DIS Producer 如何指定线程数?
props.setProperty(DisProducerConfig.PROPERTY_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, "20");
4. 发送数据时如何保证 At Least Once?
需要开启失败无限重试:
props.setProperty(DISConfig.PROPERTY_PRODUCER_RECORDS_RETRIES, "-1");
props.setProperty(DISConfig.PROPERTY_PRODUCER_EXCEPTION_RETRIES, "-1");
5. DIS Producer 如何保证单分区保序?
只启动一个线程来发送数据:
props.setProperty(DisProducerConfig.PROPERTY_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, "1");
6. DIS Producer 如何配置单批次发送的记录数和大小
修改单批次发送的记录条数:
props.setProperty(DISConfig.PROPERTY_PRODUCER_BATCH_COUNT, "1000");
修改单批次发送的总记录大小:
props.setProperty(DISConfig.PROPERTY_PRODUCER_BATCH_SIZE, "1048576");
7. DIS Producer 和 DIS Consumer 是否线程安全?
DIS Producer 是线程安全的,而 DIS Consumer 是非线程安全的。
- 点赞
- 收藏
- 关注作者
评论(0)