一、分布式架构学习路线图
JAVA中的高并发终于写完了,在思考之后的专题些什么。朋友之前说让我总结下分布式相关的知识吧。但分布式是一个系统设计理念,牵扯到的东西太多了。顾整理了一下大概的学习路线,后续开始按照路线的模块去更(未必按顺序),以下知识点如果都能掌握,说明你基本上在JAVA上很能吃的开了。只只想吐槽以下,JAVA要学的东西太多了╮(╯▽╰)╭。
据统计,人的阅读时间在20分钟以内是能够达到全身心投入的,顾文章单张篇幅以后会尽量缩短,但更新会尽量相应频繁一些。
二、计算机软件发展历史
首先我们了解下计算机软件的发展历史,大概总结概括,分为c/s时代,web1.0时代和web2.0时代。
**c/s时代:**富客户端方案。卖软件可赚钱。例如 qq、影音、游戏。
**1.0时代:**主要是单向信息的发布,即信息门户—广大浏览器客户端 ,互联网内容是由少数编辑人员(或站长)定制的。
表是三大门户,新浪/网易/搜狐。新浪以新闻+广告为主,网易拓展游戏为主,搜狐延伸门户矩阵
**2.0时代:**注重用户的交互。每个人都是内容的供稿者。 RSS订阅扮演一个很重要的作用。
例如:博客、播客、维基、P2P下载、社区、分享服务
时至今日,互联网的形式演变已经变成全员参与,老少皆宜的活动。因此,互联网相关的技术也是要求越来越高,参与人数的增加也让系统的负担越来越大。
三、技术架构演进史
以下为2017年天猫双11的交易指标。那么大的数据量,那么快的处理请求,显然单台机器,单个服务绝对是无法支撑的。
那么怎么办呢,我们将原本单台部署,单台处理的服务,需要进行拆分以及部署到不同的服务器中去,使其用多台机器去处理,分担压力。但是我们又要保证系统的完整性。这就是分布式的设计。接下来我们看下服务架构的演进史。
架构演进一: 早期雏形
特征:应用程序主要做静态文件读取,返回内容给浏览器。
架构演进二: 数据库开发(LAMP特长)
特征:应用程序主要主要读取数据表值,填充html模块。业务逻辑简单,写sql
架构演进三: javaweb的雏形
特征:tomcat + servlet + jsp + mysql。一个war包打天下
项目结构:ssh/ssm三层结构。
架构演进四: javaweb的集群发展
特征:硬件机器的横向复制,对整个项目结构无影响。