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

本文介绍了微服务的定义、特点、构建微服务架构的过程,包括服务组件化、业务能力组织、去中心化和基础设施自动化。同时,探讨了微服务的优势,如高内聚低耦合、技术自由度,以及面临的挑战,如技术架构管理和研发过程协调。文章还讨论了服务的标准、级别以及拆分和集成的方法,并强调了服务注册中心和服务治理的重要性。最后,提到了微服务实现技术选型的标准,如事件驱动和常见中间件。
摘要由CSDN通过智能技术生成

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

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

微服务具有如下特点:

(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 功能一览表

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kyh1003381120

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值