咀嚼《大型网站技术架构》-架构初识

news/2024/5/19 14:37:35/文章来源:https://blog.csdn.net/qq_22326625/article/details/79696056

为什么要看这本书?

我在一家公司工作了两三年,跟团队着一起开发p2p网站,部分项目是沿用前人留下的“遗产”代码,加以修修补补凑合成的。
随着业务量越来越大,用户量越来越多,老系统必定遇到瓶颈,一些问题像打地鼠一样越改bug越多,项目经理不得不下狠命令让大家翻新架构。我也参与见证并了架构的改良,不过因为公司平台因素,网站的用户量还是相对较少,只是对业务进行分层。
但我认为我们不能被动地跟着业务走,不能等到遇到问题了,才去解决。应该走在它前面,为更大更好的系统做准备。

什么是大型网站?

谈到大型网站,大家应该必然会想到用户量多的,知名度高的网站,如淘宝,新浪微博等。那到底怎样才算大型呢?我们先来看看它的由来:
由问题催生的架构解决方案,架构演化如下图:
这里写图片描述
总体来看,解决方案无非就是使架构可以分布在多个硬件设备上,可扩展利用更多硬件资源。
不过除了利用硬件资源,还可以从其他方面进行优化:

  1. 网络传输上考虑,使用CDN加速使得用户请求时访问到的是离自己最近的服务器,这种情况是网站服务器分布于全国乃至全球才会使用。
  2. 数据库结构上,使用NoSQL技术,使得复杂的非关系型数据的检索和存储更合理快捷。
  3. 程序业务拆分,如首页,列表页,下订单等功能业务,可以拆分出来,独立部署,分派给各个部门维护。
  4. 应用系统与服务拆分。也就是常提的微服务,为应用程序提供统一的数据库访问接口。

大型网站架构是怎样的?

就像庖丁解牛一样,将网站进行解耦:
1.分层
应用程序分为应用层(面向用户提供功能的处理代码),服务层(为应用层提供业务逻辑处理的代码),数据层(为服务层提供数据存储访问的代码和应用)。这三层又可接着分,如下图。
2.分割
各层又可纵向分割,按照业务独立出逻辑代码。
这里写图片描述
3.分部式
充分利用硬件资源,使用更多的计算机为性能提高效率。这就使得我们可以将上面分的层,分别抽出来部署到不同计算机中,如静态资源独立部署,实现动静分离;应用和服务器分别部署……
4.集群
如果相对于分布式是横向独立部署,那么集群就是纵向独立部署。也就是将同层应用部署到多台服务器上。
5.缓存
缓存可用户数据缓存和页面缓存。数据缓存遵循二八原则,只缓存热点数据;页面缓存可采取CDN和反向代理(部署在前端)。
6.异步
利用消息队列,将线程输出写入队列,由队列控制处理。这里有个问题,就是排队处理的时候,不能立即返回处理结果,考虑到用户体验或业务流程,此处产品设计应该是置为处理等待。
7.冗余
为避免宕机造成数据丢失,或业务中断带来的影响。网站需要运行冗余服务,对于数据库应进行存档备份。
8.自动化
人为操作出错不可避免,为了网站良好运行,应该进行更多的自动化管理。
自动化代码管理
自动化测试
自动化安全检查
自动化部署
自动化报警
自动化失效恢复
自动化降级
自动化分配字眼
9.安全
身份认证
对输出的数据进行脱敏处理
对重要操作进行加密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_804676.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站的高可用

看了《大型网站技术架构》这本书之后,吸取了其中的精华,对网站的高可用议题进行了一遍梳理。如下将从高可用的思路,衡量标准,实施方案来做总结。 对高可用的理解 一个系统能保证不论有多少并发量,都能够正常提供服务…

网站的服务器256位加密,Windows Server 2008 R2 IIS 7.5开启TLS 1.2和256位加密

一般我们申请下来的证书都是256位加密的,因为2016年开始老版本的证书都会被提示危险网站。首先看一下服务器开启TLS1.2256加密之前和开启之后的区别;开启之前:开启之后:由于Chrome40不再支持SSL 3.0了,GOOGLE认为SSL3.…

网站的 计算机主机作用是什么意思,什么是虚拟主机?有什么作用?

虚拟主机(英语:virtual hosting)或称共享主机(shared web hosting),又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行…

delphi select 搜索不到特殊字符_衡阳关键词优化_通过监控品牌词可清楚反应搜索引擎优化情况及网站面临的问题...

发布时间:2020-11-04 11:11:44在做SEO的过程中,实际上很少有运营商会关注企业网站品牌词的变化,甚至有些网站仍然忽视了“品牌词”的概念。为什么SEO员工每天都需要监控品牌词?因为在监测品牌词搜索量的过程中,它清楚地反映了网站…

安卓 fragment内显示网站_如何开发一款以太坊安卓钱包系列3 - 资产信息展示

这是如何开发以太坊(安卓)钱包系列第3篇, 钱包账号资产信息展示,展示信息主要包括账号地址、eth余额及该账号所拥有的Token及余额。预备知识 MVVM本文会涉及和UI界面的交互,提前理解下界面和数据如何交互是非常有必要的…

