我正在 jboss7 上构建一个常规 Java EE 应用程序,该应用程序将在数据层中使用 JPA。我想让这个应用程序随着负载的增加而扩展。虽然如何扩展 Web 层非常清楚:创建更多机器并将它们放在负载均衡器后面,但扩展数据层却不太清楚。
我也许可以对我的数据库(MySQL)进行集群。尽管如此,JPA 层仍处于非聚集状态。理想情况下,JPA 将通过使用 MySQL 支持的(集群)内存缓存来扩展。
当我环顾四周时,所有有关 JPA 扩展的信息似乎都有 3-4 年历史了。人们谈论 ehcache、memcached 和 infinispan。我不确定这是否仍然是最新的。
有人可以告诉我 Java EE 集群和扩展的最新技术吗,特别是在数据层。
各种缓存策略仍然是扩展 JPA/Hibernate 的方法(您基本上列出了问题中最流行的选项)。据我所知,在这个领域工作四五年以来,没有发生什么特别的事情。您没有提到的另一个选项是 JBoss Cache。因此 JPA/Hibernate 的二级缓存仍然在这个领域占据主导地位。
为什么这里没有进展?我的疯狂猜测是,首先,需要可扩展应用程序的人们往往会在需要高性能的领域忽略 JPA 和 Hibernate。通常人们使用带有 Spring Framework JDBCTemplate 帮助程序和事务管理的 SQL。那么可扩展性就是这方面的数据库能力的问题。
另一个趋势是使用 No-SQL 数据库。有多种解决方案:MongoDB、CouchoDB、Cassandra、Redis 等等。这些通常是类似 Google BigTable 的键值存储(这过于简单化了,但这或多或少是该方法背后的想法),如果您接受它们的限制(关系不再容易管理等),它们的扩展性会非常大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)