[go]微服务

单体应用

  • 所有业务功能都在一个应用程序里面
  • 研发人员开发并维护同一个代码库
  • 架构简单,典型的三层架构

单体应用横向扩展

单体应用的优势(规模不大)
    架构简单,容易上手
    部署简单,没有复杂的依赖
    测试方便,一旦部署,所有功能就可以测了
    
单体应用的劣势(规模变大后)
    复杂度变高,代码越来越庞大
    开发效率低,开发协作越来越麻烦
    牵一发而动全身,任何一个功能出故障,全部完蛋

微服务

  • “微服务”就是微小的服务或应用,比如linux上各种工具:ls,cat,awk,wc,cp,rm等
  • 基本原理:让每个服务专注的做好一件事情
  • 每个服务单独开发和部署,服务之间是完全隔离的

优势
    迭代周期短,极大的提升研发效率
    独立部署,独立开发
    可伸缩性好,能够针对指定的服务进行伸缩
    故障隔离,不会互相影响
缺点
    复杂度增加,一个请求往往要经过多个服务,请求链路比较长
    监控和定位问题困难
    服务管理比较复杂

猜你喜欢

转载自www.cnblogs.com/iiiiiher/p/12155089.html