微服务框架 | 青训营笔记

60 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

微服务框架

微服务架构介绍

系统架构的演进历史

image.png

单体架构

将所有服务放在一起,性能高,冗余小。但是调试困难,模块相互影响,

垂直应用架构

按照业务线垂直划分

image.png

SOA架构

面向服务

image.png

微服务架构

image.png

微服务架构概览

  • 网关
  • 服务配置和治理
  • 链路追踪和监控

image.png

微服务核心要素

image.png

微服务架构原理及特征

基本概念

image.png

服务间通信

image.png

服务注册及服务发现

基本问题就是在服务调用中,如何指定下游服务实例的地址?

如果直接指定ip就做不到负载均衡之类的转发

如果使用DNS解析,就会造成延迟,而且不能指定端口。

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

流量特征

image.png

核心治理功能

服务发布

服务发布难点

image.png

蓝绿部署

  • 将服务分成两个部分,分别先后发布
  • 简单、稳定
  • 但需要两倍资源

image.png

灰度发布

  • 先发布少部分实例,接着逐步增加发布比例
  • 不需要增加资源
  • 回滚难度大,基础设施要求高

image.png

流量治理

image.png

负载均衡

image.png

稳定性治理

image.png

image.png

字节跳动服务治理实践

请求重试的意义

image.png

image.png

请求重试的难点

image.png 重试风暴:随着链路调用的增加,每一次重试次数指数级上升

重试策略

image.png

image.png

image.png