我有一个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中ByteArrayInputStream和ByteArrayOutputStream用法详解 2023-01-09
- Dubbo本地调试的几种方式总结 2023-07-01
- Java实现归并排序的示例代码 2023-04-23
- 详解OpenFeign服务调用(微服务) 2023-02-19
- Spring Boot整合持久层之JdbcTemplate多数据源 2023-04-12
- java根据负载自动抓取jstack dump详情 2023-06-01
- 深入理解Java并发编程之ThreadLocal 2023-03-22
- jsp输出九九乘法表的简单实例 2023-08-02
- java – Hibernate 3:无法查询PostgreSQL数据库 2023-11-01
- MyBatis流式查询的项目实践 2023-04-16