常州网站服务器_常州分类信息门户网站定制 常州网站优化效果 常州百度下拉词推广 常州网站建设流程 常州网站建设公司 常州网站定制网站开发价格...

龙腾网络网站制作|网络推广一物一码系统|微信商城制作电话:13292208571(微信)手机上的许多用户都会注意到像素的使用,在分辨率下面往往使整个网页很压制,有种不透气的感觉,其实这个宽度是指在电脑上的宽度,不代表视觉&…

.Net 支付宝电脑网站支付

一、沙箱环境 沙箱环境是一个能让开发者快速开发以及联调的辅助环境,开发者只需要登录支付宝开放平台>进入开发服务>设置秘钥,获取APPID、支付宝网关、支付宝公钥、应用私钥就可以进行业务平台支付功能的开发,无需等待正式环境支付应用…

.Net微信电脑网站支付(api v2)

商户或企业前往微信开放平台申请开通微信支付,需要注意的是微信支付功能不对个人用户开放。开通支付功能后,会获取到以下微信支付相关的配置信息: appid:是微信公众账号或开放平台APP的唯一标识,在公众平台申请公众账…

如何让你的网站排名靠前

网站做好了,怎样才能让你的网站在各大搜索引擎中排名靠前呢?网上的帖子很多,通过搜索和总结,整理出了一套自己行之有效的方法,写出来供大家参考 成功案例推荐:http://sooboo.com.cn/ 还在继续整理中&#…

谈谈网站静态化 【转载】

本文转载自: http://blog.csdn.net/yizhu2000/archive/2008/09/01/2863324.aspx 我个人觉得是很好的一个总结 写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通…

IIS网站服务器性能优化指南

Windows Server自带的互联网信息服务器(Internet Information Server,IIS)是架设网站服务器的常用工具,它是一个既简单而又麻烦的东西,新手都可以使用IIS架设一个像模像样的Web站点来,但配置、优化IIS的性能…

简单网站新闻发布系统

写这篇文章的时候首先要向bben_h 和jdxx表示感谢,是bben_h提出了C#中字符替换这个问题,jdxx很好的解决了这个问题,同时也使我想起以前做的一些程序(简单网站新闻发布系统),现在就把它奉献给大家&#xff0c…

使用SharePoint Workspace 2010同步SharePoint网站

你用什么保存你的文档?U盘、网盘,还是FTP、邮箱(网络存储)?想没有想过,将你的文档“随手”保存在你的网站并且与你的计算机(即使你有多台计算机)随时同步?如果你像我一样…

【web标准设计】学习、提高、欣赏网站推荐

警告文章包含的一些粗俗、庸俗、恶心的言语可能造成您阅读后的不适感,请谨慎选择是否阅读。如你自愿阅读本文,因粗俗、庸俗、恶心的言语给您所造成的任何后果,本文作者不负任何责任。 华丽的中指基础知识的学习 XHTML、CSS、JavaScript的基础…

最新70佳单页网站设计案例欣赏(中篇)

单页网站是指只有一个页面的网站,这种形式的网站曾经非常流行,现在依然有很多人喜欢。不过,并不是每个网站都适合做成单页,一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

创建自定义主机头网站集

当我们在一个SharePoint Web应用程序中创建新网站集时,虽然我们可以指定网站集的路径,但是网站集的主机头,似乎必须使用Web应用程序所定义的主机头。比如,当在“http://sp2010”这个Web应用程序中创建一个新网站集时,网…

查看痕迹_孩子是否浏览过“不良网站”,看手机留下的3种痕迹,过于明显

孩子是否浏览过“不良网站”,看手机留下的3种痕迹,过于明显!必须要说,智能手机前所未有地改变了现代人的生活方式。伴随着科技创新的持续发展,手机屏幕再也不只是一个承当通信作用的设备,而是变为了集通信、…

html站点初始化设置怎么写,.NET Core Web网站设置默认页index.html

.NET Core Web网站设置默认页index.html。原来IIS可以设置默认静态页面index.html,index.htm等,项目切换到.NET Core后,发现原来一些地址无法打开了,因为这些地址都是到某个文件夹,没有打全index.html。解决办法是在Startup.cs中增…

对某高校网站的一次友好检测

表妹今年考上了某知名高校,出入好奇昨天对该高校网站进行了一次友情检测。。检测结果一个字烂。。。两个字很烂。。文章没什么技术含量。。请大牛直接飘过。打开其主业后随便点点了发现其地址为 xxx.cn/news_more.asp?lm293 觉得可能存在漏洞。。而且是一个很老的漏…

我记录网站综合系统 -- 技术原理解析[7:CSS类]

CSS是前台工程师的必修课&#xff0c;一般我们使用CSS只是统一写在.css里面。不过&#xff0c;wojilu提供了一些操作CSS的类&#xff0c;你可以将CSS当作一个个类来操作。 源代码位置&#xff1a;\wojilu\Web\UI 我们可以将一个CSS看作一个字典 Dictionary<String, Dictiona…