大型网站的核心架构要素

大型网站的核心架构要素

什么是架构,架构就是最高层次的规划,难以改变的决定。

人生规划也是一种架构。选什么学校,学什么专业,进什么公司,找什么对象,过什么生活,都是自己人生的架构。

软件架构,就是关于软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

软件架构,需要关注性能、可用性、伸缩性、扩展性和安全性5个架构要素。

1.性能

从用户浏览器到数据库,影响用户请求的所有环节都可以进行性能优化。

浏览器端,可以通过浏览器缓存、页面压缩、合理布局等改善性能。

通过CDN,将网站静态内容,分发至离用户最近的网络服务商机房。

可以在网站机房部署反向代理服务器,缓存热点文件,加快请求响应速度。

在应用服务器端,可以使用服务器本地缓存和分布式缓存,加速请求处理过程。

在网站有很多用户高并发请求时,可以将多台应用服务器组成一个集群共同对外服务,提高整体处理能力。

在代码层面,可以使用多线程、改善内存管理等手段优化性能。使用高效的算法,减少内存和响应时间。

在数据库服务器端,索引、缓存、sql优化等,还有NoSQL数据库。

2.可用性

网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问。

数据存储在多台服务器上互相备份,任何一台服务器宕机都不会影响应用的整体可用和数据丢失。

3.伸缩性

所谓伸缩性,是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。

4.扩展性

不同产品之间很少耦合,一个产品改动对其他产品无影响。

5.安全性

保证数据的安全性,准确性,不可窃取性。

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7683198.html,如需转载请自行联系原作者

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108927.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ug图改变颜色_unity改变image透明度

    ug图改变颜色_unity改变image透明度UGUI图片将其他颜色去除,显示灰色图片本例适用于UGUI一般项目中会有一些图标,当你拥有该图标显示为彩色图标,一般项目中最占资源的就是图片,不允许添加一张彩色图片,一张灰色图片,必须通过一些方法将彩色图标的颜色去掉,获取图标的灰色值。UGUI自带了一个Shader,Sprites/Default,默认给了一个添加该Shader的材质球 1Shader”U

    2025年11月11日
    5
  • 发布版sha1是什么意思_怎么把自己的网站发布出去

    发布版sha1是什么意思_怎么把自己的网站发布出去注:如果出现【’keytool’不是内部或外部命令,也不是可运行的程序或批处理文件。】请参照下面的链接https://blog.csdn.net/csdnhejingzhou/article/details/50643246开发版SHA11.在AndroidStudio最下面找到Terminal点击2.切换到C盘,cd到Users\Administrator\.android…

    2025年7月11日
    3
  • 容斥原理的证明_容斥原理三集合公式解释

    容斥原理的证明_容斥原理三集合公式解释容斥原理的证明原链接地址容斥原理(翻译)-vici-C++博客       我们要证明下面的等式:                其中B代表全部Ai的集合         我们需要证明在Ai集合中的任意元素,都由右边的算式被正好加上了一次(注意如果是不在Ai集合中的元素,是不会出现在右边的算式中的)。         假设有一任意元素在k个A

    2025年7月15日
    5
  • docker 上传本地镜像_不同docker仓库镜像同步

    docker 上传本地镜像_不同docker仓库镜像同步前言之前通过docker搭建过jenkins+python3环境,如果想要在不同的机器上搭建一样的环境,就可以将之前搭建的镜像上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境。如果公开的话

    2022年7月29日
    19
  • STM32新手入门教程[通俗易懂]

    STM32简介简介参考自:小马哥STM32四轴学习平台–DragonFly四轴STM32单片机软件入门级飞控算法课程单片微型计算机简称单片机(MCU(MicrbControlUnit)),我们自己的个人计算机中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。单片机又有8位的如51单片机、16位的如MSP430、32位的如STM32,通常我们说的多少位通常指的是内核(CPU)一次

    2022年4月10日
    352
  • 在javascript中实现freameset 框架页面的跳转

    在javascript中实现freameset 框架页面的跳转对于框架的跳转可以为: 1:window.parent.frames[“需要修改的框架”].location.href(“跳转的路径”); 2:window.parent.frames.item(框架在框架集数组中存放的位置).location.href(“跳转的路径”); 3:window.parent.frames.item(“需要修改的框架此为框架名称”).location.h

    2022年7月20日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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