云服务器内容精选

  • 治理策略说明 支持负载均衡、限流、容错、降级、熔断、错误注入和黑白名单等策略的配置,具体说明见下表。 名称 说明 负载均衡 应用场景 微服务一般会部署多个实例,负载均衡控制微服务消费者访问微服务提供者的多个实例的策略,以达到流量均衡的目的。策略包括轮询、随机、响应时间权值、会话粘滞等。 该治理策略的配置示例及在POM中添加依赖可参考负载均衡中相关内容。 限流 应用场景 用于控制访问微服务的请求量大小,避免由于流量冲击对系统造成破坏。 该治理策略的配置示例及在POM中添加依赖可参考限流中相关内容。 降级 应用场景 用于控制微服务调用其他微服务的时候,强制返回缺省值或者抛出异常,而不将请求发送到目标微服务,以达到屏蔽对目标微服务的访问和降低其压力的目的。 该治理策略的配置示例及在POM中添加依赖可参考降级中相关内容。 容错 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通等,需要将请求转发到其他可用的实例。这里的容错,常被称为重试。 该治理策略的配置示例及在POM中添加依赖可参考容错中相关内容。 熔断 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。 熔断提供了自动熔断策略。自动熔断需要结合错误率等判断是否熔断。 该治理策略的配置示例及在POM中添加依赖可参考熔断中相关内容。 错误注入 应用场景 错误注入可以模拟一个调用失败,主要用于功能验证、故障场景演示等场景。 Java Chassis开发框架接入的微服务治理,该治理策略的配置示例及在POM中添加依赖可参考错误注入中相关内容。 说明: 该服务治理策略只适用于Java Chassis开发框架接入的微服务。 黑白名单 应用场景 基于公钥认证机制,微服务引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 Java Chassis开发框架接入的微服务治理 只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证。 说明: 该服务治理策略只适用于Java Chassis开发框架接入的微服务。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8"。 X-Auth-Token 是 String 用户Token。 x-engine-id 是 String 微服务引擎专享版的实例ID。 X-Enterprise-Project-ID 是 String 企业项目ID。
  • 设置黑白名单 基于公钥认证机制,ServiceComb引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证。 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“黑白名单”。 单击“新增”,为应用添加黑白名单,黑白名单配置项如下表所示。 图13 设置黑白名单 配置项 配置项说明 类型 黑名单:表示根据匹配规则匹配到的微服务都不允许访问当前服务。 白名单:表示根据匹配规则匹配到的微服务允许访问当前服务。 匹配规则 使用正则表达式表示。 例如“匹配规则”设置为data*,指在黑名单下匹配到的名称以data开头的服务不允许访问当前服务,或者在白名单下匹配到的名称以data开头的服务允许访问当前服务。 单击“确定”,保存配置。
  • 设置错误注入 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“错误注入”。 单击“新增”,选择合理的策略,错误注入策略配置项如下表所示。 图11 设置错误注入(类型为延迟) 图12 设置错误注入(类型为错误) 配置项 配置项说明 注入对象 需要测试容错能力的微服务,可以具体到微服务的方法。 类型 测试微服务的容错能力类型: 延迟 错误 协议 访问微服务出现延时或错误的协议: Rest Highway 触发概率 访问微服务出现延时或错误的概率。 延迟时间 访问微服务出现延时的时长,“类型”选择为“延迟”时才需要配置。 http错误码 访问微服务出现错误的HTTP错误码,“类型”选择为“错误”时才需要配置。该错误码为HTTP标准的错误码。 单击“确定”,保存配置。
  • 设置容错 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“容错”。 单击“新增”,选择合理的策略,容错策略配置项如下表所示。 图7 设置容错(Spring Cloud开发框架接入的微服务) 图8 设置容错(Java Chassis开发框架接入的微服务) 配置项 配置项说明 下游微服务 设置本微服务调用下游微服务的容错规则,下拉菜单可直接选择。 说明: 此配置适用于Spring Cloud开发框架接入的微服务。 容错对象 该应用依赖的应用或方法,下拉菜单可直接选择。 说明: 此配置适用于Java Chassis开发框架接入的微服务。 是否开启容错 开启:向容错对象发起请求时发生错误的处理策略,开启后,会根据选择的处理策略处理请求。 关闭:关闭容错策略,即使请求失败也会等到超时后,再返回失败结果。 容错策略 当“是否开启容错”配置项设置为“开启”时需配置。 Spring Cloud开发框架接入的微服务,需设置: 尝试同一个微服务实例次数。 尝试新的微服务实例次数。 Java Chassis开发框架接入的微服务,需设置: Failover 在不同服务器上重新尝试建立连接。 Failfast 不再重新尝试建立连接,即请求失败时会立即返回失败结果。 Failback 在同一个服务器上重新尝试建立连接。 custom 尝试同一个服务器次数:尝试与同一个服务器重新建立连接的次数。 尝试新的服务器次数:尝试与新的服务器建立连接的次数。 单击“确定”,保存配置。
  • 设置熔断 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“熔断”。 单击“新增”,选择合理的策略,熔断策略配置项如下表所示。 图9 设置熔断(Spring Cloud开发框架接入的微服务) 图10 设置熔断(Java Chassis开发框架接入的微服务) 配置项 配置项说明 下游微服务 设置本微服务调用下游微服务的熔断规则。 说明: 此配置适用于Spring Cloud开发框架接入的微服务。 熔断对象 该应用调用的服务或方法,下拉菜单可直接选择。 说明: 此配置适用于Java Chassis开发框架接入的微服务。 指定请求路径 可单击,通过设置Method、Path和Headers来指定请求路径。 说明: 此配置适用于Spring Cloud开发框架接入的微服务。 触发条件 熔断时间窗:熔断的持续时间,该时间窗内不再响应请求。 失败率:触发条件,窗口请求的失败率。 窗口请求数:触发条件,窗口收到的请求数。“失败率”和“窗口请求数”的条件需同时满足才会触发熔断。 单击“确定”,保存配置。
  • 设置限流 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“限流”。 单击“新增”,限流配置项如下表所示。 图3 设置限流(Spring Cloud开发框架接入的微服务) 图4 设置限流(Java Chassis开发框架接入的微服务) 配置项 说明 范围 限流对象 访问该微服务的其他微服务。 说明: 此配置适用于Java Chassis开发框架接入的微服务。 在“限流对象”后的下拉列表可直接选择。 上游微服务 设置上游微服务调用本服务的流控制规则。 说明: 此配置适用于Spring Cloud开发框架接入的微服务。 在“上游微服务”后的下拉列表可直接选择。 QPS 每秒的请求数。当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。 1-99999的整数。 对于微服务拥有多个实例的情况,如果设置单个实例的流控是2700QPS,该微服务有3个实例,总的QPS就是最大8100,QPS超过8100才会触发限流。 单击“确定”保存配置。
  • 设置负载均衡 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“负载均衡”。 单击“新增”。先选择需要治理的微服务,再选择合理的负载均衡策略,请参考下表。 图1 设置负载均衡(Spring Cloud开发框架接入的微服务) 图2 设置负载均衡(Java Chassis开发框架接入的微服务) 策略名 策略说明 轮询 支持按照服务实例的位置信息顺序路由。 随机 提供服务实例随机路由。 响应时间权值 提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。 说明: 此策略适用于Java Chassis开发框架接入的微服务。 会话粘滞 会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。 会话保持时间:会话保持的限制时间,0-86400,单位为秒。 失效次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数或会话保持时间超过设定的值时,微服务不再访问该实例。 说明: 此策略适用于Java Chassis开发框架接入的微服务。 单击“确定”保存配置。
  • 设置降级 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“降级”。 单击“新增”,选择合理的策略,降级策略配置项如下表所示。 图5 设置降级(Spring Cloud开发框架接入的微服务) 图6 设置降级(Java Chassis开发框架接入的微服务) 配置项 配置项说明 降级对象 选择需要降级的微服务。 指定请求路径 可单击,通过设置Method、Path和Headers来指定请求路径。 说明: 此配置适用于Spring Cloud开发框架接入的微服务。 降级策略 开启:开启降级。 关闭:关闭降级。 单击“确定”,保存配置。
  • 治理策略说明 支持负载均衡、限流、容错、降级、熔断、错误注入和黑白名单等策略的配置,具体说明见下表。 名称 说明 负载均衡 应用场景 微服务一般会部署多个实例,负载均衡控制微服务消费者访问微服务提供者的多个实例的策略,以达到流量均衡的目的。策略包括轮询、随机、响应时间权值、会话粘滞等。 该治理策略的配置示例及在POM中添加依赖可参考负载均衡中相关内容。 限流 应用场景 用于控制访问微服务的请求量大小,避免由于流量冲击对系统造成破坏。 该治理策略的配置示例及在POM中添加依赖可参考限流中相关内容。 降级 应用场景 用于控制微服务调用其他微服务的时候,强制返回缺省值或者抛出异常,而不将请求发送到目标微服务,以达到屏蔽对目标微服务的访问和降低其压力的目的。 该治理策略的配置示例及在POM中添加依赖可参考降级中相关内容。 容错 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通等,需要将请求转发到其他可用的实例。这里的容错,常被称为重试。 该治理策略的配置示例及在POM中添加依赖可参考容错中相关内容。 熔断 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。 熔断提供了自动熔断策略。自动熔断需要结合错误率等判断是否熔断。 该治理策略的配置示例及在POM中添加依赖可参考熔断中相关内容。 错误注入 应用场景 错误注入可以模拟一个调用失败,主要用于功能验证、故障场景演示等场景。 Java Chassis开发框架接入的微服务治理,该治理策略的配置示例及在POM中添加依赖可参考错误注入中相关内容。 说明: 该服务治理策略只适用于Java Chassis开发框架接入的微服务。 黑白名单 应用场景 基于公钥认证机制,ServiceComb引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 Java Chassis开发框架接入的微服务治理 只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证。 说明: 该服务治理策略只适用于Java Chassis开发框架接入的微服务。
  • 请求示例 PUT https://{endpoint}/v3/{project_id}/govern/route-rule/microservices/{service_name} [ { "precedence" : 1, "match" : { "headers" : { "aaaa" : { "exact" : "bbbb*", "caseInsensitive" : false } } }, "route" : [ { "name" : "rule_1", "weight" : 20, "tags" : { "version" : "1.0.0" } } ] } ]
  • 响应示例 状态码: 200 查询治理策略列表响应结构体 [ { "matchGroup" : { "name" : "", "status" : "enabled", "selector" : { "environment" : "string", "app" : "string", "service" : "string" }, "spec" : { "alias" : "string", "matches" : [ { "name" : "string", "apiPath" : { }, "headers" : { }, "method" : [ "string" ], "serviceName" : "string" } ] } }, "policies" : [ { "id" : "string", "name" : "string", "kind" : "string", "status" : "string", "selector" : { "environment" : "string", "app" : "string", "service" : "string" }, "spec" : { } } ] } ]
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8"。 X-Auth-Token 是 String 用户Token。 x-engine-id 是 String 微服务引擎专享版的实例ID X-Enterprise-Project-ID 是 String 企业项目ID
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 matchGroup CreateBussinessScene object 流量定义 policies Array of policies objects 治理策略定义 表5 CreateBussinessScene 参数 参数类型 描述 name String 流量名称 status String 启用状态,支持enabled和disabled 缺省值:enabled selector GovSelector object 治理策略下发范围 spec spec object 流量特征描述 表6 spec 参数 参数类型 描述 alias String 特征名称 matches Array of matches objects 匹配条件定义 表7 matches 参数 参数类型 描述 name String 条件名称 apiPath Object 匹配的PATH headers Object 匹配的Headers method Array of strings 匹配的Method列表 serviceName String 匹配的微服务名称 表8 policies 参数 参数类型 描述 id String 治理策略ID name String 治理策略名称 kind String 治理类型,支持填写retry、rate-limiting、loadbalance、circuit-breaker、instance-isolation、fault-injection和bulkhead status String 启用状态,支持enabled和disabled selector GovSelector object 治理策略下发范围 spec Object 治理策略定义内容 表9 GovSelector 参数 参数类型 描述 environment String 所属环境 app String 所属应用 service String 可选,治理下发到微服务级别 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • URI GET /v3/{project_id}/govern/governance/display 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户子项目的唯一标识。字符长度为1~64。 表2 Query参数 参数 是否必选 参数类型 描述 environment 是 String 所属环境,填写all时表示查询所有环境。 app 否 String 所属应用