将REST服务作为插件

本文关键字:插件 服务 REST | 更新日期: 2023-09-27 18:08:50

假设我有一些REST服务A正在运行。作为客户端请求的一部分,它执行步骤1、2和3。我想让一些第三方REST服务器能够为我完成第2步。假设REST服务B、C或D可以插入/注册到A,并代表它执行第二步。

所以流看起来像这样:

  1. 服务B向A注册(或A以某种方式发现B)其配置- URL,安全支持,版本等

  2. A从客户端得到一个请求,执行1,调用B,从B得到响应,然后执行3,然后将结果响应给客户端。

应该遵循什么设计模式来确保可扩展性和可伸缩性?我在这里看到的挑战之一是需要确保A和B或C之间的契约是正确的。

将REST服务作为插件

你的设计基本正确。这是面向服务体系结构的经典案例,其中每个服务都被委托执行一项指定任务。我要确定的是-每个服务成为一个独立的服务,遵循一个协议(比如rest)。它可以自己运行,也许有自己的负载平衡器,也许身份验证(oauth)如果需要等等。-每个服务都有一个强大的契约/协议/模式,以便一个服务可以从其他服务调用。它非常类似于应用于服务的OOP类设计,如果这能让你更好地可视化的话。Hth