大型网站的核心架构要素

大型网站的核心架构要素

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

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

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

软件架构,需要关注性能、可用性、伸缩性、扩展性和安全性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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • meshgrid方法

    meshgrid方法目录meshgrid绘制曲面图三维网络meshgridmeshgrid和mesh方法的差别在于是否会画出栅格线绘制曲面图生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。涉及到x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x,y)。[X,Y]=meshgrid…

    2022年6月3日
    42
  • STM32F103ZET–RFID-RC522使用例程(战舰版)

    RC522.c#include"sys.h"#include"rc522.h"#include"delay.h"#include

    2022年4月6日
    46
  • quartus ii12.1安装教程_ghost手动安装教程

    quartus ii12.1安装教程_ghost手动安装教程安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。1.鼠标右击【QuartusII11.0】压缩包选择【解压到QuartusII11.0】。2.双击打开解压后的【QuartusII11.0】文件夹。3.双击打开【Quartus】文件夹。4.鼠标右击【11.0_quartus_windows.exe】选择【以管理员身份运行】。5.点击【Install】。6.解压中。7.勾选【AllowAlter…

    2022年10月15日
    0
  • 60mph和kmh换算_mph和kmh换算(mph换算器)

    60mph和kmh换算_mph和kmh换算(mph换算器)mph是英里每时的意思吗?如何换算成千米每时?mph是米/小时的意思mitersperhour也可写成m/hAkm/h=A*1000m/hmph是英里每时的意思吗?如何换算成千米每时?MILESPERHOUR英里每小时英里的计速单位,1MPH=1.609KM/H玩极品飞车12,上面的速度是mph,怎么换算啊1英里=5280英尺=63360英寸=1…

    2022年6月28日
    65
  • 阿里云轻量应用服务器、ECS云服务器和虚拟主机的区别

    阿里云轻量应用服务器、ECS云服务器和虚拟主机的区别阿里云轻量应用服务器、ECS云服务器和虚拟主机区别在哪?这三种机型都可以建站,不过对于不同用户来说还是有区别的。下面老魏从难易程度、权限等方面来说说。比较简单的是云虚拟主机,系统已经预装建站环境,用户安装程序后就可以建站了,不过权限很少,适用于入门级建站首选;而云服务器的对用户技术要求高一些,用户要自行搭建环境,自由程度很高,可以自由配置服务器,需要有专业技术人员来维护;轻量应用服务器是给新…

    2022年6月25日
    30
  • css transition动画_css3过渡属性有几种

    css transition动画_css3过渡属性有几种css动画效果之transition(动画效果属性)

    2022年4月21日
    46

发表回复

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

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