apache-kafka - 当所有 Kafka Broker 不可用时,Log4j2 kafka appender 故障转移处理?
问题描述
我正在使用 Log4j2 Kafka appender 将我的所有应用程序日志发送到 Kafka,并且它可以工作。但是在某种情况下,当我故意关闭代理时,应用程序会挂起,并且 kafka appender 会继续重试建立连接。
当代理关闭时,如何停止写入 Kafka?并在可用后恢复?
以下是我使用的 appender 配置。
<Kafka name="KafkaServiceStatInfo" topic="testKafkaLogs">
<PatternLayout pattern="%m"/>
<Property name="bootstrap.servers">localhost:9092</Property>
<Property name="acks">0</Property>
</Kafka>
<Async name="Async">
<AppenderRef ref="KafkaServiceStatInfo"/>
</Async>
解决方案
推荐阅读
- angular - 未找到模块:错误:无法解析 FaunaDB JavaScript 驱动程序中的“http”
- c# - Gmail 像这样创建 mail+12321@gmail.com
- c++ - 在 Visual Studio for C++ 中使用通过 VCPKG 安装的 Qt5
- angular - Angular 服务无法使用外部 API
- javascript - 如何配置 `direflow-webpack.js` 以支持 `sass` 文件
- amazon-web-services - 使用 Golang 上传时 S3 图像下载而不是显示
- html - HTML/CSS - 在移动设备上和放大时溢出
- python - 如何有效地拆分日期时间列以在新列中设置时区?
- java - MongoDB中的文本索引
- typescript - loopback4 - openapi 规范中的错误关系映射