文档章节

读《大型架构技术演进的思考》的一点儿感悟

wow863597
 wow863597
发布于 2016/07/14 23:23
字数 1025
阅读 49
收藏 10
点赞 0
评论 0

一、网站简单整体架构:网站需要储存数据、要有数据库,网站要支持客户端访问进行业务操作,要有web服务器,web服务器中包含程序代码,数据缓存。

二、网站要记录用户的状态 记录session信息,高并发的用户请求到达服务器,需要有多台服务器来处理,就要有服务器组件用来分发请求,从而是请求较平均的到达服务器,因此就需要服务器与服务器之间session同步,不然就无法合理记录用户状态。session 同步的话需要消耗服务器内存资源来进行服务器之间session的复制传递,因此不是简单的增加服务器就能使并发访问提高,当服务器增加到一定程度,session传递的内耗就很大,高并发容量就不再那么大了。因此就要考虑其他技术,在这有几种处理方式:1、使用一台或几台服务器单独记录 session 。2、我把session用cookie来存,直接储存在用户机端上,虽然cookie是不安全的。3,我让某个用户的请求都是分发给通过同一个服务器,那么我就不需要进行session传递了,这就是LVS 方案,也是session粘带。

三、对于静态网页来说,上面第二点面临的问题根本不是问题,因为静态网页并不会因为用户的不同而有所不同,所以根本不需要储存用户状态。

四、对于所有网站来说,储存问题是初期的技术瓶颈,具体体现在web服务器上和数据库上。而数据是储存的短板,因此要想进行扩展需要先解决数据库请求的高并发问题。如何解决?人们发现网站可以分为读写,读的一般都是静态的页面,写的才是根据用户需求有所不同的,因此进行了读写分离。两台数据库,一台负责读(查询操作),一台负责写(增删改操作),这样就把一个的压力分给了两个。比如读写比是9比1 的网站 以前最多500人请求,那么现在可以5000人了,500进行写请求,剩下的4500是读,读可以读缓存的,或者可以进行排队(延迟加载),但是我要不时进行两个数据库的同步。另外还有一种技术就是我合并请求,在web服务器中我把相似的数据库请求操作进行合并,以前的多个操作占用多个连接,现在多个操作占用一个连接 进行批量操作,(像facebook)从而减轻压力,提高并发。

五、对于网站读写,许多网站业务功能不同,人们读写比例不同需求不同,那么我就可以把网站页面尽量做成静态页面,并且局部刷新,异步提交。这就有AJAX等技术。 也就是我把数据库的数据提前缓存,一些实时性要求不高的数据,缓存。

六、数据库可以进行读写分离,那么我根据业务的操作,可以进行表的分离,某功能块的表放在一个库中,另外的不相关的放在另外库中,这就是表的垂直分离。 以上就是对网站数据方面理解。

End、文章中涉及的几个目前不太清楚词汇:一致性hash , 搜索技术,垂直拆分,水平拆分,有待深入学习了解。

© 著作权归作者所有

共有 人打赏支持
wow863597
粉丝 3
博文 37
码字总数 23132
作品 0
济南
程序员
大型网站技术架构的演进

最近我在阅读2本关于大型网站架构的书:《大型网站技术架构——核心原理与案例分析》李智慧、《大型网站系统与Java中间件实践》曾宪杰。 我期望从这些书中学习到大型网站是如何做架构的,这个...

翟志军 ⋅ 2015/03/20 ⋅ 18

“支付宝架构师”这样讲述:大型网站技术架构的演进

最近我在阅读 2 本关于大型网站架构的书:《大型网站技术架构——核心原理与案例分析》李智慧、《大型网站系统与 Java 中间件实践》曾宪杰。 我期望从这些书中学习到大型网站是如何做架构的,...

高级架构师 ⋅ 04/28 ⋅ 0

大型网站架构系列:20本技术书籍推荐

