当您发布后端服务时,可能会有不同的需求和场景。CSB 提供了普通发布、路由发布和级联发布 3 种方式以满足您不同需求和场景。

普通发布

普通发布

后端只有一个服务接入时,可以使用普通发布在 CSB 上同时以相同或不同类型的接口协议开放。例如一个后端的 EDAS HSF 服务可以在 CSB 上同时开放成 HTTP API、SOAP Web Service 和 EDAS HSF(透传)三个不同类型的服务入口。

目前,CSB 后端接入支持的四种类型的服务都可以在 CSB 上开放成 HTTP API 或者 SOAP Web Service。此外还支持 Dubbo 和 EDAS HSF 类型服务的透传开放。

路由发布

路由发布

当后端有多个相同或不同类似服务接入时,可以使用路由发布。这些服务以同一个 HTTP API 类型接口开放,被访问时,CSB 会根据路由规则将请求转发到后端接入的不同服务。

级联发布

级联发布

针对复杂的多环境、多归属互通场景,云服务总线提供级联发布管理机制,即跨 CSB 实例的服务发布,也就是在一个 CSB 实例上接入已有服务,而在另一个 CSB 实例上发布出来,供订阅者消费。

级联链路可以跨 2 个或更多 CSB 实例,这些 CSB 实例可以归属不同的用户,甚至位于不同的 CSB 群组内。

当服务要发布的目标实例不是当前实例时,可以使用级联发布。级联发布会将该服务通过级联的方式发布到所选的目标实例中。这种场景下,服务的接入端和服务的发布开放端分布在不同的实例上,称之为源实例和目标实例。根据预先定义的级联发布规则,在源实例和目标实例之间还可能存在中间实例,形成一条级联链路。

说明 级联发布的链路并不是随意的,需要群组管理员定义有方向的连通链路,指明链路中各个 CSB 实例的先后连接关系。例如 CSB 实例 A 上接入的服务通过实例 B 作为中转,最终在 CSB 实例 C 上开放,就构成了一条经由实例 A 到 B 到 C 的级联链路。级联服务经过的 CSB 实例在级联链路方向上需要进行实例间授信。级联链路的定义和管理,包括实例间授信操作,都由群组管理员,即 CSB 技术支持人员完成。

单实例发布与级联发布

单实例发布与级联发布示意
  • 如图中所示,服务 x 发布在实例 A 上,被应用 α(在实例 A 上订阅后)调用消费。
  • 如图中所示,服务 y 发布在实例 B 上,被应用 β(在实例 B 上订阅后)调用消费。
  • 如图中所示,服务 y 在实例 B 接入,通过级联链路在实例 A 上发布,被应用 α(在实例 A 上订阅后)通过实例 A、B 级联调用消费。需要预先定义实例 B 到 A 的级联链路,包括实例 B 对实例 A 的访问授信。