通过客户端 ->Api->ESB->Service 从客户端到服务的额外通信层
Extra layer for communication from client to Service via client ->Api->ESB->Service
我们正在构建一个新系统,其中 ESB 是服务通信的中心线通道。因为我们不希望我们的 HTML/js 客户端直接与总线交互,所以我们决定引入 Api (ReST-API) 层,客户端将 post 请求Api 比 API 将在 ESB 中放置一条消息,相应的服务将订阅该特定消息并对其进行处理。
所以它会像
UI -> 休息 -> ESB -> 服务
据我所知,没有其他服务不会对此特定消息感兴趣。所以只是想知道我们不能在下面做吗??
UI->Rest-> 服务并保持 ESB 仅用于服务间通信而不是从 UI 到服务路径。考虑到将有 1000 个 UI 来服务通信。
这完全取决于有多少订阅者(服务)需要这条来自 UI 的消息。截至目前,您只确定了一项需要此数据的服务。引入 ESB 层将解耦 "Rest" 和 "Service" 层,将来如果有更多服务需要此消息,ESB 层的一些小改动就足以满足您未来的需求,而不会影响 "Rest" 和 "Service"。如果没有 ESB,您最终会陷入紧密耦合的模式。另外,如果以后增强服务,ESB可以起到数据转换的作用。
我们正在构建一个新系统,其中 ESB 是服务通信的中心线通道。因为我们不希望我们的 HTML/js 客户端直接与总线交互,所以我们决定引入 Api (ReST-API) 层,客户端将 post 请求Api 比 API 将在 ESB 中放置一条消息,相应的服务将订阅该特定消息并对其进行处理。
所以它会像 UI -> 休息 -> ESB -> 服务
据我所知,没有其他服务不会对此特定消息感兴趣。所以只是想知道我们不能在下面做吗??
UI->Rest-> 服务并保持 ESB 仅用于服务间通信而不是从 UI 到服务路径。考虑到将有 1000 个 UI 来服务通信。
这完全取决于有多少订阅者(服务)需要这条来自 UI 的消息。截至目前,您只确定了一项需要此数据的服务。引入 ESB 层将解耦 "Rest" 和 "Service" 层,将来如果有更多服务需要此消息,ESB 层的一些小改动就足以满足您未来的需求,而不会影响 "Rest" 和 "Service"。如果没有 ESB,您最终会陷入紧密耦合的模式。另外,如果以后增强服务,ESB可以起到数据转换的作用。