大型网站技术架构 学习总结一(基础了解)

news/2024/5/18 16:00:58/文章来源:https://blog.csdn.net/zhengchao1991/article/details/51461674

1、大型网站软件系统的特点

      高并发、高可用(7*24)、海量数据、用户分布广泛网络情况复杂、安全环境恶劣、需求更新快、渐进式发展。


2、应用服务和数据服务分离

      客户量大的时候,单独一台服务器无法满足需求,因此需要应用服务和数据服务分离。

      分离后,整个网站使用三台服务器:应用服务器,文件服务器,数据库服务器

   

      应用服务器:需要处理大量的业务逻辑,因此需要更快更强大的cpu。     

      文件服务器:需要存储大量用户上传的文件,因此需要更大的硬盘。

      数据库服务器:数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存。

     上述的每一个服务器都有自己的瓶颈。需根据不同的网站进行相关的优化。


3、使用缓存改善网站性能

      80%的业务访问集中在20%的数据上。可以考虑将这一小部分数据缓存在内存中?这样能减少db的访问压力。

      缓存的两种存放位置:


      本地缓存:速度快,内存有限制。

      专门的分布式缓存服务器:内存无限制。

      单一的应用服务器能够处理的请求连接有限,当高峰期,应用服务器会成为整个网站的瓶颈。


4、使用应用服务器集群改善网站的并发处理能力

     

5、数据库读写分离

     部分读操作、全部的写操作还是需要访问数据库,当网站规模大时,数据库成为瓶颈。可进行读写分离,如下图:



6、使用反向代理与cdn加速网站响应

      网站响应慢,客户懒得等待,都跑了。反向代理与cdn基本原理都是缓存。

      cdn :cdn部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据。

      反向代理:部署在网站的中心机房,请求过来后,首先访问的服务器是反向代理服务器,若反向代理服务器中缓存着客户请求的资源,直接返回。


    使用这两种目的都是为了尽早返回数据给用户,一方面加快用户访问速度,一方面减轻后端服务器的负载压力。



7、使用分布式文件系统与分布式数据库系统



结语:

1、因业务的发展,驱动网站架构的不断升级~首先要搞清楚业务。

2、勿一味追求大公司的解决方案,只能借鉴。

3、12306解决系统瘫痪的思路:排队机制,分时段售票等等。

4、其实我不想成为什么网站架构师,因为我只会模仿。



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

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

相关文章

大型网站系统与Java中间件实践~初识分布式系统

1、为什么要有分布式系统? 答:单机处理能力存在瓶颈; 分布式系统的稳定性和可用性强。 2、基础知识:ConcurrentHashMap是完全线程安全的吗? 答:总体上,读不加锁,写加锁&#xff0c…

主题狗themes.dog-精选上百种优秀开源网站主题、博客主题、商城模板

说明 主题狗themes.dog 精选上百种优秀开源网站主题、博客主题、商城模板。 类型包含 hexo 、jekyll 、hugo 、next 、vuepress 、gatsby 、wordpress 等等 主题狗- themes.dog 支持 PWA ,欢迎添加至手机桌面 为什么做此项目 现在很少有逛到纯网站主题分享的网站…

做海外必备的网站

做海外必备的网站!包括共享软件营销、软件注册商比较、下载站、虚拟主机、搜索引擎等共享软件论坛Association of Shareware Professionals 国外最大的共享软件组织,PAD标准的制订者 http://www.asp-shareware.org Trialware Professional Association …

Building a Personal Portfolio with Django 使用Django构建个人网站 Lynda课程中文字幕

Building a Personal Portfolio with Django 中文字幕 使用Django构建个人网站 中文字幕Building a Personal Portfolio with Django Django是一个基于Python设计的开源Web框架,可以帮助您快速实现网站创意 在本课程中,通过构建自己的网站 - 个人投资组…

SEO Foundations SEO基础 Lynda课程中文字幕