学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点。以下20本大部分本人都看过,因此推荐给大家。(本次推荐的20本只是一个参考,比如...

xumaojun ⋅ 05/03 ⋅ 0

小型网站到大型网站技术演进过程

网站技术架构为什么会演进 我个人总结出来我们的技术架构演进的两种驱动力,驱动着我们为什么演进网站的技术架构: 1. 内在驱动力:我们期望把当前的业务做得更好,开发更多新业务 2. 外在驱...

不正经啊不正经 ⋅ 2015/05/21 ⋅ 0

在阿里“救了八年火”的程序猿,这样讲述大型项目架构演进过程

  高大上的淘宝架构   上面是一些安全体系系统,如数据安全体系、应用安全体系、前端安全体系等。   中间是业务运营服务系统,如会员服务、商品服务、店铺服务、交易服务等。   还有...

CSDN ⋅ 01/10 ⋅ 0

各大互联网公司架构演进之路汇总

大型网站架构演化历程 大型网站架构技术一览 Web 支付宝和蚂蚁花呗的技术架构及实践 支付宝的高可用与容灾架构演进 聚划算架构演进和系统优化 (视频+PPT) 淘宝交易系统演进之路 (专访) ...

星逝流 ⋅ 2016/02/16 ⋅ 2

淘宝技术专家谈大型网站架构

导读:本文作者是淘宝技术部技术专家陈康贤(花名龙隆),他是《大型分布式网站架构设计与实践》一书的作者,在本文中他分享了他对大型网站架构的理解,优优分享之,希望对你有帮助。 大型网...

数通畅联 ⋅ 2016/01/19 ⋅ 0

架构学习资料汇总

知名网站架构分析 探索Google App Engine背后的奥秘(1)–Google的核心技术 探索Google App Engine背后的奥秘(2)–Google的整体架构猜想 探索Google App Engine背后的奥秘(3)- Google App Eng...

peter8015 ⋅ 2016/04/22 ⋅ 0

大型网站架构_Index

大型分布式网站架构 大型分布式网站架构技术总结 大型网站架构系列:电商网站架构案例 大型网站架构系列:负载均衡详解 大型网站架构系列:分布式消息队列 一步步带你,如何网站架构 秒杀系统...

陶邦仁 ⋅ 2014/03/24 ⋅ 0

D瓜哥分享的架构资料

扯扯蛋 以前见过零零散散地介绍一些知名网站架构的分析文章。最近D瓜哥也想研究一下各大知名网站的架构。所以,就搜集了一下这方面资料。限于时间问题,这篇文章分享的文章并没有都看完,所以...

hejunbinlan ⋅ 2015/09/06 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA入门,配置文件的设置

<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http......

码农屌丝 ⋅ 15分钟前 ⋅ 0

Java基础——面向对象和构造器

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 静态成员介绍 为什么要有静态成员?静态成员用来...

凯哥学堂 ⋅ 17分钟前 ⋅ 0

vmware中Centos 7 linux的LVM磁盘扩容

系统是RHEL7(centos7差不多一样) 关闭系统,在vmware、设置、硬盘、扩展、输入数字大于当前系统内存、点击扩展。 开机再查看磁盘信息 fdisk -l 注意:可以看出sda磁盘增加了,但是根目录还...

gugudu ⋅ 28分钟前 ⋅ 0

JAVA线程sleep和wait方法区别

昨天面试,突然被问到sleep 和 wait的区别,一下子有点蒙,在这里记一下,以示警戒。 首先说sleep,sleep就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep指定的时间过去后,cpu...

徐玉强 ⋅ 30分钟前 ⋅ 0

vuex学习--模块

随着项目复杂性增加,共享状态也越来越多。需要对转态操作进行分组,分组后在进行分组编写。学习一下module:状态管理器的模块组操作。 首先是声明: const moduleA={ state,mutations,g...

大美琴 ⋅ 32分钟前 ⋅ 0

Selenium 简单入门

安装 pip install selenium 驱动下载 https://chromedriver.storage.googleapis.com/index.html 下载最新的驱动,放入path中,可以放入Python的scripts目录下,也可以放入Chrome安装目录,并...

阿豪boy ⋅ 33分钟前 ⋅ 0

292. Nim Game - LeetCode

Question 292. Nim Game Solution 思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。 n 是否能赢1 true2 true3 true4 false 不论删除几,对方都能一把赢5 t...

yysue ⋅ 今天 ⋅ 0

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

zip压缩工具 zip命令可以压缩目录和文件,-r 压缩目录。 zip使用方法 zip 1.txt.zip 1.txt //压缩文件 zip -r 123.zip 123/ //压缩目录 unzip 1.txt.zip //解压 unzip 123.zip -d /root/456...

Linux_老吴 ⋅ 今天 ⋅ 0

react-loadable使用跳坑

官方给react-loadable的定义是: A higher order component for loading components with dynamic imports. 动态路由示例 withLoadable.js import React from 'react'import Loadable fro......

pengqinmm ⋅ 今天 ⋅ 0

记录工作中遇到的坑

1、ios safari浏览器向下滚动会触发window resize事件

端木遗风 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部