系统重构 | 学习笔记

简介: 快速学习系统重构

开发者学堂课程【Java 面试疑难点串讲5:系统架构及项目设计系统重构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/28/detail/620


系统重构


内容简介:

一、系统重构前提

二、系统重构的模式

三、企业内部进行系统重构的好处和缺点

四、注意事项


一、系统重构前提

1、当前的系统已经无法满足用户的使用要求,在白天的时,系统由于办公的人数较多,访问量也高,所以系统的负荷很大;

2、当前业务的流程出现了改变。


二、系统重构的模式

1、业务的重新梳理,应需要根据现在已有的业务实现进行升级的逻辑改造,这一改造就会牵扯到库的设计变更,同时这个变更还需要保留好原始的操作数据;

2、将一个服务器上运行的项目,拆分到多个服务器上运行,这样可以有效的实现负载均衡;

3、需要将业务以子系统的形式出现,一个综合的系统之中需要拆分出无数个子系统进共同的支撑,同时还需要准备出若干种 RPC 方案技术( Dubbo 、Rest- 微架构);

4、数据的备份存储问题,访问量大时一台数据库不可支撑的;

5、准备多个 WEB 端,这些 WEB 端的数据的共享需要准备 Redis ( Redis-Cluster),同时这些 WEB 端需要被 nginx 或 apache 做反向代理。


三、企业内部

(一)系统重构的好处:

1、所有的业务子系统独立出去之后可以进行各种系统间的整合处理(各个子系统之间不要互相调用);

2、适合于高并发操作访问,能保证速度不会慢;

3、数据的操作都基于 Redis  缓存处理。


(二)系统重构的缺点:

服务器的成本会加大,如果要做高可用的配置,基本上还需增加至少 10 台服务器。


四、注意事项

软件设计里没有“1+1=2” 这样的公式,应根据具体的业务进行分析。

软件设计的出发点:高可用、高并发、分布式。

相关文章
|
6月前
|
前端开发 JavaScript 测试技术
修改代码的艺术——如何高效开发、维护和重构复杂的现有系统
这篇文章回忆了作者在高三时期通过努力进入班级前列的故事,并引申到软件开发领域。作者指出,开发工作往往被认为困难重重,但实际上,通过良好的方法、设计和工具,可以提高开发效率和享受编程带来的成就感。文章以最近完成的一个复杂核心需求为例,详细介绍了如何分析、设计和实现这个需求,包括采用领域驱动设计(DDD)理念,数据库字段变更,代码实现,自动化单元测试,重构和代码维护的重要性。最后,作者推荐了几本关于软件开发的经典书籍,并鼓励开发者不断提升自己,以更好地应对挑战。
|
开发者
工作一年,我重新理解了《重构》
重构是一种在不改变代码本身执行效果的前提下,让代码变得更加整洁易懂的方式。代码不仅要让机器能够实现预期的处理逻辑,更要能够面向开发人员简洁易懂,便于后期维护升级。
376 6
|
数据处理
《重构2》第六章-重构基础
《重构2》第六章-重构基础
307 0
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
574 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
206 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
|
数据格式 索引
日常开发之重构
作为开发人员,应该让重构贯穿于你的开发日常的每一刻。
350 0
|
消息中间件 设计模式 缓存
系统重构的道与术
准备以重构工作中容易产生误区的地方或容易被忽视的重点来聊聊,既不重复网上千篇一律的各种方案资料,也对重构工作有参考价值。
系统重构的道与术