域间治理方案及规范设计

6

域间治理方案及规范设计

域间治理方案整体说明

  1. 域间调用通过服务码、场景码的方式进行,协议默认为HTTP(S)

  2. 域间调用通过消费关系控制不同系统对场景的访问权限

  3. 设定跨域管控级别,通过管控级别确定不同场景下对于消费关系的认证要求

    1. 强管控

      1. 跨系统调用均需要校验消费关系
      2. 同系统调用不校验消费关系
    2. 弱管控

      1. 跨域调用需要校验消费关系
      2. 同业务域调用不校验消费关系
    3. 无管控

      1. 不校验消费关系
  4. 调用方式有两种:直接调用以及系统网关转发

  5. 设定网络管控级别,通过管控级别确定使用直接调用或者是系统网关转发方式发起调用

    1. 强管控

      1. 跨系统调用需要经过系统网关转发
      2. 系统内直接调用
    2. 弱管控

      1. 同业务域内直接调用
      2. 跨业务域调用需要经过系统网关转发
  6. springcloud-asgf以及系统网关均需要实现跨域访问

    1. springcloud-asgf:消费关系校验、转发本系统网关、直接调用
    2. 系统网关:消费关系校验、转发目标系统网关、调用本系统微服务
  7. 直接调用时,消费方场景属性中获取真实的服务名以及url,并填充域间治理元数据即可发送请求到提供方,由提供方根据请求来源进行场景校验以及消费关系校验等操作。

    image

  8. 非直接调用时,由提供方对应的系统网关实现消费关系校验以及调用真实后端服务

规范定义

调用元数据

对外访问路径

http(s)://online/服务码/场景码

内部元数据

通过header传输

  • X-ASGF-Gateway-ServiceCode​:服务码(开发者传入。必须)
  • X-ASGF-Gateway-ScenarioCode​:场景码(开发者传入。必须)
  • X-ASGF-Gateway-ScenarioVersion​:场景版本(默认1.0)
  • X-ASGF-Gateway-SystemCode​:场景所属系统码(来源场景属性。必须)
  • X-ASGF-Gateway-From​:请求来源(sgw​,microservice​)
  • X-ASGF-Source-Namespace​:请求方系统名(必须)
  • X-ASGF-Source-Service​:请求方服务名(必须)

治理配置

场景基础属性

以场景为粒度保存

0000NEFS---scenarioinfo:
    scenarios:
      A0110001_A03_1.0:
        systemCode: '应用所属系统码'
        description: '场景属性' #场景的中文描述,描述场景的业务能力
        realPath: '实际的api'
        realServiceName: '注册中心注册的服务名'
    updateTime: '2023-10-12 14:05:21'
    createTime: '2023-10-12 10:55:21'

场景访问时间控制

以系统为粒度保存

0000NEFS---scenarioaccess:
    scenarios:
      A0110001_A03_1.0:
        enabled: true # 场景是否可用
        accessCtl:
          - 'type=simple&expression=00:00-16:00'
    updateTime: '2023-10-12 14:05:21'
    createTime: '2023-10-12 10:55:21'

场景消费关系

以系统为粒度保存

0000NEFS---scenariorelation:
    scenarios:
      A0110001_A03_1.0:
        relation:
          - 'systemcode=消费方系统码&enabled=true'
    updateTime: '2023-10-12 14:05:21'
    createTime: '2023-10-12 10:55:21'

系统属性

7700NNS---system:
  7700NNS:
    createTime: '2024-08-19 16:54:59'
    dataZone: B1:AZ1,B2:AZ1
    enabled: true
    systemCode: 7700NNS
    systemName: 武汉农村商业银行网银系统
    unitizationEnabled: true
    accessControllLevel: high # high,low,none 
    networkControllLevel: high # high,low,none 
    systemGateway: 7700NNS_SGW #由开发者自定义网关应用名
    updateTime: '2024-12-26 18:11:08'

UI原型设计