学习分布式架构感悟
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着公司业务规模的扩大,网站访问量日益剧增,最初的系统架构可能已经没办法满足业务发展的需求了。这时候就要考虑将系统架构改造成扩展性更强,能够承受更大访问量的分布式架构。 本文从大致三个方面谈谈分布式架构的概念、原理和相关的解决方案。为什么要做分布式?举个栗子,就好比原来城市的道路是双车道,同一时间只能容纳很小一部分车流量,但是改成多车道后,道路的容量就提升了几倍,网站也是相同的道理,用户的访问请求就是汽车,分布式架构就是在构建一个多车道的网站系统。接下来我们具体聊一聊各个层面的分布式技术解决方案。首先讲业务层的分布式,最简单的就是部署几台业务服务器,部署Apache或者Nginx,配置相同(vhost、域名解析、代码目录等),然后使用负载均衡技术将这几台服务器组成集群,达到对用户分流的效果。需要注意的是SESSION会话需要保存到数据库或者缓存系统中,保证SESSION的一致性,至于数据库,有统一的数据层,不需要担心数据不一致的问题。负载均衡有很多种解决方案,比较常见的是LVS(阿里巴巴章文嵩博士开发)、Nginx(阿里巴巴优化的Tengine)、HAProxy等。LVS是负责在4层网络实现负载均衡,有DR、隧道等方式,可以根据自身需求选择合适的方式。Nginx和HAProxy是负责7层网络的负载均衡