开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发:集群设计那点事】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/27/detail/597
集群设计那点事
内容介绍:
1) Java 项目开发所遵循的基本原则
2) MVC 设计模式操作注意事项
3) 最基础的开发模式
4) 为什么需要有集群?
5) 数据库集群设计
6) NoSQL 数据库
7) Tomcat 集群
8) 业务拆分——RPC
9) FastDFS
10) 大数据的分析系统
11) 完整的集群开发模式
Java 项目开发所遵循的基本原则
Java 项目开发所遵循的基本原则:MVC 设计模式。
MVC 设计模式操作注意事项
1. 如何让显示不受限制以及迅速反映是整个开发中必须要解决的问题;
2. 控制层只进行内容的接收、验证、VO 转换、业务调用,控制层只是一个导向(业务分发),从 Ajax 的时代开始应该使用 JSON 让控制层处理更加的容易,因此产生了 Restful 架构设计;
3. 业务层需要进行的是业务处理,需要调用一堆的数据层开发程序,因此业务层如何可以简化,如何可以更有效的为控制层服务(所有用户服务);
4. 数据层:需要解决 VO 转换,以及需要速度快,不能都进行数据库的操作,因为数据库是一个瓶颈;
最基础的开发模式
为什么需要有集群?
造成开发瓶颈的最大问题在于:数据库操作非常缓慢
所有项目的操作流程几乎都按照一个固定模式运行:
当用户量剧增时,所有业务的复杂操作都会影响用户
数据库的查询性能,使用 MySQL,同时不想数据库出错之后程序崩溃,则数据需要同步处理:
数据库集群设计
即使再将数据库的服务搭建得更加复杂,实际上最终对于整个项目的提升也不能得到特别大的改善,因为读、写仍然很慢
NoSQL 数据库
如果要进行数据的高速读取就会出现 NoSQL 数据库(MongoDB、redis、Memcached)
Tomcat 集群
现在读取速度很快,但是问题现在卡在控制层的速度,于是现在继续建立 Tomcat 集群
业务拆分——RPC
FastDFS
但是如果要进行一些图片或者视频信息的存储,于是又出现了一个著名的组件——FastDFS
大数据的分析系统
如果现在要采用大数据的分析操作,这时又需要构建大数据的分析系统。