提高系统可用性

提高系统可用性计算机网络发展史首先前解释一下什么是计算机网络,计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络也称计算机通信网。关于计算机网络的最简单定义是:一些相互…

大家好,又见面了,我是你们的朋友全栈君。

                                     如何提高系统可用性 


    一. 时刻考虑应对故障
    
        1.设计
  通过使用一些设计模式,例如捕获底层异常、重试逻辑和断路器,可以帮助你捕获错误并尽可能避免影响其他功能。这样,你就能够限制问题的影响范围,即使应用程序的某些部分出现问题,依然能够提供其他一些有用的功能。

        2.依赖
   断路器模式在处理依赖故障时非常有用,因为它们可以降低依赖故障对你的系统的影响。如果没有断路器,你可能会因为依赖故障而降低系统的性能(例如,需要一个很长的超时机制来检测故障)。而使用了断路器,你可以“放弃”并停止使用某个依赖,直到你确认它已经恢复了正常工作。

        3.用户
   有些时候,拒绝式服务可能来自于“友方”。

    二.时刻考虑如何伸缩

  当你构建系统时,不要只考虑当前的流量,要考虑未来的流量。
  具体一点,这可能意味着:

  设计出能够增加数据库数量和容量的架构。

  考虑限制你的数据伸缩的原因。当数据库达到容量极限的时候会发生什么?你需要确认这些限制因素并在到达极限之前解决它们。

  你应当能够很容易地添加额外的应用程序服务器。这通常需要仔细考虑在何处和如何来维护状态,以及流量是如何路由的。注意将静态流量导向离线提供方。这样你的系统只需要处理必要的动态流量。使用外部的内容分发网络(CDN)不仅可以降低网络需要处理的流量,也能够利用CDN 的伸缩效率将静态内容更快地分发给用户。

  考虑是否可以静态生成一些动态资源。通常来说,看上去动态显示的内容实际上大多数是静态的,并且生成静态内容可以让你的应用程序提高可伸缩性。这种“应该静态的动态资源”有些时候隐藏在你想象不到的地方。

     三.缓和风险 

  保持系统高可用需要消除系统中的风险。当系统发生故障时,通常我们已经在这之前将故障原因确定为了风险。因此,确定风险是提高可用性的一个重要方法。
  所有的系统中都存在以下这些风险:

     *  存在系统崩溃的风险
     *  存在数据库崩溃的风险
     *  存在返回结果不正确的风险
     *  存在网络连接失败的风险
     *  存在新部署的软件功能出现故障的风险

   保持系统高可用需要消除风险。但是当系统变得越来越复杂时,消除所有风险也变得越来越不可能实现。保持一个大型系统高可用,更多的是来管理系统的风险,知道这些风险是什么,哪些风险是可接受的,以及你能够做什么来缓和风险。

我们称之为风险管理,它是构建高可用系统的核心内容。

风险管理中的一个部分是风险缓和。风险缓和指的是当问题发生时,我们知道如何去尽可能降低问题所带来的影响。缓和意味着即使当服务和资源不可用时,依然尽可能确保你的系统以最好的、最完整的状态工作。风险缓和需要考虑哪些事情可能会出错,并且立即制订相应的计划,以便当问题发生时能够提供相应的解决方案。

    四.监控可用性

    除非你看到问题发生,否则你不会知道应用程序中存在着问题。你应当确保对应用程序进行了适当的监控,以便可以从外部和内部两个视角来观察应用程序的运行状况。
    监控的程度取决于应用程序的特点和要求,但是通常必须具备以下这些监控。
  • 服务器监控
      监控服务器的健康状况,并且确保它们始终在有效运行。

  • 配置变化监控
      监控系统配置的变化,以便确定它们对应用程序的影响。

  • 应用程序性能监控
      深入了解你的应用程序和服务,确保它们按照预期运行。

  • 人为测试
      从用户的角度来实时检测应用程序的运行情况,以便在用户真正发现问题之前发现它们。

  • 报警
      当问题发生时通知相关人员,以便使问题可以得到快速有效的解决,将对用户的影响降低到最小。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158107.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • zencart 模板文件说明

    zencart 模板文件说明如果要修改zencart模板页面背景就在includes/templates/your_template/css文件夹里的:css/stylesheet.css主样式表,修改页面背景,字体大小颜色都找它common里的:common/html_header.php页面的head部分,一般不需要修改,注意它与下面文件的区别。common/tpl_header.php网店页面…

  • 小程序列表跳转至详情_小程序跳转链接怎么获取

    小程序列表跳转至详情_小程序跳转链接怎么获取效果展示:列表页js部分:onLoad:function(options){varthat=this;wx.request({url:’你的接口’,data:{ 接口参数},header:{‘content-type’:’ap…

  • python基础语法个人笔记_python基础题库

    python基础语法个人笔记_python基础题库python语法规范python的语法规范非常重要,简洁明了是python的特性,以下是python语法的一些说明python3的编码格式是unicode(utf-8)标识符的规则:由字母、数字

  • linux ioctl函数详解,ioctl函数详解「建议收藏」

    linux ioctl函数详解,ioctl函数详解「建议收藏」1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息,所以,我们有必要了解一下ioctl函数的具体实现.2.相关结构体与相关函数#includeintioctl(intd,intrequest,….);参数:d-文件描述符,这里是对网络套…

    2022年10月18日
  • idea进入方法快捷键详情大全(idea快捷键大全最新设置)[通俗易懂]

    idea进入方法快捷键详情大全(idea快捷键大全最新设置)[通俗易懂]首页>软件应用>返回首页idea进入方法快捷键详情大全(idea快捷键大全最新设置)软件应用发布时间:2022-02-1311:05:09刚开始使用IDEA时一直都不熟悉,利用空闲的时间整理了一下常用的IDEA快捷键。1、Ctrl快捷键介绍Ctrl+F在当前文件进行文本查找Ctrl+R在当前文件进行文本替换Ctrl+Z撤销Ctrl+Y删除光标所在行或删除选中的行Ctrl+X剪切光标所在行或剪切选择内容…

  • ghost备份出错,原系统如何修复_电脑怎么做ghost备份

    ghost备份出错,原系统如何修复_电脑怎么做ghost备份  系统装好了,资料也弄好了.自然想到的就是备份.  一键GHOST备份.结果卡在启动项选择那里.停在BACKUPSYSTEM然后下面显示磁盘I/O出错.死机…..  本来以为挂了.后来查了下,只要改变下默认启动项顺序即可.操作如下:  右键我的电脑->属性->高级->启动和故障恢复(设置) 在里面把默认的操作系统backupsystem改为xp就OK.其他的什么等待时间之

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号