美文网首页
软件编程开发关于系统降级的操作方法

软件编程开发关于系统降级的操作方法

作者: d390347c4084 | 来源:发表于2019-02-27 11:47 被阅读9次

来源:性能与架构

一般来说,大部分的软件开发架构都是要尽可能的满足用户的不同需求,所以我们才会发现一些软件的体积会越来越大,而有时候我们为了维护系统的正常运行也需要去掉一些架构内容,这就是我们今天要给大家介绍的关于降级的一些使用方法。

降级是系统保护的重要手段,保证系统的高可用,简单理解,降级就是丢车保帅,在系统压力极大时,暂时不做非必要动作,以保证系统核心功能的正常。

例如电商系统中,购物车、结算这类的核心功能就是保护对象,是绝对不能降级的,而像个性化自动商品推荐服务就可以暂时不提供。

降级策略有很多种,可以从下面3个维度分为5种策略:

自动化维度

包括:自动开关降级、人工开关降级。

功能维度

包括:读服务降级、写服务降级。

系统层次维度

包括:多级降级。

1. 自动开关降级

系统在运行时根据运行状态自动触发降级,例如:

超时

调用远程非核心服务时,响应过慢后自动降级,先不调了。

需要配置好超时时间和超时重试次数。

统计失败次数

有的服务可能不太稳定,例如外部的机票服务,当调用失败次数超过容忍度后就自动降级。可以通过异步线程去探测服务是否恢复了,可用后自动取消降级。

故障

比如远程服务挂掉了,就自动降级,可以使用默认值、提前准备的内容、之前的缓存数据。

限流

例如秒杀系统,通常会使用限流机制进行保护,当达到限流阈值时,后续请求就自动被降级,例如将用户导流到排队页面过会儿重试、直接告诉用户没货了。

2. 手动开关降级

自动降级是根据系统出现的一些问题进行响应,但在系统还没有出现问题时,我就想降级某些服务,比如促销马上开始了,可以预知访问量很大,我们提前就把推荐服务关掉;再比如新功能想上线进行灰度测试,当新功能不符合预期时我想马上切换回老服务。

这类需求就需要使用可以人工控制的开关来实现。

开关可以存放到配置文件、数据库、Redis/Zookeeper等位置,定期同步开关数据。

分布式系统中通常会创建一个配置中心,对整个系统中的配置开关进行集中管理,提供 Web UI 界面进行便捷操作。目前有一些开源方案可以选择,例如 ZooKeeper、Diamond、Etcd 3、Consul。

作者:杜亦舒

节选:公众号:性能与架构

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

相关文章

  • 软件编程开发关于系统降级的操作方法

    来源:性能与架构 一般来说,大部分的软件开发架构都是要尽可能的满足用户的不同需求,所以我们才会发现一些软件的体积会...

  • 通用软件快速开发平台对企业信息化的影响

    关于开发平台 开发平台是指以某种编程语言或者某几种编程语言为基础,开发出来的一个软件,而这软件不是一个最终的软件产...

  • P8架构师告诉你身为程序员必备的技能之一TCP/IP网络编程

    网络编程:操作系统+系统编程知识+TCP/IP网络数据传输协议大部分软件是基于网络环境开发的,因此,网络编程成为程...

  • 团队开发框架实战—面向切面的编程 AOP

    团队开发框架实战—面向切面的编程 AOP 引言 软件开发的目标是要对世界的部分元素或者信息流建立模型,实现软件系统...

  • 限流

    在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存:缓存的目的是提升系统访问速度和增大系统处理容量降级...

  • Srcum3355框架

    在敏捷软件开发中,业内有很多常用的开发方法,比如精益开发、极限编程、水晶方法、动态系统、Scrum等。其中开发方法...

  • 架构成长之路:分布式系统限流策略(一)

    在开发高并发的系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非...

  • 分布式系统限流策略(一)

    在开发高并发的系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非...

  • 西门子组态软件wincc短信报警

    wincc是西门子公司开发的上位机视窗监控编程软件,用户可以利用软件提供的控件、脚本、方法等进行开发,将控制系统动...

  • 高并发之限流

    目录 概念 划分 线上情况 概念 在开发分布式高并发系统时有三把利器用来保护系统:缓存、降级、限流。其中降级的一种...

网友评论

      本文标题:软件编程开发关于系统降级的操作方法

      本文链接:https://www.haomeiwen.com/subject/oovxuqtx.html