开发者学堂课程【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” 这样的公式,应根据具体的业务进行分析。
软件设计的出发点:高可用、高并发、分布式。