单体架构和微服务架构

一,单体架构

优点

        1,部署简单:由于是完整的结构体,可以直接部署在一个服务器上即可

        2,技术单一:项目不需要复杂的技术栈,一套熟悉的技术栈就可以开发

        3,用人成本低:单个程序员就可以完成业务接口到数据库的整个流程

缺点

        1,系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;

        2,系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;
        3,可伸缩性差:系统的扩容只能只对这个应用进行扩容,无法结合业务模块的特点进行伸缩。        

        4,线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。
        5,跨语言程度差

        6,不利于安全管理,所有开发人员都拥有全量代码
 

二,微服务

1.微服务架构的优势
        1.易于开发和维护
        一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个

        微服务相对比较简单,整个应用是由若干个微服务构建而成,所以整个应用也会维持在可控

        状态;

         2.单个微服务启动较快
        单个微服务代码量较少,所以启动会比较快;

        3.局部修改容易部署
        单体应用只要有修改,就要重新部署整个应用,微服务解决了这样的问题。一般来说,对某

        个微服务进行修改,只需要重新部署这个服务即可;

        4.技术栈不受限
        在微服务中,我们可以结合项目业务及团队的特点,合理地选择技术栈

        5.按需伸缩

2.微服务架构的缺点(挑战)
        1、服务太多,导致服务间的依赖错综复杂,运维难度大

        2、微服务放大了分布式架构的系列问题
                ·分布式事务(seata) .
                ·分布式锁怎么处理(redisson),

                ·服务注册与发现(nacos).
                ·依赖服务不稳定(sentinel)导致服务雪崩怎么办?
        3、运维复杂度陡增,部署数量多、监控进程多导致整体运维复杂度提升。


 

猜你喜欢

转载自blog.csdn.net/weixin_53810346/article/details/125665918