我有一个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 – 如何才能最好地将我的应用程序与不可靠的数据库隔离开来?
基础教程推荐
- ExecutorService实现获取线程返回值 2023-04-12
- 什么MySQL数据类型将存储此Java BigInteger? 2023-11-04
- Java创建线程的方式解析 2023-03-22
- IDEA错误:找不到或无法加载主类的完美解决方法 2023-03-15
- 关于springboot中对sqlSessionFactoryBean的自定义 2023-08-07
- 基于MyBatis的数据持久化框架的使用详解 2023-04-17
- 详解Java中static关键字的使用和原理 2023-06-16
- 使用Feign logging 开启调用日志 2023-01-12
- SpringBoot+RabbitMQ实现消息可靠传输详解 2022-11-08
- 详解如何在Java中加密和解密zip文件 2023-06-01