> 文章列表 > 微服务框架-学习笔记

微服务框架-学习笔记

微服务框架-学习笔记

1 微服务架构介绍

1.1 系统架构演变历史

  • 单体架构
  • 垂直应用架构:按照业务线垂直划分
  • 分布式架构:抽出业务无关的公共模块
  • SOA架构:面向服务
  • 微服务架构:彻底的服务化

1.2 微服务架构概览

 

1.3 微服务架构核心要素

  • 服务治理:服务注册、服务发现、负载均衡、扩缩容、流量治理、稳定性治理……
  • 可观测性
  • 安全

2 微服务架构原理及特征

2.1 基本概念

 

2.1.1 服务

        一组具有相同逻辑的运行实体

2.1.2 实例

        一个服务中,每个运行实体即为一个实例

2.1.3 服务间通信

        单体服务中,只是简单的函数调用。微服务中,意味着网络传输。

 

2.2 服务注册及发现

        新增一个统一的服务注册中心,用于存储服务名到服务实例的映射。

 2.2.1 服务实例上线及下线过程

        服务B实例3要下线:

         服务注册中心删除实例3记录:

        使实例3不再有流量,此时可以安全删除实例3:

        实例4上线前先添加实例4:

        再去注册服务中心注册实例4:

 

2.3 流量特征

  • 统一网关入口
  • 内网通信多数采用RPC
  • 网状调用链路

3 核心服务治理功能

3.1 服务发布

        让一个服务升级运行新的代码的过程

3.1.1 服务发布的难点

  • 服务不可用
  • 服务抖动
  • 服务回滚

3.1.2 蓝绿部署

        简单稳定,但需要两倍资源

        先升级绿色集群,则关闭绿色集群流量:

        绿色集群升级后,升级蓝色集群:

3.1.3 灰度发布(金丝雀发布)

        直接上线新实例,然后下线旧实例,再上线新实例直到全部更新

 

3.2 流量治理

基于多维度,对端到端流量的路由路径过程限制

3.3 负载均衡

负责分配请求在每个下游实例上的分布

3.4 稳定性治理

线上服务总是会出现问题的,与程序的正确性无关。

  • 限流
  • 熔断
  • 过载保护
  • 降级