Bon*_*y M 4 java concurrency spring jpa
我正在开发一个Spring MVC JPA Web应用程序.当这个应用程序在实时部署时,我的应用程序与之交互的同一个DB将同时被其他2个Dotnet和VB应用程序使用.我通过版本列管理我的JPA应用程序的并发性.
在同一个数据库中同时运行这3个应用程序时会出现任何问题吗?所有系统都使用相同的表.
我将来必须为同一个DB构建另一个应用程序(最可能是Spring MVC + JPA).在同时运行这两个应用程序时会出现任何问题(在两个应用程序中保持相同的表等)?
访问相同数据库表的多个应用程序可能(通常是)并发噩梦.只是向表中添加版本列没有帮助,因为每个应用程序可能使用不同的并发管理机制.跨应用程序共享数据库时遇到的常见问题(假设所有人的读写访问权限并且没有特定顺序):
SERIALIZABLE对所有事务使用隔离级别并对数据库执行长时间运行操作,从而导致队列,死锁和超时.即使其他应用程序没有破坏数据,它们最终也可能因死锁和超时而看到太多错误,从而降低了它们的实用性.更好的方法是使用服务公开公共数据库表.该服务可以始终保持一致和受控制.处理服务变更的常见团队可以确保最大限度地减少意外变更,并及时向所有受影响的各方传达.
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |