大型网站系统架构的演化

news/2024/5/19 10:01:50/文章来源:https://blog.csdn.net/Y0Q2T57s/article/details/83317370


640?wx_fmt=jpeg

640?wx_fmt=png

640?wx_fmt=png

四、使用集群改善应用服务器性能

应用服务器作为网站的入口,会承担大量的请求,我们往往通过应用服务器集群来分担请求数。应用服务器前面部署负载均衡服务器调度用户请求,根据分发策略将请求分发到多个应用服务器节点。

640?wx_fmt=png

常用的负载均衡技术硬件的有F5,价格比较贵,软件的有LVS、Nginx、HAProxy。LVS是四层负载均衡,根据目标地址和端口选择内部服务器,Nginx是七层负载均衡和HAProxy支持四层、七层负载均衡,可以根据报文内容选择内部服务器,因此LVS分发路径优于Nginx和HAProxy,性能要高些,而Nginx和HAProxy则更具配置性,如可以用来做动静分离(根据请求报文特征,选择静态资源服务器还是应用服务器)。

五、数据库读写分离和分库分表

随着用户量的增加,数据库成为最大的瓶颈,改善数据库性能常用的手段是进行读写分离以及分表,读写分离顾名思义就是将数据库分为读库和写库,通过主备功能实现数据同步。分库分表则分为水平切分和垂直切分,水平切换则是对一个数据库特大的表进行拆分,例如用户表。垂直切分则是根据业务不同来切换,如用户业务、商品业务相关的表放在不同的数据库中。

640?wx_fmt=jpeg

六、使用CDN和反向代理提高网站性能

假如我们的服务器都部署在成都的机房,对于四川的用户来说访问是较快的,而对于北京的用户访问是较慢的,这是由于四川和北京分别属于电信和联通的不同发达地区,北京用户访问需要通过互联路由器经过较长的路径才能访问到成都的服务器,返回路径也一样,所以数据传输时间比较长。对于这种情况,常常使用CDN解决,CDN将数据内容缓存到运营商的机房,用户访问时先从最近的运营商获取数据,这样大大减少了网络访问的路径。比较专业的CDN运营商有蓝汛、网宿。

而反向代理,则是部署在网站的机房,当用户请求达到时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户,如果没有没有缓存数据才会继续走应用服务器获取,也减少了获取数据的成本。反向代理有Squid,Nginx。

640?wx_fmt=png


七、使用分布式文件系统

用户一天天增加,业务量越来越大,产生的文件越来越多,单台的文件服务器已经不能满足需求。需要分布式的文件系统支撑。常用的分布式文件系统有NFS。

640?wx_fmt=png

八、使用NoSql和搜索引擎

对于海量数据的查询,我们使用nosql数据库加上搜索引擎可以达到更好的性能。并不是所有的数据都要放在关系型数据中。常用的NOSQL有mongodb和redis,搜索引擎有lucene。

640?wx_fmt=png

九、将应用服务器进行业务拆分

随着业务进一步扩展,应用程序变得非常臃肿,这时我们需要将应用程序进行业务拆分,如百度分为新闻、网页、图片等业务。每个业务应用负责相对独立的业务运作。业务之间通过消息进行通信或者同享数据库来实现。

640?wx_fmt=png

十、搭建分布式服务

这时我们发现各个业务应用都会使用到一些基本的业务服务,例如用户服务、订单服务、支付服务、安全服务,这些服务是支撑各业务应用的基本要素。我们将这些服务抽取出来利用分部式服务框架搭建分布式服务。淘宝的Dubbo是一个不错的选择。

640?wx_fmt=jpeg


大型网站的架构是根据业务需求不断完善的,根据不同的业务特征会做特定的设计和考虑,本文只是讲述一个常规大型网站会涉及的一些技术和手段。


扩展阅读

大型网站--负载均衡架构

知名网站的 404 页面长啥样?

大型网站限流算法的实现和改造


文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除

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

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

相关文章

JavaWeb之ServletContext——统计用户访问网站次数

各位小伙伴大家好呀~今天我们来了解 ServletContext 对象ServletContext 对象1)什么是 ServletContext 对象ServletContext 代表是一个 web 应用的环境(上下文)对象,ServletContext对象内部封装是该 web 应用的信息,一个 web 应用…

一个大型网站的技术架构是怎样建成的

网站系统架构层次如下图所示:1.前端架构前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。浏览器优化技术并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示…

大型网站技术架构(二):架构要素和高性能架构

作者 | Arno原文 | https://segmentfault.com/a/1190000007390358在《大型网站技术架构(一)》我们把整个架构演变过程大致说了一下,这次我们来说说从哪方面进行考虑设计。为了使网站的能够应对高并发访问,海量数据处理&#xff0c…

网站高并发大流量访问的处理及解决方案

