这是最好的 architecture/design 来处理 Java 生态系统中处理每个请求的负载大且耗时的过程的请求吗?
Is this the best architecture/design to handle requests with large payload and heavy time-consuming process to handle each request in Java Ecosystem?
哪个是处理发送 ID 列表(每个请求中有超过 1000 个 ID)的多个 http 请求的最佳架构,并且每个请求将是一个与其他系统(使用 SOAP)通信的耗时的过程或 REST)并将数据保存到 RDBMS 中?
我应该在 POST HTTP 请求中发送 ID 吗?
我是否应该在 Resource/Controller REST 中使用 Spring 框架 Async/Futures(没有 return)来处理耗时的过程和 return HTTP 202接受(可能还有一个 ID 来查询进程或资源的状态)?
或者如果我的 Resources/Controllers REST 只将消息放入 JMS 队列(可能是每个 REST 方法的持久队列)并且消息驱动的 Bean(对于每个方法)使用消息并处理是否好请求?
如果我的 Resources/Controllers REST 或像代理一样的 class 将对我的系统的请求和其他系统的响应保存在数据库中以用于日志记录和修复问题,这是个好主意吗?或者我应该使用 JMS 中的重试功能吗?
我同意邓尼的观点;但是,您的一般要求听起来像 JMS 是一个不错的起点。这将允许客户端放弃请求并允许后端组件尽可能地处理请求。当然,你需要足够的后端能力来在合理的时间范围内完成所有请求。
哪个是处理发送 ID 列表(每个请求中有超过 1000 个 ID)的多个 http 请求的最佳架构,并且每个请求将是一个与其他系统(使用 SOAP)通信的耗时的过程或 REST)并将数据保存到 RDBMS 中?
我应该在 POST HTTP 请求中发送 ID 吗?
我是否应该在 Resource/Controller REST 中使用 Spring 框架 Async/Futures(没有 return)来处理耗时的过程和 return HTTP 202接受(可能还有一个 ID 来查询进程或资源的状态)?
或者如果我的 Resources/Controllers REST 只将消息放入 JMS 队列(可能是每个 REST 方法的持久队列)并且消息驱动的 Bean(对于每个方法)使用消息并处理是否好请求?
如果我的 Resources/Controllers REST 或像代理一样的 class 将对我的系统的请求和其他系统的响应保存在数据库中以用于日志记录和修复问题,这是个好主意吗?或者我应该使用 JMS 中的重试功能吗?
我同意邓尼的观点;但是,您的一般要求听起来像 JMS 是一个不错的起点。这将允许客户端放弃请求并允许后端组件尽可能地处理请求。当然,你需要足够的后端能力来在合理的时间范围内完成所有请求。