11月24日总结
单体架构:表示层、业务逻辑层和数据访问层即所有功能都在一个工程里,打成一个jar包、war包进行部署,例如:GitHub 是基于 Ruby on Rails 的单体架构,直到 2021 年,为了让超过一半的开发人员在单体代码库之外富有成效地开展工作,GitHub 以赋能为出发点开始了向微服务架构的迁移
下图服务器用Tomcat举例
image-20230521164028933
优点:
单体架构开发简单,容易上手,开发人员只要集中精力开发当前工程 容易修改,只需要修改对应功能模块的代码,且容易找到相关联的其他业务代码 部署简单,由于是完整的结构体,编译打包成jar包或者war包,直接部署在一个服务器上即可 容易扩展,可以将某些业务抽出一个新的单体架构,用于独立分担压力,也可以方便部署集群 性能最高,对于单台服务器而言,单体架构独享内存和cpu,不需要api远程调用,性能损耗最小
缺点:
灵活度不高,随着代码量增加,代码整体编译效率下降 规模化,无法满足团队规模化开发,因为共同修改一个项目 应用扩展性比较差,只能横向扩展,不能深度扩展,扩容只能只对这个应用进行扩容,不能做到对某个功能点进行扩容,关键性的代码改动一处多处会受影响
本文作者:lmyyyy
本文链接:https://www.cnblogs.com/lmyy/p/17858365.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步