《从零开始学微服务》课程学习笔记(一)

本文介绍了从单体应用到微服务的演变过程,阐述了单体应用在大规模业务和团队协作下遇到的问题,进而引出服务化的概念,通过将业务模块拆分为独立服务,降低耦合度,提高开发和部署效率。接着,讨论了微服务的特点,包括更细粒度的服务拆分、独立部署和维护,以及对服务治理的需求。通过微博系统的实例,展示了如何进行微服务化实践,从而实现更灵活、稳定的系统架构。
摘要由CSDN通过智能技术生成

到底什么是微服务?

单体应用

  • 早些年,各大互联网公司的应用技术栈大致可分为 LAMP(Linux + Apache + MySQL + PHP)和 MVC(Spring + iBatis/Hibernate + Tomcat)两大流派。
    • 无论是 LAMP 还是 MVC,都是为单体应用架构设计的,其优点是学习成本低,开发上手快,测试、部署、运维也比较方便,甚至一个人就可以完成一个网站的开发与部署。
    • 以 MVC 架构为例,业务通常是通过部署一个 WAR 包到 Tomcat 中,然后启动 Tomcat,监听某个端口即可对外提供服务。
    • 早期在业务规模不大、开发团队人员规模较小的时候,采用单体应用架构,团队的开发和运维成本都可控。
  • 随着业务规模不断扩大,团队开发人员不断扩张,单体应用架构就会开始出现问题。
    • 部署效率低下
      • 当单体应用的代码越来越多,依赖的资源越来越多时,应用编译打包、部署测试一次,甚至需要 10 分钟以上。
    • 团队协作开发成本高
      • 早期在团队开发人员只有两三个人的时候,协作修改代码,最后合并到同一个 master 分支,然后打包部署,尚且可控。
      • 但是一旦团队人员扩张,超过 5 人修改代码,然后一起打包部署,测试阶段只要有一块功能有问题,就得重新编译打包部署,然后重新预览测试࿰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值