1. 场景描述
java老系统要做多机部署,对外提供服务,让分析下可能需要做哪些工作,简单梳理了下,分享下。
2. 解决方案
多机部署可能存在问题及初步方案:
2.1 session共享问题
场景: A服务器登录,请求负载打到B服务器会报未登录;
初步方案:软件老王以前这样做过,springboot+Spring Session+redis实现session共享。
2.2 定时任务
场景:定时任务多机部署,会存在重复执行及垃圾数据。
初步方案:通过固定ip执行或者时间错开,都不太行,网上给了一种方案,通过数据库中的排他锁的方式,侵入性有点高,软件老王在看能不能通过aop来做。
2.3 多线程任务处理问题
场景:多线程任务处理问题,前端请求A服务器创建了线程执行任务,再次请求可能会到B服务器
初步方案:考虑使用指定ip策略,但是该策略存在缺陷,无法自动下架宕机机器,需要再看下