扩展和集群 JPA

2023-12-31

我正在 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(使用前将#替换为@)

扩展和集群 JPA 的相关文章

  • 会话 bean 中的 EntityManager 异常处理

    我有一个托管无状态会话 bean 其中注入了 EntityManager em 我想做的是拥有一个具有唯一列的数据库表 然后我运行一些尝试插入实体的算法 但是 如果实体存在 它将更新它或跳过它 我想要这样的东西 try em persist
  • 如何缓存 ASP.NET 网站以获得更好的性能

    我是一名网页设计师 通常设计不需要更新的企业网站 所以我想将输出缓存一天 我怎样才能做到这一点 此外 任何有关在慢速服务器上提高 ASP NET 性能的建议都被接受 请注意 ASP NET 缓存有一个bug http connect mic
  • Spring Data (JPA) 多个存储库,没有很多类

    在我当前的项目中 我使用 Spring Data JPA 并且有 20 多个 Entity类 我想为它们创建存储库 但创建另一个类 每个类适用于任何模型 Repository注释似乎是某种矫枉过正和大量 重复 代码 所有存储库类将如下所示
  • 如何使用 EclipseLink 处理以 Oracle 类型作为输入或输出的 Oracle 存储过程调用

    我进行了概念验证 以了解使用 EclipseLink 调用存储过程的效率如何 我能够使用带有标量 原始数据类型 链接整数 varchar 等 的 EclispeLink 来调用 Oracle 存储过程 我想了解如何使用集合 Oracle 类
  • 使用 EAR 与 WAR 相比有何优势?

    我们正在 Wildfly 8 上部署 JavaEE 7 应用程序 之前 我们已将所有企业应用程序 WAR 多个 EJB JAR 文件 打包为 EAR 然而 现在 JavaEE 允许您将 EJB 打包在 WAR 文件中 或者作为 WAR 的
  • ManyToOne 关系上的 Hibernate @Where 注释

    我最近开始重构我的项目 因为我必须在一些表中添加额外的列 额外的列是一个枚举 待定或活动 由于这一更改 我现在需要重构所有查询 以便仅在状态为 活动 时检索行 经过一些研究 我发现我们可以使用 Where 注释来注释实体 当我在简单的列上使
  • JPA更新一对多关系列表

    我有一个 Question 实体 其中包含另一个名为 Alternatives 的实体的列表 如下所示 public class Question OneToMany fetch FetchType LAZY mappedBy questi
  • 通过分布式数据库聚合作业优化网络带宽

    我有一个分布式 联合数据库 结构如下 数据库分布在三个地理位置 节点 每个节点集群有多个数据库 关系数据库是 PostgreSQL MySQL Oracle 和 MS SQL Server 的混合体 非关系数据库是 MongoDB 或 Ca
  • BigDecimal 的 JPA @Size 注释

    我该如何使用 SizeMySQL 的注释DECIMAL x y 列 我在用着BigDecimal 但是当我尝试包括 Size max它不起作用 这是我的代码 Size max 7 2 Column name weight private B
  • 我需要在 Java 9 中使用哪个模块才能使用 JPA?

    我正在使用一个需要 JPA 的项目测试 Java 9 javax persistence 类 当我添加module info java并声明我的模块 下的所有类javax persistece包变得不可用 我搜索了很多 但找不到在 Java
  • 可空日期列合并问题

    我在 Geronimo 应用程序服务器上使用 JPA 和下面的 openjpa 实现 我也在使用MySQL数据库 我在更新具有可为空 Date 属性的对象时遇到问题 当我尝试合并 Date 属性设置为 null 的实体时 不会生成 sql
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • Jackson:将对象引用为属性

    在我的 java spring 应用程序中 我正在使用 hibernate 和 jpa 并使用 jackson 来填充数据库中的数据 这是用户类 Data Entity public class User Id GeneratedValue
  • 单元测试时静态元模型属性为 null

    我在外部包中有 Entity 类 这些类也有静态元模型 在我的应用程序的服务类中 我使用这些元模型和 EntityManager CriteriaBuilder CriteriaQuery 来检索我的数据 这在运行应用程序时工作得很好 但是
  • JPA 和 PostqreSQL:长字符串持久化

    谁能告诉我如何使用 JPA 保存长文本 我使用 PostgreSQL 这是我在类中定义很长字符串的方法 Lob private String body 然而 这会产生一个类型的字段字符变化 255 在数据库中 此外 我尝试使用 Column
  • docker build --no-cache 是否构建不同的层?

    几个月前 我决定使用以下命令设置我的项目构建 docker 镜像的 CIno cacheflag 我认为最好不要冒险让 docker 使用旧的缓存层 我现在才意识到 我的图像各层的 sha 总是不同的 即使新构建的图像应该生成与之前构建的相
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • ProGuard 可以与 JavaEE 6 应用程序一起使用吗?

    我试图让 Proguard 混淆一个简单的 war 文件 根据文档 Proguard 处理 war 文件 但是当我尝试时我得到这个 Warning class WEB INF classes com corp gr t2b T2BChann
  • Spring 规范 - 谓词的联合

    我需要一个函数来过滤参数并构建查询 我有 4 个参数 因此如果我尝试为每个条件实现查询 我将不得不编写 16 2 4 实施 这不是一个好主意 我尝试通过界面改进我的代码Specification来自 Spring Data JPA 但我无法
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预

随机推荐

  • ARM NEON SIMD 版本 2

    Cortex A15 中的 NEON SIMD 和 NEON SIMD 版本 2 有什么区别 它添加了 SIMD FMA 指令 VFMA F32 并且还强制要求 NEON 半精度扩展 ARM Cortex A7 ARM Cortex A15
  • HTTPS nonProxyHosts 的 JVM 参数

    所以我有一个相当加载的环境变量 JAVA OPTIONS export JAVA OPTIONS Dhttp proxyHost my proxy com Dhttp proxyPort 1080 Dhttps proxyHost my p
  • Python Eve:请求的资源上不存在“Access-Control-Allow-Origin”标头

    我使用Python EVE框架编写了一个API 当尝试从 AngularJS 应用程序访问 API 时 它显示错误 如下所示 XMLHttpRequest cannot load http 127 0 0 1 5000 user jay3d
  • 创建未知大小的稀疏矩阵

    例如 我有一个文本文件 其中每一行都指示图形上的一条边 2 5 1 表示节点 2 和 5 之间权重为 1 的边 我想使用这些元组创建一个稀疏邻接矩阵 通常 我会将稀疏矩阵初始化为 G scipy sparse lil matrix n n
  • const char* 的奇怪 std::cout 行为

    我有一个方法返回一个字符串以显示为错误消息 根据程序中发生此错误的位置 我可能会在显示错误消息之前添加更多解释 string errorMessage return this is an error somewhere in the pro
  • 在 Java 面板中包含命令提示符

    我有一个批处理文件 可以从 SVN 中检出代码并对其调用几个命令 这发生在 Windows 命令提示符上 我想从我的 java 程序调用这个批处理文件 并且命令提示符必须出现在我的应用程序窗口的控制台中 而不是作为单独的窗口 这样我就可以从
  • 如何在图像周围添加图像边框?

    有没有简单的方法可以在图像周围添加图像边框 原因是我想在图像周围创建阴影效果 图像作为缩略图加载 大小为 110x75 像素 我正在考虑创建阴影边框 但不知道如何将其添加到图像周围 有人知道方法吗 最好是PHP 您可以使用 GD 库或 Im
  • 我的应用程序中的 ic_launcher 图标错误

    我正在开发一个应用程序Honeycomb并遇到了这个非常奇怪的问题 我更改了应用程序图标 ic launcher 在每一个drawable文件夹并确保它在清单中正确 但我有一个标准 settings 启动器中的图标 在应用程序本身中是正确的
  • SVG 圆中 dasharray 属性的奇怪行为

    我正在尝试创建 SVG 圆的无限动画循环 我想创建 12 个相等的块 并将它们分开一些间隙 为了计算我使用的圆片的价值k系数见下表 所以我做了 0 25782 160 我的圆的直径 我得到 41 2512 它应该是我的棋子的值 之后我创建了
  • 获取正在运行的进程的维度

    我正在尝试抓取应用程序中特定 x y 位置的屏幕截图 有没有办法在 Process 对象中获取正在运行的应用程序 然后获取它的尺寸 就像是 Process processlist Process GetProcesses foreach P
  • 验证错误:值无效

    我的 p selectOneMenu 有问题 无论我做什么 我都无法让 JSF 调用 JPA 实体上的 setter JSF 验证失败并显示以下消息 形式 位置 验证错误 值无效 我在同一类型的其他几个类 即连接表类 上进行了此工作 但我一
  • 无法使用 Espresso 将文本添加到 webview 文本字段

    我正在尝试将文本添加到 Esprsso 中的文本字段 在 Web 视图内 但收到此错误 引起原因 java lang RuntimeException 评估错误评估 状态 13 值 message 无法设置选择结束 hasMessage 真
  • Java 中的动态绑定==后期绑定吗?

    在不同的来源中 我读到了有关该主题的不同内容 例如维基百科说 后期绑定经常与动态调度混淆 但两者之间存在显着差异 但几行之后 在 Java 编程中 流行使用术语 后期绑定 作为动态分派的同义词 具体来说 这是指与虚拟方法一起使用的 Java
  • 部分选择排序与合并排序查找“数组中最大的 k”

    我想知道我的思路是否正确 我正在准备面试 作为一名大学生 我遇到的问题之一是找到数组中最大的 K 个数字 我的第一个想法是只使用部分选择排序 例如 从第一个元素扫描数组 并为看到的最低元素及其索引保留两个变量 并与数组末尾的该索引交换 并继
  • 如何批量加载从其他来源生成的自定义 Avro 数据?

    Cloud Spanner 文档说 Spanner 可以导出 导入 Avro 格式 此路径是否也可用于批量摄取从其他来源生成的 Avro 数据 该文档似乎表明它只能导入同样由 Spanner 生成的 Avro 数据 我运行了一个快速导出作业
  • 当 MPMovieControlStyle = MPMovieControlStyleNone 时如何触摸/单击 MPMoviePlayerController 视图

    在我的一个应用程序中 我不想显示任何视频控制器 但我需要接触媒体播放器视图 我需要在触摸电影播放器 时执行一些其他操作 我怎样才能实现它 请帮忙 提前致谢 您可以随时附上UITapGestureRecognizer查看并处理水龙头 UITa
  • 如何在 PySpark 中读取 Avro 文件

    我正在使用 python 编写 Spark 作业 但是 我需要读取一大堆 avro 文件 This https github com apache spark blob master examples src main python avr
  • Firebase 托管 MIME 类型

    有没有人找到一种方法来设置使用 Firebase 托管托管文件时在 Content Type 标头中返回的 mime 类型 文档说他们支持规则文件中的某些标头 但不支持内容类型 无论如何我都将其绑定 但由于错误 hosting header
  • 将范围传递给 AngularJS 上的服务

    我对 AngularJS 还很陌生 我想将范围传递给服务 这样我就可以根据scope value 执行标签搜索 div div div div
  • 扩展和集群 JPA

    我正在 jboss7 上构建一个常规 Java EE 应用程序 该应用程序将在数据层中使用 JPA 我想让这个应用程序随着负载的增加而扩展 虽然如何扩展 Web 层非常清楚 创建更多机器并将它们放在负载均衡器后面 但扩展数据层却不太清楚 我