首页 > 其他 > 详细

电商架构设计初步(待完善!!!)

时间:2015-08-21 17:25:48      阅读:195      评论:0      收藏:0      [点我收藏+]

1.为什么需要vainish或者memcached缓存?

·缓存服务器把数据存在内存中,http或者mysql服务器是把数据存在硬盘上

·从内存中读取数据比从硬盘中读取数据快

·用户发来一个请求查看图片,缓存服务器线查看本地有没有,如果有直接返回给客户,如果没有就去http服务器去找,然后保存在本地内存中一份,再返回给客户一份

2.nginx和apache怎么处理php动态页面?

Apache用mod_php模块处理

Nginx用FastCGI处理

3.各节点的作用

·nginx作为反向代理:用户访问动态内容时分发到apache,访问静态内容时分到到nginx

·varnish:收到用户请求,如果缓存服务器里没有,就到web服务器中去找,然后先保存在本地服务器,再返回给客户

·rabbitmq消息队列:比如有4000个请求进来,rabbitmq服务器全部缓存起来,根据real server的处理能力来分配。

·HAproxy负载均衡:给apache real server做负载均衡,可以设置每个apache最多处理多少个请求(比如500)。4000个请求进来,haproxy设置每个real server最多处理500个,rabbitmq配合haproxy,让后端real server一直到处理完位置

·memcached:缓存数据库

·mysql-proxy:给mysql做读写分离,如果是读就转给读库,如果是写就转给写库

·lvs:给mysql读库做负载均衡

技术分享

架构流程:

用户输入一个网址,经过DNS解析出IP地址,到达企业防火墙,如果访问的是动态内容,到varnish缓存服务器,如果,到rabbitmq消息队列,到haproxy根据算法交给一台apache real server处理,web服务器连接mysql-proxy如果是写交给写库,如果是读库交给lvs,lvs根据算法找到一台数据库,数据库把内容交给web服务器,web服务器在返回给客户


电商架构设计初步(待完善!!!)

原文:http://zhaijunming.blog.51cto.com/5449012/1686787

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!