我有一个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 – 如何才能最好地将我的应用程序与不可靠的数据库隔离开来?
- Mybatis plus中的like查询问题 2023-02-05
- springboot实现启动直接访问项目地址 2023-08-08
- Spring中字段格式化的使用小结 2023-02-04
- java利用Future实现多线程执行与结果聚合实例代码 2023-08-11
- Spring Boot2配置Swagger2生成API接口文档详情 2023-05-19
- Spring Boot详解创建和运行基础流程 2023-01-18
- mybatis-plus 插入修改配置默认值的实现方式 2023-02-19
- springboot实现学生管理系统 2023-03-16
- Java利用Netty时间轮实现延时任务 2023-04-18
- Java通过动态规划设计股票买卖最佳时机 2023-06-17