首页 > 其他分享 >阅读笔记——《大型网站技术架构:核心原理与技术分析》可用性、可伸缩性、可扩展性

阅读笔记——《大型网站技术架构:核心原理与技术分析》可用性、可伸缩性、可扩展性

时间:2023-03-02 19:46:44浏览次数:46  
标签:可伸缩性 架构 可扩展性 可用性 网站 服务器

  在制作软件的过程中,引入软甲架构的概念能够很大程度上提高软件质量。今天阅读了李智慧主编的《大型网站技术架构:核心原理与技术分析》部分内容,从软件的高可用性、可伸缩性和可扩展性分享我的读书心得。

  一、可用性

  可用性一般指的是网站的访问特性,在大型网站架构中,一旦网站出现故障,大量用户将无法访问网站,造成极大的经济损失。我认为可用性是网站架构中最基础也是最重要的特性。当然,对于大型网站来说,网站仅仅具有可用性是完全不够的,因该具备高可用性。和可用性相对比,高可用性可以连续运行,即使在系统运行高峰,也能将系统停机时间讲到最低。

  对于大型网站来说,高可用是最基本的要求。因此,在架构设计上,要考虑到应用的高可用性,应该采用多个服务器集群的方式,实现应用的水平扩展和负载均衡。同时,还可以使用多种高可用技术,如主从复制、读写分离等,来保证系统的可用性。在hadoop集群、zookeeper、以及spark中都有使用高可用性,即使一次任务需要处理的数据量庞大,系统也不会死机。

  在可用性的提高方面,负载均衡是最基本的措施之一,通过负载均衡,将用户的请求分配到多个服务器上,避免单个服务器承受过大的请求压力。此外,大型网站还需要采用容错和备份机制,确保在服务器故障时,能够快速恢复服务,并且不会丢失任何数据。

  二、可伸缩性

  网站的伸缩性是指在不改变网站软硬件的基础上,仅仅改变服务器的部署数量或模式来扩大或缩小网站的服务处理能力。可伸缩性也是网站重要的特性之一,我认为网站的伸缩性能够代表网站的韧性,网站失去韧性,网站服务处理能力便无法伸缩变化,导致网站失去用户的支持。

  在保证网站可伸缩性方面,包含以下手段:

  ①水平扩展

  ②垂直扩展

  在网站可伸缩性的应用方面,有单一功能应用、mysql数据存储、分布式存储服务器....

  三、可扩展性

  可扩展性指的是系统能够适应网站业务增长以及流量增大的能力,其核心是通过分层架构、模块化设计、负载均衡、数据分片等技术手段来实现。可扩展性同样是网站架构中很重要的一部分。大型网站往往用于大量用户同时使用,这也要求大型网站必须具有良好的可扩展性,保证用户能够正常访问数据。这一点可以参考12306网站的开发,并不是服务器够多就能支持用户的点击。

  对于网站的可扩展性设计,可以从以下方面入手,包括硬件、软件、网络等方面。在硬件方面,可扩展性的设计可以采用集群化的方式来实现,即将系统拆分成多个节点,每个节点上运行相同的软件,从而提高系统的并发处理能力和容错能力。在软件方面,可扩展性的设计可以采用模块化的架构来实现,即将系统拆分成多个模块,每个模块处理自己的业务逻辑,从而提高系统的可维护性和扩展性。在网络方面,可扩展性的设计可以采用负载均衡的技术来实现,即将用户的请求分发到多个服务器上处理,从而提高系统的并发处理能力和可用性。

  以上就是我今天关于可用性、可伸缩性、可扩展性的阅读笔记和一些理解。

标签:可伸缩性,架构,可扩展性,可用性,网站,服务器
From: https://www.cnblogs.com/jzz-111jy/p/17171360.html

相关文章

  • 阅读-软件架构可用性
    阅读《大型网站技术架构核心原理与案例分析》--李智慧软件架构可用性陈振辉摘要:网站可用性是大型网站核心架构设计之一,好的架构应该具有好的方法,行业中对于可用性也有评......
  • 关于可用性的阅读笔记
    在看了《大型网站技术架构:核心原理与案例分析》这本书关于可用性介绍部分后,我有了很多感悟。在我之前的世界里,软件的可用性,似乎只停留在软件能用,遇到了错误,程序被......
  • SQL Server 2022 包含的可用性组
    介绍SQLServer2022引入了包含的可用性组的新概念。这是DBA自10年前引入可用性组以来一直在等待的事情。包含的可用性组通过在数据库副本之间复制系统对象(如SQL......
  • 如何批量检测隧道HTTP代理的可用性?
    本质上来说,检测隧道HTTP代理的可用性就是检测HTTP代理的可用性,目前市面上常见的方法有如下几种:一、常用软件利用常用的日用软件当中的“设置”,使用HTTP代理,填写对应ip代理的......
  • 如何实现通用爬虫并检测可用性?
    一、实现运行爬虫模块我们的目标:根据配置文件信息, 加载爬虫,抓取HTTP代理,进行校验,如果可用,写入到数据库中根据以下思路:1.在run_spider.py中,创建RunSpider类2.提供一个运行爬......
  • Redis的可用性
    通过AKF理论构建集群: 单机Redis带来的问题--1:容量有限,内存有限    2:单机故障,挂机后导致服务不可用  3:连接压力,I/O压力大,并发压力大根据AKF理论解......
  • 【PostgreSQL架构】PostgreSQL的最佳PG群集高可用性(HA)解决方案
    【PostgreSQL架构】PostgreSQL的最佳PG群集高可用性(HA)解决方案首页 ⟶ 数据管理 ⟶ PostgreSQL架构 ⟶ 【PostgreSQL架构】PostgreSQL的最佳PG群......
  • 主流数据库产品高可用性对比
    1.openGauss主备HA主备复制采用WAL日志复制技术,支持级联备库,目前支持一主八备规模,支持同步复制、异步复制,支持最大可用模式,支持switchover、failover操作。Switchover:主......
  • 最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性
    1介绍策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度。反例:使用策略模式......
  • SQL Server 2016 无域群集配置 AlwaysON 可用性组
    windowsserver2016与sqlserver2016高可用允许不许要加入AD,管理方面省了挺多操作,也不用担心域控出现问题影响各服务器了。本测试版本:windowserver2016datacenter......