微服务架构实战学习笔记 第一章

    技术2022-07-20  63

    微服务定义:所谓微服务,就是一些具有足够小的粒度、能够相互协作且自治的服务体系。

    构建微服务架构:涉及服务建模、实现技术、基础设施和研发过程等各个维度。

    微服务具有如下特点:

    (1)服务组件化

     所谓组件是一种可独立替换和升级的软件单元,服务之间利用诸如RPC(RemoteProcedure Call 远程调用)等通信机制完成交互。

    (2)按业务能力组织服务

    每个服务都围绕着业务进行构建,并且能够被独立的部署到生产或类生产环境。

    (3)去中心化

    (4)基础设施自动化

    微服务架构优势与挑战:

    (1)技术优势

    微服务提供的是一种高内聚低耦合的组件化方案,使用微服务架构迫使我们利用诸如(Domain Driven Design,DDD)领域驱动设计的思想展开策略设计和技术设计。微服务高度独立,提供了宝贵的技术自由度。

    (2)业务组织优势

    微服务团队之间只需要进行少量的协调工作,降低研发过程浪费。

    微服务面临的挑战:

    (1)技术架构挑战

    微服务架构带来的独立性可能导致每个服务采用不同的技术体系,如果具有版本关联性的服务很多且版本的更新频率很高,将会面临如何管理版本问题。

    (2)研发过程

    如何把非功能性需求分解到各个微服务中,把握需求优先级等。

    服务标准:

    服务无状态、可重用、可发现、自治、松耦合。服务

    服务级别:

    一级服务具备完善的的容错降级机制对低级别服务的熔断、定期压测、配置高级别的监控报警流程等。

    二级服务多采用异步方式进行交互,容忍暂时的数据不一致性

    三级服务科随时降级整个服务

    服务拆分于集成

    服务拆分模式本质上是基于不同的业务进行拆分。拆分步骤上推荐数据库先行,数据模型能否彻底分开,很大程度上决定了微服务的边界能否彻底划清。

    服务集成

    (1)接口集成

    RPC远程调用、REST、消息传递、企业服务总线

    (2)数据集成

    共享数据库、数据复制等方式

    (3)客户端集成

    (4)外部集成

    微服务架构的关键元素:

    服务容错、服务隔离、服务限流、服务降级等。

    (1)服务注册中心

    微服务都需要通过服务治理实现自动化的注册与发现。

    (2)服务的可靠性

    对于服务失败,常见的对应策略有超时和重试机制。

    微服务框架实现技术选型:

    1、技术选选型的参考标准

    (1)核心组件的完备性:服务通信,事件驱动、负载均衡、服务路由、API网关和配置中心

    事件驱动:表现形式通常是各种消息中间件,如实现JSM规范的ActiveMQ、实现AMQP的RabbitMQ,大数据流式计算领域中引用非常广泛的是Kafka,相对轻量级的选用RabbitMQ。

    Dubbo 与 Spring Cloud 功能一览表

     

     

    Processed: 0.008, SQL: 9