前几日与人聊天时说到了系统的级别都是相对固定的,在什么时候使用什么样的架构,故此打算开一个坑,梳理下系统演进过程,同时通过编码的过程复习一下相关的学习内容。
最基础的一个层次,功能相对简单,所有的代码在一个项目中书写,同时此时程序员兼职前端人员,即使有专业前端人士,依旧需要安装java环境,导致前端人员需要涉及java环境的配置,无形中添加了技术难度。
第二层次,前后端开始分离,java人员专注于后端代码,通过对外暴露相关接口来完成业务的实现,前端人员专注于前端业务开发。
第三层次,根据不同的情况开始做分化了,
系统瓶颈出现在数据库层,如果读取多写入少,引入缓存层,如果读取少,写入多,考虑是否引入消息队列;
系统瓶颈出现在系统中,单机无法承载业务量,准备拆分系统,微服务等相关概念;
第四层次,上一层次中已经开始做微服务了,最后导致大量服务的管理,从而引入spring cloud 等微服务框架。
上边的内容属于个人理解的范围,欢迎各位大佬指教。
代码地址:待定(希望我能够填上这个坑)
模拟需求:普通电商网站的开发演进过程,系统只保证最低的需求程度,不实现过多内容,主要按照我心中的系统演进过程做开发。
网友评论