我有一个生产者服务器和一个消费者服务器。生产者服务器将时间发送到rabbitmq队列。消费者获取时间并将其放入ScheduledExecutorService池中。在指定的时间,使用者完成任务。我担心我的消费者会跌倒,我会丢失数据。所以我需要实时知道我的消费者服务器什么时候会崩溃。但是我没有找到实现它的方法。请告诉我怎么做?
发布于 2020-10-22 11:45:38
您可以使用众多可用服务中的一个来监视您的服务器,并报告它是否没有响应。例如,您可以使用https://uptimerobot.com/并在您的服务上公开一个简单的HTTP端点,然后在该端点不可用时进行报告。还有许多其他全面的监控服务可用,如: datadog,monitis,new relic等。或者,您可以通过让另一台服务器定期检查HTTP端点或消费者服务器上是否有可用的任何东西来构建您自己的服务,如果不是,则通知您。
话虽如此,我还是建议您更换您的客户,以避免数据丢失,如果它崩溃,因为您在您的客户上创建调度任务,我建议您看一看Quartz调度程序,并使用它来调度和处理您的作业,而不是使用定制的解决方案。如果您使用像JDBCJobStore这样的持久性存储,Quartz将确保您的作业即使在失败之后也能运行。http://www.quartz-scheduler.org/overview/
https://stackoverflow.com/questions/64450402
复制相似问题