检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
借助API网关,可以简单、快速、低成本、低风险地实现内部系统集成和业务能力开放。API网关帮助您变现服务能力的同时,降低企业研发投入,让您专注于企业核心业务,提升运营效率。
最新动态(html) 本文介绍了Huawei Cloud EulerOS产品新特性和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验。
None 操作指导 API网关 APIG 介绍开放API的操作流程 04:34 开放API API网关 APIG 介绍如何创建流控策略 02:11 设置流量控制 API网关 APIG 介绍如何调用API(签名认证) 02:28 调用API(签名认证) API网关 APIG 介绍如何调用
相关云服务和工具 华为云提供了一些内嵌流控保护的云服务,用户可直接配置使用: API网关 APIG:支持配置流控策略,用户可指定单位时间内的单个API、单个用户或单个APP的请求次数上限。 微服务引擎 CSE:支持限流,用户可指定一定时间内可接受的请求次数上限。
接入层(外部GSLB、API网关):通过外部GSLB进行域名解析与流量负载均衡,两朵云同时提供服务,在第三方云故障时自动将业务流量切换到华为云;API网关支持流量纠正,以便将业务路由到正确单元。
接入层(外部GSLB、API网关):通过外部GSLB进行域名解析与流量负载均衡,两个Region同时提供服务,在单个Region故障时自动将业务流量切换到另一Region;API网关支持流量纠正,以便将业务路由到正确单元。
API网关 APIG SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。
RES07-05 端到端跟踪请求消息 端到端跟踪请求消息的处理流程,便于分析和调试问题,并提高处理性能。 风险等级 低 关键策略 消息跟踪需要包含消息处理流程中所有组件,以便跟踪结果完整,从而进行准确分析和定位。 相关云服务和工具 应用性能管理 APM:支持调用链追踪,能够针对应用的调用情况
接入层(外部DNS、API网关):通过外部DNS进行域名解析,在一个Region故障时手工将业务流量切换到另一个Region。
基于API网关暴露接口的应用,可使用APIG服务提供的流量、延迟和错误率监控能力。如果云服务现有能力不能满足系统要求,用户也可以自行埋点或基于Zipkin开源框架实现调用链跟踪、延迟和流量监控。
API网关 APIG APIG专享版实例配置安全认证类型 APIG专享版实例配置访问日志 APIG专享版实例域名均关联SSL证书 父主题: 系统内置预设策略
接入层(外部DNS、API网关):通过外部DNS进行域名解析,在IDC/其他云故障时手工将业务流量切换到华为云。
DMS分布式消息服务 DMS分布式消息服务支持以下各种消息类型: Kafka版:基于开源社区版Kafka提供的消息队列服务,向用户提供计算、存储和带宽资源独占式的Kafka专享实例。 RabbitMq版:完全兼容开源RabbitMQ,提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性
RES07-03 监控到异常后发送消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份
消息队列性能优化 以下章节我们结合一些具体建议和指标来说明如何针对消息队列的使用进行性能优化。 Kafka性能优化 RabbitMQ性能优化 父主题: 云服务性能优化介绍
RES09-01 API及命令调用需要设计为可重试 在进行重试处理时,API及命令调用会重复发送,服务方会多次重复执行,需要保证重复执行多次的结果不变。 风险等级 高 关键策略 应用系统在设计时,应使操作具有幂等性,也就是允许一个操作连续执行两次或多次时,应该与单次调用产生的结果相同
PERF03-06 选择合适的消息队列 风险等级 中 关键策略 三种不同版分布式消息服务的适用场景如下: Kafka:兼容开源Kafka,适用构建实时数据管道、流式数据处理、第三方解耦、流量削峰去谷等场景,有大规模、高可靠、高并发访问、可扩展且完全托管的特点。 RocketMQ:兼容开源
Kafka性能优化 Kafka性能优化 优化客户端配置 生产者配置建议 可参考配置建议。 消费者配置建议 参数 推荐值 说明 max.poll.records 500 消费者一次能消费到的最大消息数量,默认为500,如果每条消息处理时间较长,建议调小该值,确保在max.poll.interval.ms
RabbitMQ性能优化 保持尽可能短的队列长度 太多的消息堆积在队列中会造成内存负载过高,为了释放内存,RabbitMQ 会把消息转存到磁盘,转存过程会耗费大量时间,造成消息处理速度下降或直接阻塞生产流程。因此队列中堆积过多的消息容易对 broker 产生负面效应。除此之外,如果节点崩溃后重启
可靠性功能 集群HA Kafka实例通过副本冗余方式实现实例容灾,当检测到leader副本故障后,快速完成副本选主,保障Kafka实例持续提供服务。 RabbitMQ集群提供镜像队列,通过镜像在其他节点同步数据。单节点宕机时,仍可通过唯一的访问地址对外提供服务。 RocketMQ使用一主两备架构
常见故障模式 CPU /内存/磁盘/带宽使用率过高 检测:通过CES监控CPU /内存/磁盘/带宽使用率。 恢复: 当CPU/内存使用高时,可根据业务情况,手工修改代理规格或增加代理数量以扩展资源。 当磁盘使用率高时,可根据业务情况,修改实例存储空间支持更大存储空间。 当带宽使用率高时
RES08-02 依赖松耦合 系统内组件之间直接访问时,会产生紧耦合关系一个组件的状态变化会对其他组件产生直接影响,从而会导致所有组件的可用性均下降。而采用松耦合架构时,各个组件之间的依赖关系非常弱,它们可以独立地进行修改和扩展,而不影响其他组件;系统更加灵活,易于维护和升级,并且稳定性和可靠性也更强
RES09-02 客户端需要根据综合评估是否要重试 当客户端请求超时或收到错误响应时,客户端需要决定是否重试;重试有助于客户端在请求失败时,通过重复消息来获得预期的结果,避免业务失败,但也会消耗更多的服务器时间来获取所需的成功响应。 风险等级 高 关键策略 请求超时,可能是链路闪断或其他临时性故障导致消息丢失
RES08-01 减少强依赖项 系统内组件之间强依赖时,一个组件故障会对其他组件造成直接影响,影响系统可用性。 风险等级 中 关键策略 可以通过以下技术将强依赖项转换为非强依赖项: 提高关键依赖项的冗余级别,降低该关键组件不可用的可能性。 与依赖项的通信采用异步消息并支持超时重试,
RES11-02 压力负载测试 通过施加超出系统容量的业务压力,验证云服务的过载保护、业务隔离和优雅降级等能力。为全面验证系统整体的容量规划和业务依赖,云服务应用通常采用全链路压测进行测试。 风险等级 高 关键策略 模拟大量接口消息进行压力测试。 模拟各种业务场景进行压力测试。 持续自动测试