计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

治理微服务

更新时间:2023-06-25 GMT+08:00

微服务部署完后,您可以根据微服务的运行情况进行微服务的治理。

前提条件

  • 您可以先在“服务目录 > 微服务列表”中创建微服务,启动微服务后,根据yaml文件的配置,会在对应的服务下注册服务实例。
  • 如果没有事先创建微服务或者微服务已删除,在注册服务实例时会自动创建微服务。
  • 微服务在创建以后,需要注册服务实例后才能进行对应操作。

治理策略说明

支持负载均衡、限流、容错、降级、熔断和错误注入等策略的配置,具体说明见下表。

名称

说明

负载均衡

当出现访问量和流量较大,一台服务器无法负载的情况下,可以通过设置负载均衡的方式将流量分发到多个服务器均衡处理,从而优化响应时长,防止服务器过载。

可以通过新增规则配置负载均衡策略,设置参数支持轮询、随机、响应时间权值、会话粘滞等多种负载均衡策略。

限流

限流主要解决微服务之间的流量分配问题,保证微服务在自己的资源池运行,互不影响。

  • 当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。
  • 常用的检测方法是请求超时、流量过大等。
  • 设置参数包括限流对象、QPS阈值等。

降级

降级是容错的一种特殊形式,当出现服务吞吐量巨大,资源不够用等情况,可使用降级机制关掉部分不重要、性能较差的服务,避免占用资源,以保证主体业务功能可正常使用。

容错

容错是服务调用者访问服务实例,服务实例出现异常时的一种处理策略,出现异常后按照定义的策略进行重试或访问新的服务实例。

熔断

当发现由于某些原因导致服务出现了过载现象,为避免造成整个系统故障,可采用熔断来进行保护。

熔断在服务请求处理出现异常时产生作用。进入熔断状态后,hystrix会认为被请求的服务已经无法处理请求,在第一时间截断请求直接返回错误给调用者。

hystrix每隔一段时间会尝试访问后端服务,如果服务恢复正常,会退出熔断状态,恢复正常的请求访问。

错误注入

错误注入策略用于测试微服务的容错能力,可以让用户知道,当出现延迟或错误时,系统是否能够正常运行。

错误注入通过延迟、错误等方式,供用户测试微服务的容错能力。

黑白名单

基于公钥认证机制,微服务引擎提供了黑白名单功能,通过黑白名单,可以控制微服务允许其他哪些服务访问。

只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证

设置负载均衡

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“负载均衡”。
  6. 单击“新增”。先选择需要治理的微服务,再选择合理的负载均衡策略,请参考下表。

    策略名

    策略说明

    轮询

    支持按照服务实例的位置信息顺序路由。

    随机

    提供服务实例随机路由。

    响应时间权值

    提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。

    会话粘滞

    会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。

    • 会话保持时间:会话保持的限制时间,0-86400,单位为秒。
    • 失败次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数或会话保持时间超过设定的值时,微服务不再访问该实例。

  7. 单击“确定”保存配置。

设置限流

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“限流”。
  6. 单击“新增”,限流配置项下表所示。

    配置项

    说明

    范围

    限流对象

    访问该微服务的其他微服务。

    “限流对象”后的下拉列表可直接选择。

    QPS

    每秒的请求数。当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。

    0-99999的整数。

    说明:

    对于微服务拥有多个实例的情况,如果设置单个实例的流控是2700QPS,该微服务有3个实例,总的QPS就是最大8100,QPS超过8100才会触发限流。

  7. 单击“确定”保存配置。

设置降级

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“降级”。
  6. 单击“新增”。选择合理的策略,降级策略配置项如下表所示。

    配置项

    配置项说明

    降级对象

    选择需要降级的微服务与降级方法。

    降级策略

    • 开启:开启降级。
    • 关闭:关闭降级。

  7. 单击“确定”,保存配置。