来自:Hist_花透的博客https://blog.csdn.net/qishouzhang/article/details/471119451.硬件升级普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则…

网站 HTTP 升级 HTTPS 完全配置手册

作者:葡萄城技术团队链接:https://my.oschina.net/powertoolsteam/blog/1862967今天,所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布,详细版本号为v68.0.3440.75,上一个正式版v67.0.3396.99发布于6月…

ubuntu怎么跳出系统自动进去_wordpress、Dedecms织梦等网站系统怎么做百度自动推送?...

主动向百度等搜索引擎可缩短爬虫发现网站链接时间,加快网站的收录速度。网站时效性内容建议使用链接提交工具,实时向搜索推送数据。那么wordpress、Dedecms织梦等网站系统怎么做百度自动推送呢?有开发能力的对于动开发的人来说,要…

利用 PHP 扩展 Taint 找出网站的潜在安全漏洞实践

一、背景笔者从接触计算机后就对网络安全一直比较感兴趣,在做PHP开发后对WEB安全一直比较关注,2016时无意中发现Taint这个扩展,体验之后发现确实好用;不过当时在查询相关资料时候发现关注此扩展的人数并不多;最近因为换…

网站mysql密码怎么修改_mysql怎么修改密码

第一种方式:最简单的方法就是借助第三方工具Navicat for MySQL或Navicat Premium来修改,方法如下:1、登录mysql到指定库,如:登录到student库。2、然后点击上方“用户”按钮。3、选择要更改的用户名,然后点击…

百度网站疑似宕机 众多网友反馈不能正常登陆

从11月9日上午11点10分开始,有不少网友开始网上抱怨,百度网站及其旗下App都打不开的消息,而从用户的反馈来看,范围还是挺大的。目前,不少网友在微博上反馈称,百度网站似乎出现了宕机,很多用户不…

8个程序员专用软件/网站,个个是神器,第一个最惊喜......

节省时间的方法有俩,一个是放弃做一些事,在做一些事的时候同步做另一些事。另一种就是改进做一些事的效率,更快地做一些事。寻找更加高效、好用的工具所花费的时间,和这些工具将为你节省的时间相比,九牛一毛。今天给大…

大型网站图片服务器架构的演进!

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训,尤其是早期规划不足&am…

Kali 利用setoolkit制作钓鱼网站

实验环境:一台kali(为机 NAT模式) 一台物理机(靶机) 在kali的终端上打开setoolkit 选择第一个社会工程,选择社会工程之后接着有11个选项. 选择第二个网站向量,选择完之后有8个选项. 选择第三个凭证收割方…

使用nginx部署网站

前面的话如果服务器只需要放置一个网站程序,解析网站到服务器的网站,网站程序监听80端口就可以了。如果服务器有很多应用,借助nginx不仅可以实现端口的代理,还可以实现负载均衡。本文将详细介绍前端及nodeJS项目在服务器配置时需要…

程序员一般都浏览这些网站,不仅仅提升编程水平!

程序员作为一个经常和互联网打交道的人群,他们喜欢浏览那些网站呢?不爱敲代码的程序猿整理了以下网站供大家参考,排名不分先后:0. Googlehttps://google.com这个不用多说了吧。1.GitHub 开发者最最最重要的网站:https:…

广西网站服务器区域选择,广西地区云服务器选择

广西地区云服务器选择 内容精选换一换obsutil是适用于Windows、macOS和Linux操作系统的命令行工具,支持通过配置内网DNS服务器地址的方式,使在华为云上的Linux ECS通过内网直接访问OBS,下面将介绍其具体操作流程和操作步骤。登录华为云&#…

趣图:首次在 IE 中测试我的网站

扩展阅读趣图:当我看实习生编码趣图:听说客户还在用IE时趣图:代码写好了,咱们来测试吧

网站漏洞检测对漏洞检测修复方案

在网站安全的日常安全检测当中,我们SINE安全公司发现网站的逻辑漏洞占比也是很高的,前段时间某酒店网站被爆出存在高危的逻辑漏洞,该漏洞导致酒店的几亿客户的信息遭泄露,包括手机号,姓名,地址都被泄露&…

可以免费自学编程的12个网站

Java面试笔试面经、Java技术每天学习一点Java面试关注不迷路译者:Aylee姓Liu译文:https://www.jianshu.com/p/9f094ce31075原文:https://www.entrepreneur.com/article/250323很多人包括一些企业家,和市场营销人员都认为学习编程对…

怎么修复网站漏洞 骑士cms的漏洞修复方案

骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站漏洞可以获取网站的管理员账号…

新闻网站大数据项目

介绍:&emsp本次项目是基于企业大数据经典案例项目(大数据日志分析),全方位、全流程讲解 大数据项目的业务分析、技术选型、架构设计、集群规划、安装部署、整合继承与开发和web可视化交互设计。 一、业务需求 (一&…