集群设计那点事|学习笔记

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习集群设计那点事

开发者学堂课程【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 转换,以及需要速度快,不能都进行数据库的操作,因为数据库是一个瓶颈;


最基础的开发模式

图片12.png


为什么需要有集群?

造成开发瓶颈的最大问题在于:数据库操作非常缓慢

所有项目的操作流程几乎都按照一个固定模式运行:

图片13.png

当用户量剧增时,所有业务的复杂操作都会影响用户

数据库的查询性能,使用 MySQL,同时不想数据库出错之后程序崩溃,则数据需要同步处理:

图片14.png


数据库集群设计

图片15.png

即使再将数据库的服务搭建得更加复杂,实际上最终对于整个项目的提升也不能得到特别大的改善,因为读、写仍然很慢


NoSQL 数据库

如果要进行数据的高速读取就会出现 NoSQL 数据库(MongoDB、redis、Memcached)

图片16.png

Tomcat 集群

现在读取速度很快,但是问题现在卡在控制层的速度,于是现在继续建立 Tomcat 集群

图片17.png

业务拆分——RPC

图片18.png

FastDFS

但是如果要进行一些图片或者视频信息的存储,于是又出现了一个著名的组件——FastDFS

图片19.png

大数据的分析系统

如果现在要采用大数据的分析操作,这时又需要构建大数据的分析系统。

图片20.png

完整的集群开发模式图片21.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
6月前
|
安全 Linux iOS开发
Cisco Secure Client 5.1.7.122 发布,新增功能概览
Cisco Secure Client 5.1.8.122 (macOS, Linux, Windows & iOS, Andrord) - 远程访问和安全客户端
397 4
Cisco Secure Client 5.1.7.122 发布,新增功能概览
|
3月前
|
Linux iOS开发 MacOS
硬盘分区怎么做?这几款分区工具新手也能轻松上手
本文介绍了五款实用的硬盘分区工具,满足不同用户需求。Windows用户可使用内置的磁盘管理器或DiskPart命令行工具,简单易上手;DiskGenius功能全面,适合进阶用户进行复杂操作和数据恢复;Mac用户可借助Disk Utility完成基本磁盘管理任务;Linux用户及高级玩家可选择开源工具GParted,支持多种文件系统并具备高度自由度。根据自身需求和技术水平选择合适的工具,可高效完成硬盘分区与管理。
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的自适应神经网络:原理与应用
【8月更文挑战第14天】在深度学习领域,自适应神经网络作为一种新兴技术,正逐渐改变我们处理数据和解决问题的方式。这种网络通过动态调整其结构和参数来适应输入数据的分布和特征,从而在无需人工干预的情况下实现最优性能。本文将深入探讨自适应神经网络的工作原理、关键技术及其在多个领域的实际应用,旨在为读者提供一个全面的视角,理解这一技术如何推动深度学习向更高效、更智能的方向发展。
|
运维 开发工具 C语言
手写操作系统(1)——HelloOS
手写操作系统(1)——HelloOS
359 3
|
10月前
|
存储 Linux 开发者
探索操作系统的内核——从理论到实践
操作系统是计算机科学的核心,它像一位默默无闻的指挥官,协调着硬件和软件之间的复杂关系。本文将深入操作系统的心脏——内核,通过直观的解释和丰富的代码示例,揭示其神秘面纱。我们将一起学习进程管理、内存分配、文件系统等关键概念,并通过实际代码,体验内核编程的魅力。无论你是初学者还是有经验的开发者,这篇文章都将带给你新的视角和知识。
|
10月前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI系统概述与设计目标
本文介绍了AI系统的全栈架构,涵盖设计目标、组成和生态。AI系统旨在连接硬件与应用,提供高效的模型服务和开发支持。文中探讨了高效编程语言、开发框架、工具链的重要性,以及AI任务系统级支持、自动编译优化和云原生自动分布式化等关键设计目标。此外,还详细讨论了AI训练与推理框架、AI编译与计算架构、AI硬件与体系结构等组成部分,以及AI算法和框架、更广泛的生态系统等。
509 1
|
11月前
|
Java
kali安装专业版burpsuite
kali安装专业版burpsuite
kali安装专业版burpsuite
|
11月前
|
存储 资源调度 算法
操作系统的心脏:深入理解内核架构与机制####
【10月更文挑战第16天】 本文旨在揭开操作系统最神秘的面纱——内核,通过剖析其架构设计与关键机制,引领读者一窥究竟。在这篇探索之旅中,我们将深入浅出地讨论内核的基本构成、进程管理的智慧、内存分配的策略,以及那至关重要的系统调用接口,揭示它们是如何协同工作,支撑起现代计算机系统的高效运行。这既是一次技术的深潜,也是对“看不见的手”调控数字世界的深刻理解。 ####
268 3
|
存储 监控 安全
常用的网络安全工具有哪些?
【8月更文挑战第7天】
644 4
|
12月前
|
存储 人工智能 Linux
操作系统:从萌芽到成熟的技术之旅
本文旨在探讨操作系统的历史演变及其对计算机科学的影响。从最初的单任务系统到现在的多任务、分时系统,我们分析了操作系统如何适应硬件发展和用户需求的变化,以及这一过程中出现的关键技术创新和挑战。
205 0