如何通过简单的配置构建异步数据加载
How to build asynchronous data loading with simple configuration
我的网络应用程序中有一个进程,它只是一系列 CRUD 请求。订单通常是严格的,唯一的区别是每个进程的 Id 都不同。我想进行 "asynchronous" 数据加载。例如:
- 用户请求第 1 步。
- 服务器给 him/her 响应,一旦服务器构建完整的响应,它就会开始为步骤 2、3、5...构建数据并将其放入缓存中。
我的问题是:您能否建议任何一种机制,使其变得简单易读?这是主要要求。 Spring 有这方面的东西吗? (WebFlux 不太适合架构)
我想你可以使用 producer-consumer design pattern
例如。
1. 从客户那里得到一个请求,做第一步工作。
2.响应客户端。
3.制作一个task entity
,然后将其添加到一个task queue
.
4. Http工作线程结束。
5. 在另一个线程中执行步骤 2-N。并将结果放入缓存。
对于框架,akka是一个不错的选择。
RxJava
可能也不错
也可以自己实现。
我的网络应用程序中有一个进程,它只是一系列 CRUD 请求。订单通常是严格的,唯一的区别是每个进程的 Id 都不同。我想进行 "asynchronous" 数据加载。例如:
- 用户请求第 1 步。
- 服务器给 him/her 响应,一旦服务器构建完整的响应,它就会开始为步骤 2、3、5...构建数据并将其放入缓存中。
我的问题是:您能否建议任何一种机制,使其变得简单易读?这是主要要求。 Spring 有这方面的东西吗? (WebFlux 不太适合架构)
我想你可以使用 producer-consumer design pattern
例如。
1. 从客户那里得到一个请求,做第一步工作。
2.响应客户端。
3.制作一个task entity
,然后将其添加到一个task queue
.
4. Http工作线程结束。
5. 在另一个线程中执行步骤 2-N。并将结果放入缓存。
对于框架,akka是一个不错的选择。
RxJava
可能也不错
也可以自己实现。