ecloud
V2EX  ›  Java

Tomcat HA 问题

  •  
  •   ecloud ·
    yecloud · Jun 7, 2022 · 1671 views
    This topic created in 1434 days ago, the information mentioned may be changed or developed.

    我的程序除了一个标准的后端 app 以外,还会运行一个(或多个)订阅线程

    需求是这样的

    1. 正常 Master 运行的时候,Standby 的订阅线程不能启动
    2. 当 Master 失效的时候,需要杀死 Master 的订阅线程(如果它还活跃的话)
    3. 当 Standby 接管的时候,启动他自己的订阅线程
    4. 订阅线程可以接受些许延迟,不要求切换的瞬间就启动

    我查看了一下 Haproxy 和 Tomcat 自己的 HA 功能,似乎都没有一个“切换脚本”这种东西

    是不是必须用 LVS+keepalive 这种方法,或者商业的 HA 方案?

    4 replies    2022-06-08 14:13:00 +08:00
    julyclyde
        1
    julyclyde  
       Jun 7, 2022
    把这个后台任务和 web 服务混在一起,我觉得不合适
    litguy
        2
    litguy  
       Jun 8, 2022
    最简单的就是配置一个 daemon 脚本,定时检查 service ,失效就 crash 节点
    byte10
        3
    byte10  
       Jun 8, 2022
    少年,一个分布式锁就可以解决了。另外你这个为啥不是做负载均衡,而是做 HA ?
    ecloud
        4
    ecloud  
    OP
       Jun 8, 2022
    @julyclyde 嗯,现在提供的简易解决方法是把订阅部分单独部署在一台服务器上,由一个看门狗监控状态。由于用户方的维护水平很低,最终大概不会考虑 LVS 之类的方案,或许建议用户直接购买商业 HA 产品。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4520 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 05:30 · PVG 13:30 · LAX 22:30 · JFK 01:30
    ♥ Do have faith in what you're doing.