ACP互联网架构认证笔记 CSB云服务总线

简介: 云服务总线CSB,是基于高可用分布式集群技术构建的服务API开放平台,用于实现跨系统、跨协议的服务能力互通,并提供服务API额综合管理及运营。

云服务总线CSB,是基于高可用分布式集群技术构建的服务API开放平台,用于实现跨系统、跨协议的服务能力互通,并提供服务API额综合管理及运营。 CSB =ESB + API management,但ESB能用有侧重,不能取代ESB

用户

  1. 在CSB中,用户是对等,没用从属概念,只有授权关系,不关系用户的实际组织层级和隶属关系
  2. 每个用户在取得某个CSB实例的使用权限后,即可在该实例上发布或者订阅服务。服务的发布者就是该服务的拥有者,可以审批授权其他用户对该服务的订阅申请。
  3. 每个用户都可以拥有一个或者多个CSB实例,具有这些实例的管理员权限。可以授权控制其他用户对这些CSB实例的访问使用权限,即是否允许其他用户发布、订阅服务。
  4. 每个用户和他所拥有的所有CSB实例,构成该用户的CSB租户域

5.每个实例有且只有一个拥有者

实例

  1. 每一组CSB服务总线节点(Broker)构成的集群被视为一个独立的CSB实例,通常负责一个业务域内能力的对外开放,也可以把外部的能力发布开放给业务域的内部。

群组

  1. CSB的群组概念,对应于在物理上或者逻辑上相对隔离的管理环境。例如企业内部的数据中心和阿里云公共云的某个地域(region)或者某个虚拟专有云(VPC)即是不同的群组。
  2. 群组管理员不同于CSB实例管理员(拥有者),只有群组管理员可以应用户请求创建CSB实例,例如在阿里云公共云环境中,CSB产品运维团队即为该群组的管理员。

级联式服务发布

即跨CSB实例的服务发布,也就是在一个CSB实例上接入已有服务,但在另外一个目标CSB实例上开放出来,供订阅者消费,级联链路可以跨2个或更多节点。

  1. 级联发布的链路并不是随意的,需要实例管理员在出发节点(服务接入端实例)进行定义。链路规则就是指定特定协议的链路中各个CSB实例的先后链路关系。(A到B ,或者A经过B到C,两个链路)
  2. 级联服务经过的CSB实例可能归属不同的用户,即隶属不同的租户域,如果实例管理层在链路规则中涉及到归属其他用户甚至其他群组的CSB实例,就需要进行实例间授信。在阿里公共云上,级联发布链路的定义和管理,包括实例间授信操作,都由群组管理员,即CSB产品运维团队完成。

API服务总线

协议转换

  1. 支持常用协议服务的接入和开放(HTTP、HSF、Dubbo、WebService)
  2. 服务接入:在CSB上注册这个服务并且提供足弓的信息让CSB可以访问这个已有服务
  3. 服务开放:把一个已接入的服务器在某个CSB上提供对应的不同协议的API调用入口
  4. CSB支持数组、列表、集合类型的服务参数,也可以定义复杂的多级参数结构
  5. 在协议转换外,CSB还支持接入接口和开放接口的参数映射、缺省值、以及在开放接口上是否可见的设置。支持定制开发的参数映射机制

认证鉴权

  1. 服务消费者在CSB上可以创建管理自己的服务消费凭证,并使用某个凭证订阅服务提供者发布的服务API,并获得授权
  2. 服务消费者的应用使用CSB Client SDK对服务API调用进行签名,该调用请求到达CSB后,CSB会:1,先进行签名验证,确认请求方身份,以及消息没有被篡改重放;2,进行鉴权,检查该调用所使用的消费凭证是否已经授权允许调用该服务API

服务控制

  1. 服务流量控制 支持具体用户消费凭证到具体API的访问限流设置 支持实例级(服务器级)的总体访问流量保护 支持实例级(服务器级)和API级的基于IP的黑名单设置

API管理组织

服务发布

服务授权

  1. 支持用户拥有多个消费凭证,调用API的多个应用或者应用组,分别订阅不同的服务
  2. 支持用户更新消费凭证并提供新旧版本同时生效的窗口期
  3. 支持用户某个消费凭证到具体API的订阅、退订,一级API拥有者响应的审批授权

服务消费

  1. 提供服务消费的计量统计和服务消费质量信息

API运营监控

日志监控

  1. 提供服务地爱用日志CSB系统处理日志
  2. 提供监控报警系统对CSB组件系统指标的巡检和报警
  3. 提供链路分析能力,查看链路上每个环节的状况和耗时

服务消费

  1. 提供服务消费的计量统计和服务消费质量信息

API运营监控

系统管理

  1. 提供实例管理、用户管理、灵活的系统角色权限定制能力。

关键操作

关键操作包括发布服务、发布管理、订阅服务、订阅管理、实例管理、用户管理六个控制台操作细节

发布服务

发布服务时,当前实例就是该服务的接入实例,除非是级联发布,否则当前实例也是开放实例

  1. 步骤:基本信息-选择协议-设定参数-限制访问-发布服务
  2. 基本信息:API全名,API版本,API组
  3. 选择协议:是否级联,级联需要制定开放协议,非级联制定开放目标实例,都是可以多选
  4. 设定参数:支持复杂多级结构的参数,也支持定义错误代码列表,可模拟返回结果
  5. 限制访问:指定API访问频度(每秒调用次数),指定是否要授权访问,指定API可见域(谁能搜索并订阅消费该API)

发布管理

  1. 管理当前用户的API列表、API详情、API授权
  2. 变更级联发布,服务可以进行扩展发布,就是原来的A->B 扩展成A->B->C

订阅服务

  1. 搜索查找

可以查找当前用户可见API列表,只有当前实例上开放的服务才能被订阅者搜索到,把当前实例当做中继节点的级联发布的服务时搜索不到

  1. 查看订阅

必须指定消费凭证和访问频度来进行订阅,0代表没限制

  1. 我的凭证

查看消费凭证,一个凭证可以订阅多个服务,一个服务可以多个凭证来订阅,并且可以让凭证新旧版本同时生效。

订阅管理

管理用户的订阅API列表、订阅API详情

实例管理

实例的创建、更新、注销、授权(对实例/用户的)、黑白名单、链路定义

用户管理

用户开通、用户管理

  1. 用户开通,指定成为CSB正式用户,可以创建实例或者申请其他用户实例,进行发布或订阅操作
  2. 用户组管理,用户组与用户在企业中的实际层级隶属无关,仅仅是简单的用户分组

CSB应用场景



目录
相关文章
|
10天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
1月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
68 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
23天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
24 1
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
404 37
|
1月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
本系列学习教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin语法的读者,建议参考“简洁”系列教程。本文重点介绍了Kotlin实现MVVM架构的设计思路和代码实现,包括Model、ViewModel和View层的具体实现,以及如何通过LiveData和viewModelScope有效管理数据和内存,避免内存泄漏。此外,还讨论了MVVM架构的常见缺点及应对策略,帮助开发者在实际项目中更好地应用这一设计模式。
33 1
|
1月前
|
前端开发 测试技术 数据处理
Kotlin教程笔记 - MVP与MVVM架构设计的对比
Kotlin教程笔记 - MVP与MVVM架构设计的对比
33 2
|
1月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
30 2
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
|
1月前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
35 0
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
51 0