需要帮助来分离文件处理服务器

Need help to separate out file processing server

我开发了 Document Management System (DMS) 具有 OCR 功能。但是,它需要 too much time 来处理,以及 high CPU usage.

我现在的进程是同步的,如下:

  1. 用户上传他的文件
  2. OCR 处理
  3. 在数据库中存储文档信息

考虑到实时生产负载,我想在 dedicated file processing separate server.

上将上面的第二步异步化

我的问题是,

  1. 这样做正确吗?
  2. 如何send/retrieve那个文件到另一个服务器去处理?我还发现可以使用消息队列,但我无法在其中添加整个文件。
  3. 无论如何,我们可以确认流程完成吗?

只是为了结束这个问题,我已经在单独的文件处理服务器上成功地分离了 OCR 进程,这确实帮助我解决了高 CPU 使用率,使用 FIFO 方法。

遵循以下步骤:

  1. 用户上传文件
  2. OCR 状态待定
  3. 单独的服务器进程文件,根据 FIFO 方法一次挂起。
  4. 更新数据库中的 OCR 处理状态。

以后可以根据需要和服务器负载增加处理服务器。