随笔分类 - 大型网站架构
摘要:什么是分布式系统之前我有篇文章已经简单介绍了分布式通信,有兴趣的朋友可以去看看:大型网站系统架构实践(二)分布式模块之间的通信那么今天我详细的说下我对java分布式系统通信的理解1.集群模式,将相同应用模块部署多份2.业务拆分模式,将业务拆分成多个模块,并分别部署3.存储分布式由于分布式概念太大,我...
阅读全文
摘要:原理 在第三,四篇文章中讲到了会话保持的问题,而且还遗留了一个问题,就是会话保持存在单点故障, 当时的方案是cookie插入后缀,即haproxy指负责分发请求,应用服务自行保持用户会话,如果应 用服务器宕机,则session会丢失。 现在来温习下解决方案 方案1:session复制 原理 就是将1台服务器的session复制到其它所有的服务器上,这样无论访问哪台服务器,都...
阅读全文
摘要:从上篇文章到这篇文章,中间用了一段时间准备,主要是想把东西讲透,同时希望大家给与一些批评和建议,这样我才能有所进步,也希望喜欢我文章的朋友,给个赞,这样我才能更有激情,呵呵。 由于本篇要写的内容有点多,我就分为几篇博客进行了详细描述。 Haproxy提高web应用的高可用 上一篇文章讲到了haproxy+tomcat的方案,文章地址:大型网站系统架构的演进(四)htt...
阅读全文
摘要:上一篇文章已经讲到了keepalived实现双机热备,且遗留了一个问题 master的网络不通的时候,可以立即切换到slave,但是如果只是master上的应用出现问题的时候,是不会 主动切换的。 上篇文章地址:Keepalived 实现双机热备(一) 那么这篇文章主要讨论解决这个问题 我的方案是: 写一个脚本,用于监控haproxy,当然,keepalive支持脚本扩展 当maste...
阅读全文
摘要:原理 首先有一个虚拟ip暴露给客户端,虚拟ip对应的mac地址为一台真实服务器, 即用户向虚拟ip发送一个请求,该请求会被分发到真实服务器上。 现在有2台真实服务器,一台master,一台backup,master和backup上都运行着keepalived 当master挂了的时候,backup检测之后,自己成为master,且arp缓存虚拟ip对应的mac地址将变为 backup的mac地址,...
阅读全文
摘要:方案上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题方案:haproxy http层负载均衡安装一个haproxy服务,两个web服务haproxy:192.168.1.227:80web1 http://192.168.1.226:8081/loginweb2 ...
阅读全文
摘要:大型网站系统架构实践(一)从简单到复杂大型网站系统架构实践(二)分布式模块之间的通信大型网站系统架构实践(三)如何提高网站的高可用和高性能大型网站系统架构实践(四)http层负载均衡之haproxy实践篇(一)大型网站系统架构实践(五)深入探讨web应用高可用方案大型网站系统架构实践(六)深入探讨w...
阅读全文
摘要:随着网站的业务越来越多,网站的服务就变的很重要,假设某天你的服务器挂了,会不会是一个天大的灾难呢?而且这种事情发生的概率还不小,断电了,服务器硬盘坏了,内存坏了等等,都会使你的系统挂掉,而且高并发的访问有时候也会使系统资源耗尽,然后导致服务器宕机,那么解决方案呢,那就是集群,将相同的系统分别放到不同...
阅读全文
摘要:上一篇文章中讲到了分布式部署之后,各个模块要通过网络进行通信,那么如何通信,用什么协议呢?可选的方案有http tcp/ip(socket)等http短连接通信方案基于http协议,xml报文传输客户端具体框架为httpclient,服务端为struts2客户端和服务端的通信在内网该方案我们实行过一...
阅读全文
摘要:上一篇文章中讲到了分布式部署之后,各个模块要通过网络进行通信,那么如何通信,用什么协议呢?可选的方案有http tcp/ip(socket)等http短连接通信方案基于http协议,xml报文传输客户端具体框架为httpclient,服务端为struts2客户端和服务端的通信在内网该方案我们实行过一...
阅读全文
摘要:前言写这篇文章的目的是想用来帮助自己思考和理清头绪,以及如何从一个简单的网站架构演进发展成一个大型网站架构,主要侧重在技术方面简单的网站由于我没有做过php,那么就以jsp为例,jsp做网站前端,以电子商务网站为例,描述一个简单的网站架构前端 jsp+css+js后端 java sshWeb容器 t...
阅读全文