Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >笔记 | 大型网站的特点与设计宗旨

笔记 | 大型网站的特点与设计宗旨

作者头像
阿凯
发布于 2019-11-10 15:20:02
发布于 2019-11-10 15:20:02
7150
举报
文章被收录于专栏:程序员阿凯程序员阿凯

阅读文本大概需要 4 分钟。

大型网站的9大特点

1. 高并发,流量大 2. 高可用 3. 大数据 4. 敏捷开发,迭代快 5. 用户量庞大 6. 可持续升级 7. 安全级别高 8. 可弹性伸缩 9. 吞吐量高


高并发,流量大 网站的请求量大:

  • 百度日均访问量50亿+;
  • QQ早就突破1亿用户同时在线;
  • 淘宝双十一惊人的并发量

高可用

假设服务器宕机了,用户就无法访问 我们就必须保证网站稳定的向用户提供7*24小时不间断的服务 哪怕有服务器节点宕机了,依然用备用集确保服务正常访问

大数据

通过大量服务器已经存储系统管理海量数据

敏捷开发,迭代快

需求快速变更,发布频繁 提高用户体验,优化各种操作,形形色色的需求快速迭代, 一般大型网站,1~2周迭代一次,中小型网站发布更为频繁

用户量庞大

用户分布广,分散的用户个体,分布在全国(全球)各地 网络情况复杂,各大运营商网络互通困难

可持续升级

所有的大型网站都是从小网站,一步一步从初创不断发展到今天 逐步演变,单体,集群,分布式,微服务,

安全级别高

互联网的开放性,使得更容易受到攻击 树大招风,你越牛X,就愈会有黑客和同行来攻击你 服务器安全漏洞,后台代码判断,API接口暴露,可执行脚本上传….

可弹性伸缩

服务器可以动态的增加,不需要的时候可以适当的减少

吞吐量高

要保证用户每次的请求响应速度是最快的

大型网站的设计宗旨

合久必分 缓存和页面静态化 集群 CDN 分布式系统 异步 NoSQL 数据库优化

合久必分

  • 分层是最常见的架构模式 MVC,便于代码的解耦和工作的合理分配
  • 应用和静态资源分离 将图片,视频,css,js等资源文件,放置到专门的服务器上。通过专门的域名去访问 存放静态资源的服务器,一般都使用Nginx提供反向代理,理论上单个Nginx可以承受5万并发
  • 业务分离 分类各个业务模块,独立出一个子系统或子服务

缓存和页面静态化

  • 缓存是数据量大最直接的解决方案。

缓存可以在第一次获取数据的时候创建,也可以在程序启动和缓存失效之后立即创建。

  • 内存缓存:主要是 ConcurrentHashMap
  • 缓存框架:常用的有Ehcache,Memcache和redis等。

  • 页面静态化,原理跟缓存非常类似。

缓存是保存数据,而页面静态化是保存带数据的页面。

使用模板技术生成,如 thymeleaf,freemaker等。

集群

  • 高可用和负载均衡的手段
  • 多台服务器部署相同的应用构成一个集群
  • 保证负载均衡的同时提升系统的可用性,互相灾备

CDN

  • 集群页面缓存服务器,每个节点直接返回缓存的页面
  • 网站发展到很庞大的时候,用户分散全国各地
  • 采用CDN,用户可以访问到最近的服务节点(联通,电信,北京,上海)

分布式系统

  • 多系统,多模块,多中间件,多服务器共同协作整合的一个整体
  • 将不同的业务放到不同的服务器中,处理一个请求可能用到多台服务器
  • 分布式架构,分布式文件系统分布式数据库,分布式锁,分布式事务,分布式配置,分布式限流,日志收集

异步

  • 异步解耦,生产者和消费者,消息队列
  • 在高并发时进行流量削峰
  • 批量读取 与 延迟修改

NoSQL

  • NoSQL在处理海量数据的速度效率都是关系型数据库无法匹敌的。
  • 并且他的灵活性使网站的伸缩性得以很好的保证

