谈谈对微服务的理解

一、系统架构的演变

        随着互联网的发展,网站应用的规模也在不断扩大,进而导致系统架构也在不断进行变化,从最早起到现在,系统架构大体经历了以下几个过程:单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。

二、微服务架构

微服务架构是在某种程度上是面向服务的架构SOA继续发展的下一步,它更加强调服务的彻底拆分。

谈谈对微服务的理解_第1张图片

优点:

        服务原子化拆分,独立打包,部署和升级,保证每个微服务清晰的任务划分,利于拓展。

        微服务之间采用Restful等轻量级http协议相互调用。

        有效的拆分应用,实现敏捷开发和部署分工不同,以前我们可能是一人一个模块,现在可能是一人一个系统架构不同,服务的拆分是一个技术含量很高的问题,拆分是否合理对以后发展影响巨大部署方式不同,如果还像以前一样部署估计累死了,自动化运维不可不上容灾不同,好的微服务可以隔离故障避免服务整体垮掉,坏的微服务设计仍然可以因为一个子服务出现问题导致连锁反应扩展不同,微服务更容易按需求进行横向和纵向扩展微服务做的事情是按照项目颗粒度进行服务的拆分,把模块单独拿出来做成每一个单独的小项目。

微服务的主要特点有:
        每一个功能模块是一个小项目,独立运行在不同进程或者机器上,不同功能可以由不同的人员开发独立开发,独立部署不需要依赖整体项目就可以启动单个服务,分布式管理,每个服务做好自己的事情就好,设计微服务时需要考虑数据库,是所有服务公用一个数据库还是一个服务一个数据库。

缺点:

       因为微服务架构的复杂度,对技术要求高,所以要考虑团队是否已经具备相关技术。

        分布式系统开发的技术成本高(容错,分布式事务等)。 

谈谈对微服务的理解_第2张图片

 

 

你可能感兴趣的:(系统架构)