代理应用程序的干净架构

Clean architecture for proxy applications

如果要开发一个 http 代理应用程序,例如实现内部微服务和第三方通信的速率限制器和数据预处理 API。我希望此应用程序适合 Clean Architecture 框架。我在这种情况下看到了一个重大问题:第三方 API 调用者直觉上属于最低抽象级别又名 entitys (例如实体创建的一种方式)但它使用 http客户端,它看起来像是对该层的多余依赖。

应用程序的纯数据流如下所示:

  1. 从客户端接收请求(http、amqp...)
  2. 编写第三方API查询url
  3. 调用 API 使用速率限制
  4. 预处理获取的数据
  5. Return 预处理数据到客户端

我应该将客户端(API 调用方)及其所有对第三方的调用 API 放在哪里?应该是实体还是控制者?

假设您正在谈论 Bob 叔叔的 Clean Architecture... 那么第三方 API 调用应该像数据库调用或任何其他第三方依赖项一样对待。它属于此图中最外层的圆圈,HTTP 库之类的东西绝对属于那里。