设置容错

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“容错”。
  6. 单击“新增”。选择合理的策略,容错策略配置项如下表所示。

    配置项

    配置项说明

    容错对象

    该应用依赖的应用或方法,下拉菜单可直接选择。

    是否开启容错

    开启:向容错对象发起请求时发生错误的处理策略,开启后,会根据选择的处理策略处理请求。

    关闭:关闭容错策略,即使请求失败也会等到超时后,再返回失败结果。

    容错策略

    说明:

    当“是否开启容错”配置项设置为“开启”时配置。

    • Failover

      在不同服务器上重新尝试建立连接。

    • Failfast

      不再重新尝试建立连接,即请求失败时会立即返回失败结果。

    • Failback

      在同一个服务器上重新尝试建立连接。

    • custom
      • 尝试同一个服务器次数:尝试与同一个服务器重新建立连接的次数。
      • 尝试新的服务器次数:尝试与新的服务器建立连接的次数。

  7. 单击“确定”,保存配置。

设置熔断

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“熔断”。
  6. 单击“新增”。选择合理的策略,熔断策略配置项如下表所示。

    配置项

    配置项说明

    熔断对象

    该应用调用的服务或方法,下拉菜单可直接选择。

    触发条件

    • 手动熔断

      即刻触发熔断,且不再调用。

    • 取消熔断

      将已经熔断的微服务实例取消熔断,继续调用。

    • 自动熔断
      • 熔断时间窗:熔断的持续时间,该时间窗内不再响应请求。
      • 失败率:触发条件,窗口请求的失败率。
      • 窗口请求数:触发条件,窗口收到的请求数。“失败率”和“窗口请求数”的条件需同时满足才会触发熔断。

  7. 单击“确定”,保存配置。

设置错误注入

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“错误注入”。
  6. 单击“新增”。选择合理的策略,错误注入策略配置项如下表所示。

    配置项

    配置项说明

    注入对象

    需要测试容错能力的微服务,可以具体到微服务的方法。

    类型

    测试微服务的容错能力类型:

    • 延迟
    • 错误

    协议

    访问微服务出现延时或错误的协议:

    • Rest
    • Highway

    延迟时间

    访问微服务出现延时的时长,“类型”选择为“延迟”时才需要配置。

    http错误码

    访问微服务出现错误的HTTP错误码,“类型”选择为“错误”时才需要配置。该错误码为HTTP标准的错误码。

    触发概率

    访问微服务出现延时或错误的概率。

  7. 单击“确定”,保存配置。

设置黑白名单

基于公钥认证机制,微服务引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。

只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证

  1. 登录ServiceStage控制台,选择“基础设施 > 微服务引擎(CSE)”。
  2. 单击微服务引擎的“查看控制台”。
  3. 选择“服务治理”。
  4. 单击需要治理的微服务。
  5. 单击“黑白名单”。
  6. 单击“新增”,为应用添加黑白名单,黑白名单配置项如下表所示。

    配置项

    配置项说明

    类型

    • 黑名单:表示根据匹配规则匹配到的微服务都不允许访问当前服务。
    • 白名单:表示根据匹配规则匹配到的微服务允许访问当前服务。

    匹配规则

    使用正则表达式表示。

    例如“匹配规则”设置为data*,指在黑名单下匹配到的名称以data开头的服务不允许访问当前服务,或者在白名单下匹配到的名称以data开头的服务允许访问当前服务。

  7. 单击“确定”,保存配置。

公钥认证

公钥认证是微服务引擎提供的一种简单高效的微服务之间认证机制,它的安全性建立在微服务与服务中心之间的交互是可信的基础之上,即微服务和服务中心之间必须先启用认证机制。它的基本流程如下:

  1. 微服务启动的时候,生成密钥对,并将公钥注册到服务中心。
  2. 消费者访问提供者之前,使用自己的私钥对消息进行签名。
  3. 提供者从服务中心获取消费者公钥,对签名的消息进行校验。

启用公钥认证步骤如下:

  1. 公钥认证需要在消费者、提供者都启用。
    servicecomb:
      handler:
        chain:
          Consumer:
            default: auth-consumer
          Provider:
            default: auth-provider
  2. 在pom.xml中增加依赖:
    <dependency> 
        <groupId>org.apache.servicecomb</groupId> 
        <artifactId>handler-publickey-auth</artifactId> 
      </dependency>

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容