美文网首页工作生活
2019-07-04微服务

2019-07-04微服务

作者: 鼓鼓06 | 来源:发表于2019-07-12 16:29 被阅读0次

     微服务漫画解析

    单体结构便于管理,但所有代码都在同一个项目当中,但是当产品规模较大的时候,单体结构的缺点也明显:

    1、项目过于臃肿

    2、资源无法隔离:整个单体系统的各个功能模块都依赖于同样的数据库、内存资源,一旦某个功能崩了,整个系统就会崩溃

    3、无法灵活扩展:访问量大的时候,单个系统可以水平扩展,部署在多台机器上组成集群,但是非灵活扩展。比如一个模块有性能问题的时候就可以只针对这个做水平扩展。


    针对这些问题,把单体系统拆分为【微服务】

    微服务是一种架构思想,提倡将单一应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供价值。每个服务运行在独立的进程中,服务和服务之间采用轻量级的通信机制,通常基于HTTP的Restful API)。每个服务围绕具体业务进行。并独立部署到生产环境中。

    具体优点:高内聚低耦合

    1、独立部署,灵活扩展:传统的单体架构是以整个系统为单位进行部署,微服务以每一个独立组件为单位进行部署。Docker,为微服务提供了有效的容器。

    2、资源的有效隔离:微服务设计的原则之一,每一个微服务都有其独立的数据源,如果微服务A要读取微服务B的数据库,只能调用微服务B暴露在外边的接口来完成,避免了服务之间争用数据库和缓存资源来带的问题

    调用别的模块接口

    3、团队组织架构调整

    单体结构是水平的组织架构,而微服务团队是垂直的组织架构。没个业务都含有前后端工程师,DBA和测试工程师。按照业务边界做细粒度的拆分和部署。

    缺点:

    1、把一个项目拆成多个独立工程,增加了开发和测试的复杂度
    2、拆分服务太细,添加删除功能模块的时候需要修改的模块会多

    3、需要保证不同服务之间数据的一致性,引入了分布式事务和异步补偿机制。

    4、数据隔离带来的报表处理问题。

    相关文章

      网友评论

        本文标题:2019-07-04微服务

        本文链接:https://www.haomeiwen.com/subject/olhrhctx.html