我有一个Java SOAP数据服务,它位于Sybase数据库之上,由于我无法控制的原因,它具有不可靠的性能.该数据库是供应商软件包的一部分,该软件包已由内部团队修改,大多数问题是由一天中某些时间的响应时间较慢引起的.SOAP服...
我有一个Java SOAP数据服务,它位于Sybase数据库之上,由于我无法控制的原因,它具有不可靠的性能.该数据库是供应商软件包的一部分,该软件包已由内部团队修改,大多数问题是由一天中某些时间的响应时间较慢引起的.
SOAP服务向计算网格提供数据,当我请求数据时,我需要快速且一致的响应时间.该服务提供基本的CRUD功能,但读写比率约为100:1.
将自己与数据库的不可靠性能隔离开来并确保SOAP服务快速可靠的最佳策略是什么?
解决方法:
我已经看过几次这个问题,通常是供应商数据库.
如果这是在Windows上,您可以创建Windows服务作为SOAP服务和数据库之间的中介.然后在SOAP服务和Windows服务之间放置一个消息队列(MSMQ或JMS实现,如MQ Series),以进行异步通信.这样,数据库性能问题将不再影响SOAP服务.然而,该解决方案的确以增加复杂性为代价.
请注意,.NET Web服务可以由其客户端调用,并以异步方式响应其客户端.我不确定Java SOAP服务是否可行.
如果这是Unix的某种风格,我认为它具有与Windows服务类似的功能 – 可能是一个守护进程.
本文标题为:java – 如何才能最好地将我的应用程序与不可靠的数据库隔离开来?
基础教程推荐
- java 线程池存在的意义 2023-01-08
- Java图书管理系统课程设计 2022-11-07
- 在Java中使用PostgreSQL Domain和Struct类型 2023-10-29
- Spring 容器初始化 register 与 refresh方法 2023-02-19
- 解决springboot 部署到 weblogic 中 jar 包冲突的问题 2023-04-11
- Java中读写锁ReadWriteLock的原理与应用详解 2023-06-05
- 简单解析java方法在调用在内存中的执行过程 2023-02-27
- 智能 AI 代码生成工具 Cursor 安装和使用超详细教程 2023-07-15
- Java中值类型和引用类型详解 2023-08-07
- JSP Spring中Druid连接池配置详解 2023-08-01