SEO Foundations 中文字幕 SEO基础 中文字幕SEO Foundations 现代消费者通过搜索引导世界 从笔记本电脑,智能手机,虚拟助手,平板电脑等,他们在野外和奇妙的互联网上搜索他们需要的产品和服务 通过利用搜索引擎优化(SE…

使用BeautifulSoup爬取“0daydown”网站的信息(1)

最近发现一个很好的网站,0daydown,资源真的是无时无刻的更新着。资源有哪些呢: windows,mac下的各种工具和软件。各种电子书,包含科技,小说,杂志(居然还有类似花花公子那种),可以看多…

使用BeautifulSoup爬取“0daydown”网站的信息(2)——字符编码问题解决

上篇中的程序实现了抓取0daydown最新的10页信息,输出是直接输出到控制台里面。再次改进代码时我准备把它们写入到一个TXT文档中。这是问题就出来了。 最初我的代码如下: #-*- coding: utf-8 -*- #------------------------------------- #version: 0.1 …

Building a Website with Node.js and Express.js 使用Node.js和Express.js构建网站 Lynda课程中文字幕

Building a Website with Node.js and Express.js 中文字幕 使用Node.js和Express.js构建网站 中文字幕Building a Website with Node.js and Express.js 虽然Node.js是一个用于构建Web服务的流行平台,但它并不是为简单的网站开发而设计的 Express.js是一个快速&am…

WordPress: Building a Paid Membership Site WordPress:建立付费会员网站 Lynda课程中文字幕

WordPress: Building a Paid Membership Site 中文字幕 WordPress:建立付费会员网站 中文字幕WordPress: Building a Paid Membership Site 想开始从您的WordPress网站赚取收入? 尝试付费会员 本课程涵盖了使用WordPress销售付费会员的两大优秀解决方案…

Nginx HTTPS 网站优化篇

摘要: 从 2015 年 5 月 14 日 HTTP/2 协议正式版的发布到现在已经快有一年了,越来越多的网站部署了 HTTP2,HTTP2 的广泛应用带来了更好的浏览体验,只要是 Modern 浏览器都支持,所以部署 HTTP2 并不会带来太多困扰。最近…

各种大型网站技术架构

引言近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图&#…

使用电容器将您的网站转换为安卓应用程序

根据阿特伍德定律,“任何可以用 JavaScript 编写的应用程序,最终都会用 JavaScript 编写。” 在本文中,我们将学习如何使用 Ionic 的一个名为电容器的库将网站或 Web 应用程序转换为可以部署在 Android Play 商店或安装在移动设备上的 Andro…

(转) 将VB.NET网站转换成C#的全过程

在学习URL重写过程中碰到个是VB写的源码,看起来总是不爽的就GOOLE了下 感觉这个文章写的不错 原文地址 http://www.cnblogs.com/cngunner/archive/2006/01/16/318309.html 前两天看到一个比较不错的网站,可惜是用vb.net写的,俺弄不大明白&…

网站发布

转载于:https://www.cnblogs.com/bin521/p/6839639.html

在windows 2008R2上部署.net framework 3.5网站的故障处理解决方法

1、IIS7.0 检测到在集成的托管管道模式下不适用的ASP.NET设置 的解决方法 故障如下图: 解决办法: 在IIS中选择网站的“基本设置”: 然后选择: 如下图: 2、win2008R2(64)未在本地计算机上注册 Microsoft.Jet.OLEDB.4.…

VS2010+Windows 2008部署网站及asp.net业务系统问题收集

VS2010Windows 2008部署网站及asp.net业务系统问题收集 Windows 2008部署asp.net,问题真多,不如windows 2003用起来爽。 1、关于CuteEditor不能上传文件名中有中文的问题: 解决办法: 编辑CuteSoft_Client\CuteEditor\Configur…

ubuntu-18.04.3与.net Core 2.2之旅(2)- Ubuntu 18.04 部署Asp.net Core 2.2网站后通过supervisor进程守护,实现网站托管

上次学习了 Windows 7 X64VMwareubuntu-18.04.3Visual Studio 2017部署.Net Core 2.2过程详细图解 说明: 1、网上很多文章按顺序操作仍不能正常进行,为方便和我一样的菜鸟学习,本人原创的文章均通过自己亲自操作的截图。 2、本文的操作均是…

关于Ubuntu18.04环境下修改部署的asp.net Core网站的端口的几个测试

asp.net Core的端口是在launchSettings.json文件中配置的。该文件是用于调试的时候使用的,在发布后,并没有该文件 。launchSettings.json中默认的端口是5000,部署到Ubuntu后,也能通过5000端口可以正常访问。 测试1、将launchSetti…

知名互联网公司网站架构图

引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图&…

大型互联网网站架构心得

我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分: 首先是横向的分: 1. 大的…