我有以下问题要解决。
我需要编写一个java程序:
- 从 Web 服务读取 JSON 对象 j1,j2,...,jn。
- 对每个对象进行一些数字运算以得出 j1',j2',...,jn'
- 将对象 j1',j2',...,jn' 发送到 Web 服务。
步骤 1、2 和 3 的计算、空间要求可以在任何给定时间变化。
例如:
- 在第 2 步处理 JSON 对象所需的时间可能会因 JSON 对象的内容而异。
- 步骤 1 中 Web 服务生成对象的速率可以随时间上升或下降。
- 步骤 3 中的使用 Web 服务可能会积压。
为了解决上述设计问题,希望实现以下架构:
- 从外部 web 服务读取 JSON 对象并将它们放在 Q
- 一个自动调整大小的工作线程池,它使用来自 Q 的 JSON 对象并处理它们。处理它们后,将生成的对象放在第二个 Q
- 一个自动调整大小的工作线程池,它使用来自第二个 Q 的 JSON 对象以将它们发送到使用 Web 服务。
问题:
我很好奇是否有可以用来解决这个问题的框架?
笔记:
- 我可以使用一系列组件(例如自定义队列、使用并发包的线程池)来解决这个问题——但是我正在寻找一种允许编写此类解决方案的解决方案。
- 这不会存在于容器内。这将是一个 Java 进程,其入口点是 public static void main(String args[])
- 但是,如果有适合这种范例的容器,我想了解它。
- 我可以将其拆分为多个进程,但是我想保持它非常简单并且在一个进程中。
谢谢。
谢谢。