如何解决卡夫卡消费者健康检查并重新创建
我们在一个项目上使用Spring Kafka Client。最近,我们注意到,如果Kafka使用者由于OutOfMemoryError服务而死亡,则该服务将继续正常运行,并且不会创建新的使用者。解决此问题的唯一方法是监视日志中的OOM并手动重新启动服务。 我们正在寻找一种使消费者休闲娱乐自动化的方法,例如:
- 强制Spring(以某种方式)检测死亡的使用者并在运行时创建新的使用者。
- 如果使用方线程中的OOM杀死了整个服务,则AWS自动扩展组可以创建该服务的新实例。
任何建议或想法都会受到赞赏。 谢谢!
解决方法
我找到了与上述选项2相关的解决方案。 从Java版本“ 1.8.0_92”开始,有一些JVM选项允许在OOME情况下终止整个JVM:
1. -XX:+ExitOnOutOfMemoryError
2. -XX:+CrashOnOutOfMemoryError
已添加,请参见release notes。
ExitOnOutOfMemoryError (启用此选项),JVM在第一次出现内存不足错误时退出。如果可以使用 您宁愿重新启动JVM实例,而不是处理掉 内存错误。
CrashOnOutOfMemoryError (启用此选项),当发生内存不足错误时,JVM崩溃并产生文本和 二进制崩溃文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。