数据库优化

  • 数据备份 - 定期为数据库做好冷热备份,不能因为节点宕机而导致数据丢失
  • 表结构优化 - 通过引擎,字段的选择
  • SQL语句优化 - 记录,分析,查找,优化
  • 索引优化 - 提升查询速度,也降低了增删改的效率
  • 分区 - 分区后,表面上还是一张表,但数据散列到多个位置了
  • 分表 - 子表,将一个大表按照一定的规则,分解成多张具有独立存储空间的实体表
  • 做好主从,读写分离,高可用……
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员阿凯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《大型网站技术架构:核心原理与案例分析》读书笔记
这本书传达的思想是 网站要从小型网站陪伴着用户一起城战,逐步扩展到大型网站的架构演进的思路
韩旭051
2021/04/14
5380
《大型网站技术架构:核心原理与案例分析》读书笔记
架构 | 大型网站分布式高并发架构设计汇总
本文多数内容为小编精心总结,呕心沥血完成,切勿抄袭沿用。 参考文献《架构知识》、《深入理解java》 ---- 章节目录: 前言 前端架构 应用层架构 服务层架构 存储层架构 后台架构 数据采集、监控 安全架构 大型网站特点 系统的演变 大型网站架构模式 架构要素 性能优化 前端性能优化 服务器端性能优化 存储性能优化 高可用性能优化 伸缩性优化 分布式缓存 NOSQL 安全架构常见的攻击方式 加密 信息过滤 1前言 网站架构包括:前端架构+应用层架构+服务层架构+存储层架构+后台架构+数据中心机房架构+
码神联盟
2018/04/02
1.5K0
大型网站技术架构:核心原理与案例分析-李智慧(第一次看)
CAP认为,一个提供数据服务的存储系统无法同时满足数据一致性、数据可用性、分区耐受性(系统具有跨网络分区的伸缩性),在大型网站中,通常会选择强化分布式存储系统的可用性和伸缩性在某种程度上放弃一致性 数据一致性分为:
lin_zone
2019/02/22
1.5K0
大型网站架构技术一览(文末送书)
大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。更多内容也可以阅读各大互联网
用户1257393
2018/03/21
1K0
大型网站架构技术一览(文末送书)
读《大型网站技术架构》
《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。
高广超
2018/12/12
1.1K1
《大型网站技术架构》读书笔记一:大型网站架构演化
此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。
Edison Zhou
2018/08/20
9160
《大型网站技术架构》读书笔记一:大型网站架构演化
《大型网站技术架构》学习笔记-01概述
李智慧老师的大型网站架构已经买了两年了,之前大体看过一次,不过还未内化为自己的本领,最近项目空闲,决定尽力掌握这部分的知识,以跟上大师的节奏。今天是儿童节,祝自己和大家心态永远年轻,即使没有年轻的身体
用户1216676
2018/01/24
9400
大型网站架构技术一览
前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。
王金龙
2018/09/05
6800
大型网站架构技术一览
大型网站技术架构核心原理与案例分析(一)
高并发,大流量;高可用;海量数据;用户分布广泛,网络情况复杂;安全环境恶劣;需求快速变更,发布频繁;渐进式发展;
硬核项目经理
2019/08/06
8080
大型网站电商网站架构案例和技术架构的示例
大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。
数商云
2019/05/27
3K0
大型网站应用之海量数据和高并发解决方案总结一二
开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。
Java后端技术
2018/08/09
6730
大型网站应用之海量数据和高并发解决方案总结一二
大型网站架构系列:电商网站架构案例(1)
大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。网上电子商城系统除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。
数商云
2019/05/08
2.4K0
大型网站架构演化发展历程
大型网站架构演化发展历程一、大型网站系统的特点二、大型网站的演变过程1. 初始阶段的网站架构2. 应用服务和数据分离3. 使用缓存改善网站性能4. 使用应用服务器集群改善网站的并发处理能力5. 数据库读写分离6. 使用反向代理和CDN加速网站响应7. 使用分布式文件系统和分布式数据库系统8. 使用NoSQL和搜索引擎9. 业务拆分10. 分布式服务三、大型网站架构演化的价值观1. 大型网站架构技术的核心价值是随网站所需灵活应对2. 驱动大型网站技术发展的主要力量是网站业务的发展四、网站架构设计误区
cxuan
2019/06/03
1.1K0
《大型网站技术架构》读书笔记三:大型网站核心架构要素
此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。
Edison Zhou
2018/08/20
5060
《大型网站技术架构》读书笔记三:大型网站核心架构要素
大型网站架构系列:电商网站架构案例
大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。 根据实际需要,进行改造,扩展,支持千万PV,是没问题的。 本次分享大纲 电商案例的原因 电商网站需求 网站初级架构 系统容量估算 网站架构分析 网站架构优化 架构总结 电商网站案例,一共有三篇本篇主要说明网站的需求,网站初始架构,系统容量估算方法。 一、电商案例的原
小莹莹
2018/04/23
5.2K0
大型网站架构系列:电商网站架构案例
大型网站技术架构
早期的网站为了节省成本一般会设计成集中式系统,应用程序、数据库等都部署在一台服务器上。 但随着业务的快速度发展,逐渐出现瓶颈,按一定原则**(应用拆分、服务拆分、数据拆分、应用解耦)**,向分布式系统转型,涉及到以下环节改造。 主要环节 业务拆分:将整个网站业务拆分成不同的应用,每个应用独立部署维护,应用之间通过RPC或消息队列通信。 集群化(应用服务器;基于RPC的微服务应用等) LVS负载均衡,负责将请求转发给不同业务集群 反向代理服务器,常用的如Nginx 应用服务器,servlet容器,如tomca
Java高级架构
2018/04/19
1.5K0
大型网站架构演化
1.1 高并发,大流量 1.2 海量数据 存储及管理海量数据,需要大量服务器 1.3 高可用: 7 * 24 小时服务 1.4 用户分布广泛,网络环境复杂 1.5 安全环境恶劣 大型网站几乎每天都被黑客攻击 1.6 需求快速变更,发布频繁 1.7 渐进式发展
柳公子
2018/09/17
9520
大型网站架构技术模型
三层架构逻辑上可以部署在同一台物理机上,但随着网站业务的发展,必须要对已分层的模块进行分开部署,也就是三层结构分别部署在不同的服务器上。使网站拥有越来越多的计算资源以应对越来越多的用户访问。
马士兵的朋友圈
2020/09/08
1K0
大型网站架构技术模型
大型网站技术架构核心原理与案例分析(二)
扩展性(Extensibility):指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。是系统架构设计层面的开闭原则,架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。
硬核项目经理
2019/08/06
5470
大型网站技术架构 读书笔记
应用和数据分离后整个网站使用三台服务器:应用服务器(更快更大的CPU),文件服务器(更大的硬盘)和数据库服务器(更快的硬盘和更大的内存)。
lilugirl
2019/05/26
4920
相关推荐
《大型网站技术架构:核心原理与案例分析》读书笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文