首页 > 解决方案 > 如何通过简单的配置构建异步数据加载

问题描述

我的网络应用程序中有一个进程,它只是一系列 CRUD 请求。订单通常是严格的,唯一的区别是每个进程的 ID 都不同。我想做“异步”数据加载。例如:

  1. 用户提出第 1 步的请求。
  2. 服务器给他/她的响应,一旦服务器建立完整的响应,它就开始为第 2、3、5 步构建数据......并将其放入缓存中。

我的问题是:您能建议任何使其简单易读的机制吗?这是'主要要求。Spring对此有什么帮助吗?(WebFlux 不太适合架构)

标签: javaspringmultithreadingthreadpool

解决方案


我认为你可以使用producer-consumer design pattern

例如。
1.从客户那里得到一个请求,做第1步的工作。
2.响应客户端。
3.制作一个task entity,然后将其添加到一个task queue
4. Http工作线程结束。
5. 在另一个线程中执行步骤 2-N。并将结果放入缓存中。

对于框架,akka是一个不错的选择。 RxJava可能也不错。

你可以自己实现它。


推荐阅读