我的意思是,单个JVM的内存数不能大于1.5G,那么对于很多服务器,例如有32G内存的小型机,部署一个应用内存上的浪费岂不是太大了,根本无法完全发挥它的优势嘛!
而且,在我们的应用中,有的时候是可能突破1.5G限制的,尽管很少会出现,即使出现了也可以通过代码去解决,但是我总觉得眼睁睁得看着32G的内存却用不上,感觉可惜了。
后来我想,集群部署是不是可以解决这个问题,通过把应用部署在4-5个虚拟服务器上,每个受管服务器都有一个1.5G的JVM,这样4个话不久有6G的JVM可用空间了吗?
不知道我的理解对不对?有没有其他的好法子呢?欢迎大家参与讨论并指正!
如果用集群部署,假设我的系统使用的Spring+Hibernate技术,那么当我把应用部署到集群上后,除Session是状态复制外,其他的操作会不会也被复制。
比如,我在应用中写一个定时写数据库的定时器,如果部署到集群上,假设有4个集群服务器,我的定时器是12:00启动,那么到12:00时,会不会所有的受管服务器都启动定时器,实际部署中,我发现有这个问题,就是写了4份数据到数据库中了。
像这种问题,又如何处理呢?难道不用集群?
而且,在我们的应用中,有的时候是可能突破1.5G限制的,尽管很少会出现,即使出现了也可以通过代码去解决,但是我总觉得眼睁睁得看着32G的内存却用不上,感觉可惜了。
后来我想,集群部署是不是可以解决这个问题,通过把应用部署在4-5个虚拟服务器上,每个受管服务器都有一个1.5G的JVM,这样4个话不久有6G的JVM可用空间了吗?
不知道我的理解对不对?有没有其他的好法子呢?欢迎大家参与讨论并指正!
如果用集群部署,假设我的系统使用的Spring+Hibernate技术,那么当我把应用部署到集群上后,除Session是状态复制外,其他的操作会不会也被复制。
比如,我在应用中写一个定时写数据库的定时器,如果部署到集群上,假设有4个集群服务器,我的定时器是12:00启动,那么到12:00时,会不会所有的受管服务器都启动定时器,实际部署中,我发现有这个问题,就是写了4份数据到数据库中了。
像这种问题,又如何处理呢?难道不用集群?