返回顶部

一缕半夏微光

温柔半两,从容一生

导航

浅谈互联网三高架构

摘要:互联网三高架构:高并发、高性能、高可用,简称三高(3H),是系统架构设计的高级要求。在互联网高速发展,数据海量存储的时代,构架高性能、高可用性的应用支撑大量并发访问,在现代物联网、互联网架构时代是至重要的。稳定而又可以水平扩展的架构是应用程序运行的基础。

关键词:架构;高并发;高性能;高可用;

 

Abstract:The Three High Points of Internet architecture: High concurrency, high performance, and high availability, referred to as the three High Points (3H), are advanced requirements for system architecture design. In the era of rapid development of the Internet and massive data storage, architecting high-performance, high-availability applications to support a large number of concurrent access is extremely important in the era of modern Internet of Things and Internet architecture. A stable and horizontally scalable architecture is the foundation upon which applications operate.

Keywords: Architecture; High concurrency. High performance; High availability;

 

0  引言

面向互联网的三高系统,最关注的软件质量属性是:性能、可用性、伸缩性、扩展性、安全性。而构建此类系统,最常见的架构模式有:横向分层、纵向分割、分布式化、集群化、使用缓存、使用异步模式、使用冗余、自动化(发布、部署、监控)。

1  高并发

1.1高并发场景

互联网应用以及云计算的普及,使得架构设计和软件技术的关注点从如何实现复杂的业务逻 辑,转变为如何满足大量用户的高并发访问请求。

一个简单的计算处理过程,如果一旦面对大量的用户访问,整个技术挑战就会变得完全不 同,软件开发方法、技术团队组织、软件的过程管理都会完全不同。

1.2 架构策略

1.2.1垂直伸缩

垂直伸缩,就是提升单台服务器的处理能力。

比如用更快频率的 CPU,用更多核的 CPU,用更大的内存,用更快的网卡,用更多的磁盘组成一台服务器,使单台服务器的处理能力得到提升。

垂直伸缩带来的价格成本和服务器的处理能力并不一定呈线性关系。

增加同样的费用,并不能得到同样的计算能力。而且计算能力越强大,需要花费的钱就越多。

而且,受计算机硬件科技水平的制约,单台服务器的计算能力并不能无限增加,而互联网,特别是物联网的计算要求几乎是无限的。

因此,在互联网以及物联网领域,并不使用垂直伸缩这种方案,而是使用水平伸缩。

1.2.2水平伸缩

所谓的水平伸缩,指的是不去提升单机的处理能力,而是使用更多的服务器,将这些服务器构成一个分布式集群,通过这个集群,对外统一提供服务,以此来提高系统整体的处理能力。

但是要想让更多的服务器构成一个整体,就需要在架构上进行设计,让这些服务器成为整体 系统的一个部分,将这些服务器有效地组织起来,统一提升系统的处理能力。

这就是互联网应用和云计算中普遍采用的分布式架构方案。

2  高性能

2.1高性能场景

互联网应用以及云计算的普及,使得架构设计和软件技术的关注点从如何实现复杂的业务逻 辑,转变为如何满足大量用户的高并发访问请求。

2.2衡量指标

4个性能指标:并发数不变,响应时间足够快,单位时间的吞吐量就会相应的提高。

  1. 响应时间:指从发出请求开始到收到最后响应数据所需要的时间。反映系统快慢。
  2. 并发数:系统同时处理的请求数。反映系统负载。
  3. 吞吐量:单位时间内,系统处理请求的数量。体现系统处理能力。
    • HTTP请求数:HPS
    • 每秒事务数:TPS
    • 每秒查询数:QPS
  4. 性能计数器:
    • 系统负载System Load
    • 对象和线程数
    • 内存使用
    • CPU使用
    • 磁盘和网络

3  高可用

3.1高可用场景

我们知道,Web 应用在各种情况下都有可能不可访问,也就是不可用。

各种硬件故障,比如应用服务器及数据库宕机、网络交换机宕机、磁盘损坏、网卡松掉等等。还有各种软件故障,程序 Bug 什么的。即使没有 Bug,程序要升级,必须要关闭进程重新启动,这段时间应用也是不可用的;

此外,还有外部环境引发的不可用,比如促销引来大量用户访问,导致系统并发压力太大而崩溃,以及,黑客攻击、机房火灾、挖掘机挖断光缆,各种情况导致的应用不可用。

而互联网的高可用是说,在上面各种情况下,应用都要是可用的,用户都能够正常访问系统,完成业务处理。

3.2架构策略

3.2.1提高应灾能力

① 冗余备份:数据库主主复制

② 负载均衡

③ 异地多活

3.2.2保护策略

① 失败隔离:限制影响范围。主要架构技术是消息队列

② 限流降级

4  案例

4.1 12306火车票

4.2  社交朋友圈

5  总结

互联网的三高架构就是指设计互联网系统架构时需要满足高可用,高性能,高并发。但高并发系统和非高并发系统,算两个维度,在这两个维度下还有三高:高可用、高性能、高扩展。

 

参考链接:

分布式架构中的三高:高并发、高性能、高可用

三高(高并发、高性能、高可用)案例

高性能高并发系统架构(一)

posted on 2022-05-19 21:08  一缕半夏微光  阅读(312)  评论(0编辑  收藏  举报