我正在开发一个webapp项目,我们正在考虑在多个服务器上部署它。
您建议使用Spring进行群集/负载平衡的解决方案是什么?
需要考虑哪些问题?
例如:单身人士如何在机器群中行事?会话复制怎么样?还有其他问题需要考虑吗?
答案 0 :(得分:11)
以下是可能出现的问题列表(不一定与Spring有关):
有状态bean - 如果您的bean有状态,比如收集某些东西或计数器的集合,您需要考虑是否应该复制此状态。例如。该计数器应该是一个JVM的本地计数器还是整个集群中的全局计数器?在后一种情况下,请考虑terracotta和hazelcast
filesystem - 只要所有实例都使用相同的数据库,一切都很好。但是如果一个节点写入磁盘,则其他实例无法读取它。解决方案?为所有存储或分布式文件系统使用数据库
HTTP会话 - 使用粘性会话或复制会话。如果您要进行复制,请尽可能减少会话。
异步作业 - 如果您每小时都有一个作业,它应该在每台机器上运行,还是仅在专用机器上运行(或者可能是随机运行的)?
< / LI>