云服务总线CSB,是基于高可用分布式集群技术构建的服务API开放平台,用于实现跨系统、跨协议的服务能力互通,并提供服务API额综合管理及运营。 CSB =ESB + API management,但ESB能用有侧重,不能取代ESB
用户
- 在CSB中,用户是对等,没用从属概念,只有授权关系,不关系用户的实际组织层级和隶属关系
- 每个用户在取得某个CSB实例的使用权限后,即可在该实例上发布或者订阅服务。服务的发布者就是该服务的拥有者,可以审批授权其他用户对该服务的订阅申请。
- 每个用户都可以拥有一个或者多个CSB实例,具有这些实例的管理员权限。可以授权控制其他用户对这些CSB实例的访问使用权限,即是否允许其他用户发布、订阅服务。
- 每个用户和他所拥有的所有CSB实例,构成该用户的CSB租户域
5.每个实例有且只有一个拥有者
实例
- 每一组CSB服务总线节点(Broker)构成的集群被视为一个独立的CSB实例,通常负责一个业务域内能力的对外开放,也可以把外部的能力发布开放给业务域的内部。
群组
- CSB的群组概念,对应于在物理上或者逻辑上相对隔离的管理环境。例如企业内部的数据中心和阿里云公共云的某个地域(region)或者某个虚拟专有云(VPC)即是不同的群组。
- 群组管理员不同于CSB实例管理员(拥有者),只有群组管理员可以应用户请求创建CSB实例,例如在阿里云公共云环境中,CSB产品运维团队即为该群组的管理员。
级联式服务发布
即跨CSB实例的服务发布,也就是在一个CSB实例上接入已有服务,但在另外一个目标CSB实例上开放出来,供订阅者消费,级联链路可以跨2个或更多节点。
- 级联发布的链路并不是随意的,需要实例管理员在出发节点(服务接入端实例)进行定义。链路规则就是指定特定协议的链路中各个CSB实例的先后链路关系。(A到B ,或者A经过B到C,两个链路)
- 级联服务经过的CSB实例可能归属不同的用户,即隶属不同的租户域,如果实例管理层在链路规则中涉及到归属其他用户甚至其他群组的CSB实例,就需要进行实例间授信。在阿里公共云上,级联发布链路的定义和管理,包括实例间授信操作,都由群组管理员,即CSB产品运维团队完成。
API服务总线
协议转换
- 支持常用协议服务的接入和开放(HTTP、HSF、Dubbo、WebService)
- 服务接入:在CSB上注册这个服务并且提供足弓的信息让CSB可以访问这个已有服务
- 服务开放:把一个已接入的服务器在某个CSB上提供对应的不同协议的API调用入口
- CSB支持数组、列表、集合类型的服务参数,也可以定义复杂的多级参数结构
- 在协议转换外,CSB还支持接入接口和开放接口的参数映射、缺省值、以及在开放接口上是否可见的设置。支持定制开发的参数映射机制
认证鉴权
- 服务消费者在CSB上可以创建管理自己的服务消费凭证,并使用某个凭证订阅服务提供者发布的服务API,并获得授权
- 服务消费者的应用使用CSB Client SDK对服务API调用进行签名,该调用请求到达CSB后,CSB会:1,先进行签名验证,确认请求方身份,以及消息没有被篡改重放;2,进行鉴权,检查该调用所使用的消费凭证是否已经授权允许调用该服务API
服务控制
- 服务流量控制 支持具体用户消费凭证到具体API的访问限流设置 支持实例级(服务器级)的总体访问流量保护 支持实例级(服务器级)和API级的基于IP的黑名单设置
API管理组织
服务发布
服务授权
- 支持用户拥有多个消费凭证,调用API的多个应用或者应用组,分别订阅不同的服务
- 支持用户更新消费凭证并提供新旧版本同时生效的窗口期
- 支持用户某个消费凭证到具体API的订阅、退订,一级API拥有者响应的审批授权
服务消费
- 提供服务消费的计量统计和服务消费质量信息
API运营监控
日志监控
- 提供服务地爱用日志和CSB系统处理日志
- 提供监控报警系统对CSB组件系统指标的巡检和报警
- 提供链路分析能力,查看链路上每个环节的状况和耗时
服务消费
- 提供服务消费的计量统计和服务消费质量信息
API运营监控
系统管理
- 提供实例管理、用户管理、灵活的系统角色权限定制能力。
关键操作
关键操作包括发布服务、发布管理、订阅服务、订阅管理、实例管理、用户管理六个控制台操作细节
发布服务
发布服务时,当前实例就是该服务的接入实例,除非是级联发布,否则当前实例也是开放实例
- 步骤:基本信息-选择协议-设定参数-限制访问-发布服务
- 基本信息:API全名,API版本,API组
- 选择协议:是否级联,级联需要制定开放协议,非级联制定开放目标实例,都是可以多选
- 设定参数:支持复杂多级结构的参数,也支持定义错误代码列表,可模拟返回结果
- 限制访问:指定API访问频度(每秒调用次数),指定是否要授权访问,指定API可见域(谁能搜索并订阅消费该API)
发布管理
- 管理当前用户的API列表、API详情、API授权
- 变更级联发布,服务可以进行扩展发布,就是原来的A->B 扩展成A->B->C
订阅服务
- 搜索查找
可以查找当前用户可见API列表,只有当前实例上开放的服务才能被订阅者搜索到,把当前实例当做中继节点的级联发布的服务时搜索不到
- 查看订阅
必须指定消费凭证和访问频度来进行订阅,0代表没限制
- 我的凭证
查看消费凭证,一个凭证可以订阅多个服务,一个服务可以多个凭证来订阅,并且可以让凭证新旧版本同时生效。
订阅管理
管理用户的订阅API列表、订阅API详情
实例管理
实例的创建、更新、注销、授权(对实例/用户的)、黑白名单、链路定义
用户管理
用户开通、用户管理
- 用户开通,指定成为CSB正式用户,可以创建实例或者申请其他用户实例,进行发布或订阅操作
- 用户组管理,用户组与用户在企业中的实际层级隶属无关,仅仅是简单的用户分组
CSB应用场景