「软件」后端开发术语大全( 六 )

  • 告警过滤:对某些可预知的告警进行过滤 , 不进入告警统计的数据 , 如少量爬虫访问导致的http响应500错误 , 业务系统自定义异常信息等 。
  • 告警去重:当一个告警通知负责人后 , 在这个告警恢复之前 , 不会继续收到相同的告警 。
  • 告警抑制:为了减少由于系统抖动带来的干扰 , 还需要实现抑制 , 例如服务器瞬间高负载 , 可能是正常的 , 只有持续一段时间的高负载才需要得到重视 。
  • 告警恢复:开发/运维人员不仅需要收到告警通知 , 还需要收到故障消除告警恢复正常的通知 。
  • 告警合并:对同一时刻产生的多条相同告警进行合并 , 如某个微服务集群同一时刻出现多个子服务负载过高的告警 , 需要合并成为一条告警 。
  • 告警收敛:有时某个告警产生时 , 往往会伴随着其它告警 。 这时可以只对根本原因产生告警 , 其它告警收敛为子告警一并发送通知 。 如云服务器出现CPU负载告警时往往伴随其搭载的所有系统的可用性告警 。
  • 故障自愈:实时发现告警 , 预诊断分析 , 自动恢复故障 , 并打通周边系统实现整个流程的闭环 。

  • 服务治理
    1. 微服务微服务架构是一种架构模式 , 它提倡将单一应用程序划分成一组小的服务 , 服务之间相互协调、互相配合 , 为用户提供最终价值 。 每个服务运行在其独立的进程中 , 服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建 , 并且能够被独立的部署到生产环境、类生产环境等 。
    2. 服务发现服务发现是指使用一个注册中心来记录分布式系统中的全部服务的信息 , 以便其他服务能够快速的找到这些已注册的服务 。 服务发现是支撑大规模 SOA 和微服务架构的核心模块 , 它应该尽量做到高可用 。
    3. 流量削峰如果观看抽奖或秒杀系统的请求监控曲线 , 你就会发现这类系统在活动开放的时间段内会出现一个波峰 , 而在活动未开放时 , 系统的请求量、机器负载一般都是比较平稳的 。 为了节省机器资源 , 我们不可能时时都提供最大化的资源能力来支持短时间的高峰请求 。 所以需要使用一些技术手段 , 来削弱瞬时的请求高峰 , 让系统吞吐量在高峰请求下保持可控 。 削峰也可用于消除毛刺 , 使服务器资源利用更加均衡和充分 。 常见的削峰策略有队列 , 限频 , 分层过滤 , 多级缓存等 。
    4. 版本兼容在升级版本的过程中 , 需要考虑升级版本后 , 新的数据结构是否能够理解和解析旧数据 , 新修改的协议是否能够理解旧的协议以及做出预期内合适的处理 。 这就需要在服务设计过程中做好版本兼容 。
    5. 过载保护过载是指当前负载已经超过了系统的最大处理能力 , 过载的出现 , 会导致部分服务不可用 , 如果处置不当 , 极有可能引起服务完全不可用 , 乃至雪崩 。 过载保护正是针对这种异常情况做的措施 , 防止出现服务完全不可用的现象 。
    6. 服务熔断服务熔断的作用类似于我们家用的保险丝 , 当某服务出现不可用或响应超时的情况时 , 为了防止整个系统出现雪崩 , 暂时停止对该服务的调用 。
    7. 服务降级服务降级是当服务器压力剧增的情况下 , 根据当前业务情况及流量对一些服务和页面有策略的降级 , 以此释放服务器资源以保证核心任务的正常运行 。 降级往往会指定不同的级别 , 面临不同的异常等级执行不同的处理 。
    • 根据服务方式:可以拒接服务 , 可以延迟服务 , 也有时候可以随机服务 。
    • 根据服务范围:可以砍掉某个功能 , 也可以砍掉某些模块 。

    总之服务降级需要根据不同的业务需求采用不同的降级策略 。 主要的目的就是服务虽然有损但是总比没有好 。
    8. 熔断VS降级