大型网站的核心架构要素

大型网站的核心架构要素

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

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

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

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

1.性能

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

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

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

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

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

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

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

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

2.可用性

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

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

3.伸缩性

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

4.扩展性

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

5.安全性

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C++之运算符重载

    C++预定义中的运算符的操作对象只限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的,但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对运算符进行重新定义,赋

    2021年12月19日
  • mysql批量写入数据_mysql查询效率

    mysql批量写入数据_mysql查询效率文章目录一、前言二、批量插入前准备1、插入到数据表的字段2、计算一行字段占用的空间3、在数据里做插入操作的时候,整体时间的分配三、批量插入数据测试1、SQL语句的大小限制2、查看服务器上的参数:3、计算一次能插入的最大行记录4、测试插入数据比对(1)插入11W条数据,按照每次10,600,1000,20000,80000来测试:(2)加大数据量到24w(3)加大测试量到42W5、如果插入的值就是s…

  • linux默认安装路径在哪里_docker指定安装位置

    linux默认安装路径在哪里_docker指定安装位置Nginx安装安装路径 /usr/local/nginx配置文件 /usr/local/nginx/conf/nginx.conf启动:进入到/usr/local/nginx/sbin下,./nginx关闭:进入到/usr/local/nginx/sbin下 ./nginx -s stop 重启:同上, -s reload停止 kill -9 线程号查看 ps -ef|grep nginxhttps://www.jianshu.com/p/9f2c162ac77c 可参考安装ng

  • 最好用的免费音乐播放器_最好用的免费音乐播放器

    最好用的免费音乐播放器_最好用的免费音乐播放器不知道大家在工作的时候,是不是跟我一样,喜欢听着自己熟悉的旋律,心情也会很好。但是,原来的很多经典歌曲,要么改收费一首歌几块钱、要么是翻唱的,听起来也没有原版好,对于我们这些只是偶尔听听歌的、写写东西的人来说,的确有点不方便。今天,小莫为大家挑选了四个,截止到目前还能正常使用,并且功能十分强大的音乐播放器,歌曲都是免费的,建议低调收藏。1、音乐社一款很简洁的音乐播放器,涵盖了主流播…

  • 情感分析语料库——情感词典(中文英文)转[通俗易懂]

    情感分析语料库——情感词典(中文英文)转[通俗易懂]情感分析资源(转)中文的http://wenku.baidu.com/view/819b90d676eeaeaad1f3306e.html情感词典1.知网的情感词典-http://www.keenage.com/html/c_bulletin_2007.htm由知网发布的词典,包括中文情感词典和英文情感词典(以下需要论坛积分)2.台湾大学的情感极性词典-http:/…

  • Codeforces 455B A Lot of Games(字典树+博弈)[通俗易懂]

    Codeforces 455B A Lot of Games(字典树+博弈)

发表回复

您的电子邮箱地址不会被公开。

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