服务总线的框架设计

服务总线从逻辑上分为服务管理中心、客户端接口两部分。

  1. 服务总线客户端,是应用服务访问服务总线的接口。其以动态库形式存在,为应用服务实现封装。应用服务只需使用其相应接口,即可实现与服务总线的通讯,实现服务注册、资源的请求、订阅。也可根据自己的业务应用,向服务总线提供相应的服务应答及服务发布。通过服务总线客户端,使应用服务不用关注其所需的服务请求提供者的信息及通讯方式,也不用关注其自身可提供的服务应用是那些服务的需要。
  2. 服务管理中心是服务总线的核心服务。该服务会对局域网进行信息广播,告知服务管理中心的地址信息,应用服务可通过服务总线客户端接口连接到服务管理中心,进行注册、服务请求、服务订阅、业务服务发布、服务应答等功能。服务管理中心负责完成服务的注册信息收集、会话管理、服务管理、消息解析、消息过滤、安全管理、消息路由等功能。
  3. 服务总线客户端和服务总线管理中心,通过tcp或共享内存来实现信息的交互(同一个机器节点,使用共享内存;不同机器节点,使用tcp通信方式)。单个应用服务客户端与服务端连接,会启动3个会话,分别是管理会话、服务请求会话、服务提供会话。管理会话是对总体会话的管理,主要负责申请注册、注销、服务管理(冗余、启停)。服务请求会话,是为满足应用服务客户端对服务总线发起请求及订阅的申请而发起的会话。服务供应会话,是为满足应用服务对服务总线提供服务应答及服务发布功能而开启的会话接口。
  4. 服务管理中心,包含有传输控制模块、信息交换区、管理模块。传输控制模块负责与应用服务客户端接口的通讯及会话逻辑控制。信息交换区为应用模块提供数据缓存及信息整理功能。管理模块是服务管理中心核心业务模块,负责消息的解析、过滤、安全控制、路由等功能。

其详细关系见下图

 

其功能主要包括以下内容:

  1. 提供服务的接入接口、封装,支持服务的消息通讯、数据交互、业务处理。
  2. 提供服务的管理功能,支持服务的注册、注销、启停、冗余策略、负载均衡。
  3. 提供基于服务总线的应用程序开发框架。

服务总线提供消息交互的模式分为请求/应答模式和订阅/发布模式。

请求/应答模式:即一问一答模式;服务请求者为获取需要的服务,向服务总线发送请求,服务总线收到消息后,即刻向可提供该服务的服务提供者提供服务请求,将获取的服务内容,转发给服务请求者。

订阅/发布模式:即主动上送模式;服务请求者需要服务时,只需向服务总线发送一次订阅请求,服务总线会根据该任务申请,在有服务提供者提供相应服务时,将服务内容发送给服务请求者。

举例描述服务请求/应答模式、订阅/发布模式下服务总线数据流图如下所示:

1、应用服务向服务总线发出服务请求;

2、服务总线经分析解析收到的请求消息后,向应用服务2提出服务请求;

3、应用服务2将服务请求的内容进行应答,将服务内容提供给服务总线;

4、服务总线将收到的服务应答转发给应用服务1;

5、应用服务3进行服务发布;

6、应用服务1进行服务订阅;

7、总线向应用服务1提供所需的订阅内容;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟来了2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值