文档章节

web架构提纲

Scofieldxs
 Scofieldxs
发布于 2015/08/17 11:24
字数 919
阅读 93
收藏 11

###好文章 负载均衡详解 大型网站架构系列:电商网站架构案例

###服务器并发处理

吞吐率:单位时间服务器处理的请求数

内存分配:

1.apache:内存使用较多,多进程模型。使用内存池策略管理内存,因此启动时申请大量内存

2.lighttpd:单进程模型

##缓存 ###1.动态内容缓存

####页面缓存:把动态页面输出的HTML进行缓存

  • 对于更新频率低的页面生成静态*.html页面放在nginx服务器上

  • 动态请求再交给java服务器

  • 工具:ehcache,oscache

  • 缓存可以放在磁盘上、内存中、独立的缓存服务器。工具:memcached

  • 页面局部缓存

  • 制定更新策略:改变时更新或定时更新

###2.浏览器缓存

  • 服务器返回:Last-modified:时间
  • 浏览器下次访问:If-Modified-Since:时间
  • 服务器回复:304 Not Modified

除了减少服务器开销,还能减少带宽开销

###3.web服务器缓存

根据url判断是否缓存,

###4.反向代理缓存

web服务器隐藏在代理服务器之后,将缓存放入代理服务器中,代理服务器决定使用缓存还是讲请求发送给后端服务器

代理服务器有:Varnish,squid

ESI(edge side includes):局部缓存:反向代理服务器只向后台请求更新内容,不变内容进行缓存 SSI(server side includes):是在web服务器端组装,而ESI在代理服务器上组装内容

###5.分布式缓存

memcached

1.读缓存:相当于使用了数据库的前置读缓存

2.写缓存:把频繁更新的内容先写入memcache,定期更新到持久层

负载均衡问题:对key取余

相同思路:组件分离:

将不同文件部署到不同服务器上,如图片服务器

可以提高浏览器下载资源并发数。因为浏览器对同一个域名下的并发数有限制。

##负载均衡

#####1.DNS负载均衡 DNS服务支持一个域名指定多个IP,可以采用轮询调度策略

CDN(内容分发网络):按照指定规则映射域名ip,按地理位置,将近的Ip返回给用户

#####2.IP负载均衡 工作在网络层和传输层,通过修改ip或者端口实现,效率高

Linux的iptables,LVS

#####反向代理负载均衡 转发HTTP请求到不同服务器,工作在应用层

粘滞会话:因为session信息需要将一个用户请求映射到同一台机器上。

通过根据用户ip计算的hash来做映射

##网络文件系统

目的:在多台服务器间共享文件

NFS :通过RPC协议传输

###内容分发和同步 目的:一台文件服务器不够用,内容复制多分到多台机器上 #####两种方式:主动分发和被动同步 主动分发:SCP

被动同步:rsync

###分布式文件系统

思路:负载均衡,请求分散到多个服务器上-->NFS实现文件共享--> 集中访问吃力,创建多个副本,复制到多个服务器上--> 分发和同步麻烦,分布式文件系统

hadoop


###数据库扩展

####1.主从复制 主从复制依据二进制日志进行

####2.读写分离 写操作在主服务器进行,读操作在从服务器进行

用MySql Proxy实现

####3.垂直分区 将不相干业务放到不同服务器上

####4.水平分区 同一个表分到两台服务器,根据Id奇偶性选定数据库

分区需要考虑扩展性

© 著作权归作者所有

上一篇: mysql操作
下一篇: 并发编程
Scofieldxs
粉丝 4
博文 24
码字总数 26524
作品 0
海淀
私信 提问
顶级阵容 | K8s 二周年「北京7.22 - 上海7.23」Meetup 庆生会邀您参与

邀请函 亲爱的 K8S 爱好者: Kubernetes 即将迎来 2 周岁生日,一场双城联动,干货满满的豪华生日派对即将来临! 7月22-23日,【K8SMeetup 中国社区】将携手 CNCF 中国地区官方 Kubernetes M...

Caicloud
2017/07/13
26
0
顶级阵容 | K8s 二周年「北京7.22 - 上海7.23」Meetup 庆生会邀您参与

邀请函 亲爱的 K8S 爱好者: Kubernetes 即将迎来 2 周岁生日,一场双城联动,干货满满的豪华生日派对即将来临! 7月22-23日,【K8SMeetup 中国社区】将携手 CNCF 中国地区官方 Kubernetes M...

Caicloud
2017/07/13
66
0
K8S 周岁庆生| 上海 Meetup 聊聊开源落地那些事儿

活动流程 12:30 - 13:00 签到 13:00 - 13:10 K8sMeetup「上海」开场 13:10 - 13:20 Keynote CNCF :Keith Chan 13:20 - 13:40 Keynote 谷歌:李锐 《谷歌 AI:把人工智能的益处带给每...

Caicloud
2018/06/23
161
0
顶级阵容 | K8s 二周年「北京7.22 - 上海7.23」Meetup 庆生会邀您参与

邀请函 亲爱的 K8S 爱好者: Kubernetes 即将迎来 2 周岁生日,一场双城联动,干货满满的豪华生日派对即将来临! 7月22-23日,【K8SMeetup 中国社区】将携手 CNCF 中国地区官方 Kubernetes M...

Caicloud
2017/07/13
33
0
才遇见你 | K8sMeetup 彩蛋版(成都分会场)

7 月 21 日,才遇见你 Kubernetes meetup 彩蛋版, 邀请您到成都分会场, 一同观看北京主场,现场直播! 成都现场将邀请 Kubernetes 大牛, 组织现场观众进行话题讨论, 一同解答 Kubernetes...

Moaxy
2018/07/19
14
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
47分钟前
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部