开发者社区 问答 正文

Apachehttpserver 和 tomcat做负载均衡,项目里有一个定时器,运行报错。

环境:

  1. ApacheHttpServer + 4个tomcat做负载均衡
  2. 项目里面有一个定时器,每个tomcat在运行的时候都会执行这个定时器,然后总是报错。
    问题:像我这样做负载的时候是否需要把其他三个tomcat项目的定时器注释掉,只留一个,是否有这样的限制啊?

实际结果:我就是4个tomcat只有一个保留定时器,这样就不报错了,项目运行良好

展开
收起
落地花开啦 2016-06-03 14:13:11 2190 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    在数据库配置表设置一个定时器设置指定哪个节点(IP)来做那个定时器,tomcat启动的时候访问设置就知道自己是不是要执行定时器,其他节点空执行或不注册定时器即可,不过这会单点故障。
    更好的方法可以用数据库锁或分布式锁让几个节点竞争处理

    2019-07-17 19:26:33
    赞同 展开评论