Dubbo 官网上有一个架构演进的介绍。并附有下面这张图。
这段介绍代表了整个业界应用演进的大致方向,但不够全面,侧重于服务治理要解决的问题。本文整体采用 要素型逻辑结构 ,从不同方面深入对应用架构演变的认知。
单一应用架构
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据库访问框架(ORM)是关键。
在07年的时候,基本上项目还是采用这种架构。08年我在日本给著名化妆品公司“资生堂”做项目。这个项目成本估算为300万。光开发人员就几十个。代码全都写到一个应用中。
那时候还没有代码静态检查、安全扫描、执行全量单元测试检查覆盖率这些常规保障措施。要是有,开发小哥哥更哭了。这些检查的执行速度和代码量有很大关系。想想看,资生堂那个项目的话,提交代码到检查完成,按照现在一般的检查执行速度,七八个小时吧。可以想象,DevOps毫无用武之地。
前后端分离架构
为了解决上面图中四点问题,前后端分离架构应运而生。这种架构前端项目