传统开发与微服务开发理解

  • 传统开发模式

所有功能打包在一个War包中,基本没有外部依赖,部署在一个JEE容器(Tomcat,JBoss,WebLogic),里面包含了DAO,Service,Controller,UI等所有逻辑

 优点:

    • 开发简单,集中管理
    • 基本不会重复开发
    • 功能都在本地,没有分布式的管理和调用的消耗

缺点:

    • 效率低:开发都在同一个项目改代码,相互等待,冲突不断
    • 维护难:代码功能耦合在一起
    • 不灵活:构建时间长,任何小修改都可能重构整个项目,耗时
    • 稳定性差:一个微笑的问题,都可能导致整个应用挂掉
    • 稳定性不够:无法满足高并发下的业务需求
    • 对服务器的性能要求要统一,要高
  • 微服务开发

微服务:架构风格(服务微化)

 微服务是指开发一个单个小型的但有业务功能的服务,每个都有自己的处理和轻量通信机制,可以部署在单个或多个服务器上,也指一种松耦合的,有一定有界上下文的面向服务的架构

  目的 : 有效地拆分应用,实现敏捷开发和部署

 

   优点:

    • 每个微服务都很小,这样能确切地聚焦一个指定的业务功能和业务需求
    • 微服务能够被小团队开发
    • 微服务是松耦合的,是有功能的,有意义的服务,无论在开发阶段或部署阶段都是独立的
    • 微服务可以用不同的语言开发
    • 微服务可以部署在中低端配置的服务器上
    • 很容易和第三方集成
    • 每个服务可以有自己的存储能力,单独的库,也可以有统一的库

缺点 : 

    • 微服务会带来更多的操作
    • 需要双倍的努力
    • 分布式系统复杂难管理
    • 分布式跟踪部署难
    • 当服务器数量增加时,管理复杂度增加

猜你喜欢

转载自www.cnblogs.com/autism-dong/p/12449706.html