欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。
Overview
可扩展性、高可用性和性能
术语可扩展性
、高可用性
、性能
和关键任务
对于不同的组织或组织内的不同部门来说可能意味着不同的事情。它们经常互换,造成混乱,导致管理不善的期望、实现延迟或不切实际的指标。
这里的快速参考为您提供了定义这些术语的工具,以便您的团队能够实现具有良好理解的性能目标的关键任务系统。
可扩展性
它是一个系统或应用程序的属性,可以处理更多的工作,或者很容易地进行扩展,以响应对网络、处理数据、数据库访问或日益增长的文件系统资源需求。
水平扩展性
当系统进行扩展时,通过添加与现有节点功能相同的新节点,在所有节点之间重新分配负载,可以横向扩展或向外扩展。SOA系统和Web服务器通过向负载平衡网络中添加更多的服务器来扩展,以便传入的请求可以分布在所有服务器中。集群
是描述扩展处理系统的常用术语。
图 1: 集群
垂直扩展性
当系统通过向节点添加处理、主内存、存储设备或网络接口来扩展以满足每个系统的更多请求时,系统会垂直或向上扩展。虚拟主机通过增加处理器数量或主内存数量来扩大规模,以便在同一硬件中承载更多虚拟服务器
图 2:虚拟化
高可用性
可用性描述一个系统在一段时间内提供有用资源的能力。高可用性保证了一个时间窗口内的功能连续性的绝对程度,该时间窗口表示为正常运行时间和停机时间之间的关系。
A = 100 – (100*D/U), D ::= unplanned downtime, U ::= uptime; D, U expressed in minutes
正常运行时间和可用性并不是同一个概念。一个系统可能会运行一个完整的测量周期,但可能由于网络中断或相关支持系统的停机而不可用。停机和不可用是同义词
。
测量可用性
供应商将可用性定义为给定的“9”个数,如表1所示,其中还描述了与365天一年或525600分钟数相关的估计停机时间的分钟或秒数,使U成为其营销目的的常数。
可用性 % | 停机时间/分钟 | 停机时间/年 | 供应商术语 |
---|---|---|---|
90 | 52,560.00 | 36.5 天 | 一个9 |
99 | 5,256.00 | 4 天 | 两个9 |
99.9 | 525.60 | 8.8 小时 | 三个9 |
99.99 | 52.56 | 53 分钟 | 四个9 |
99.999 | 5.26 | 5.3 分钟 | 五个9 |
99.9999 | 0.53 | 32 秒 | 六个9 |
表格1 1: 可用性占每年总正常运行时间的百分比
分析
高可用性取决于为系统需求定义的预期正常运行时间;所以不要被供应商的数据误导。也就是说,拥有高可用性系统及其可测量的正常运行时间的意义是服务级别协议的直接功能。
当考虑到计划的停机时间(如每月8小时的维护时间)时,可用性会增加。每增加9个可用性的成本都会成倍增长。
可用性是将系统向上或向外扩展并实现系统、网络和存储冗余的功能。
服务等级协议 (SLA)
服务水平协议是一种协议条款,概述了交付和使用系统所涉及的双方的关系,例如:
- 系统类型(虚拟或专用服务器、共享主机 )
- 可用性级别
- 分钟
- 目标?
- 运行时间
- 网络
- 电源
- 维护窗口
- 可维护性
- 性能和指标
- 费用
SLA可以约束两个内部组织(如IT和电子商务部门)之间的义务,或者组织与外包服务提供商之间的义务。SLA建立用于评估系统性能的指标,并提供可用性和可扩展性目标的定义。除非正在制定或已经存在一个SLA,否则谈论任何这些话题都没有意义。
伸缩性
伸缩性是根据需求动态添加和删除系统中资源的能力,是水平或垂直扩展的专门实现。
写在最后
以上就是我的面试过程,为了这次面试,也收集了很多的面试题,反正我已经面过了,那就免费分享出来吧!
需要的朋友:关注一下,然后点击这里即可免费领取
以下是部分面试题截图
需要的朋友:关注一下,然后点击这里即可免费领取
以下是部分面试题截图