全部产品
云市场

服务管控

更新时间:2019-12-26 11:34:05

查看及管理 RPC 服务

您可以在 微服务平台 > 微服务 > 服务管控 页面查看并管理当前工作空间下的所有可用 RPC 服务。

查看服务列表

在页面右上方的搜索栏中输入您要查找的应用或服务名称,点击搜索。搜索结果提供以下信息:

  • 服务 ID
  • 提供该服务的应用名
  • 服务提供者数量
  • 服务消费者数量

服务列表

查看服务详情

在服务查询列表中点击服务 ID,可以查看该服务的服务提供者和服务消费者列表。您还可以自由切换查看服务提供者列表与服务消费者列表。

  • 服务提供者列表中包含服务提供者的 IP、端口、应用名、权重与状态信息。
  • 服务消费者列表中包含服务消费者的 IP 与应用名。

服务详情

管理应用服务

在搜索结果列表中,点击要查看的服务行,进入 服务详情 页面。您可以对该服务进行以下操作:

  • 启用服务
  • 禁用服务
  • 修改权重
  • 恢复默认值

管理应用服务

查看应用依赖关系

您可以在 微服务平台 > 微服务 > 应用依赖 页面查看当前工作空间中的应用依赖关系图。

将鼠标悬浮在某一应用图标上可以查看以下信息:

  • 与当前应用有依赖关系的所有相关应用,包括服务提供者与消费者。
  • 该应用的节点数
  • 该应用提供的服务数
  • 该应用消费的服务数

要查看某一应用的依赖详情,点击该应用的图标或使用搜索栏快速筛选应用名称。

示例

下图展示了名为 sofa2-rpc-client 的应用的依赖详情示例。右侧的应用依赖关系图显示 sofa2-rpc-client 此时没有提供任何服务。而作为服务消费者,sofa2-rpc-client 使用了来自以下 3 个应用的共 5 个服务:

  • sofa2-rpc-server
  • dtxserver
  • dts-sample-action

消费的服务 页签列出了消费的服务 ID 及所属应用。

消费的服务

服务访问控制

通过创建访问控制规则,RPC 服务的提供者可以为特定的调用者添加或限制访问授权,灵活地调整服务订阅者调用本服务的权限。

前置条件

  1. SOFABoot 版本必须是 3.1.1 或以上。
  2. 在工程的 pom.xml 文件中,引入动态配置依赖:
    1. <dependency>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>ddcs-enterprise-sofa-boot-starter</artifactId>
    4. </dependency>
  3. 在 RPC 服务端和客户端的 application.properties 文件中,添加以下配置:
    1. com.alipay.sofa.rpc.dynamic.alias=drm
  4. 在引入 RPC jar 包的 pom.xml 文件中,引入 sofa-configuration-sdk
    1. <dependency>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>sofa-configuration-sdk</artifactId>
    4. <version>0.1.1</version>
    5. </dependency>

白名单与黑名单

访问控制可通过设置 白名单(whitelist)或 黑名单(blacklist)完成。白名单与黑名单互斥,二者无法同时开启。每个服务的访问控制只能启用其中一种模式。

  • 白名单模式:只有符合白名单规则的服务调用者有访问权限。白名单外的所有请求都会被拒绝。
  • 黑名单模式:所有符合黑名单规则的服务调用者将被拒绝访问。黑名单外的所有请求都被允许。

白名单与黑名单

规则说明

白名单与黑名单均由一条或多条规则构成。多条规则间用 (OR)的关系连接。一旦名单被启用,访问请求只要满足其中任意一条已启用的规则,即被视为满足过滤条件。创建详细步骤,参见 创建访问控制规则

说明:只有处于“已启用”状态的规则才被用来做访问请求的规则匹配。

规则构成

  • 规则名:由汉字、英文字母、数字、下划线组成。
  • 状态:已启用 或 已禁用。
  • 匹配条件:一条规则由一个或多个匹配条件构成,多个匹配条件间用 的关系连接。
  • 操作:编辑规则、删除规则。

匹配条件

规则匹配条件支持使用系统字段或自定义字段做匹配。

  • 系统字段
    • 调用方应用名
    • 调用方 IP
    • 服务方应用名
    • 服务方服务名
    • 服务方方法名
  • 自定义字段:支持自定义字段名。
  • 逻辑关系(操作符):
    • 等于
    • 不等于
    • 属于
    • 不属于
    • 正则:使用正则表达式匹配。
  • 字段值

创建访问控制规则

  1. 在微服务平台页面,选择 微服务 > 服务管控
  2. 在页面右上方的搜索栏中,输入目标应用或服务名称,点击搜索图标。
  3. 在搜索到的服务列表中,点击目标服务 ID。
  4. 进入服务详情页后,选择 服务治理 页签。
  5. 选择访问控制模式:
    • 启用白名单:只允许符合白名单规则的服务调用请求,拒绝白名单外的所有请求。
    • 启用黑名单:拒绝符合黑名单规则的服务调用请求,允许黑名单外的所有请求。
  6. 点击 添加规则,输入 规则名,由汉字、英文字母、数字、下划线组成。
  7. 编辑 匹配条件
    1. 选择 字段类型字段名
      • 系统字段:提供的字段名有 调用方应用名、调用方 IP、服务方应用名、服务方服务名、服务方方法名。
      • 自定义字段:支持自定义字段名。
    2. 选择 逻辑关系
      • 等于
      • 不等于
      • 属于
      • 不属于
      • 正则:使用正则表达式匹配
    3. 输入待匹配的 字段值
      添加规则
  8. 点击 保存
  9. 点击 启用规则

编辑规则

您可以根据业务需要修改现有的访问控制规则。操作步骤如下:

  1. 在访问控制规则列表中,点击目标规则右上角的 编辑规则 按钮。
  2. 修改规则内容,支持以下操作:
    • 修改规则名称
    • 修改现有匹配条件
    • 新增其他匹配条件
  3. 点击 保存,完成规则修改。

删除规则

您可以将已禁用的规则从规则列表中删除。操作步骤如下:

  1. 在规则列表中,点击目标规则右上角的 删除 按钮。
  2. 弹出窗口中,点击 确定