微服务架构 | 青训营笔记

39 阅读2分钟

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

一、本堂课重点内容:

本堂课主要是讲述了微服务架构的相关知识。

二、微服务架构介绍

微服务架构核心要素:

  • 服务治理
  • 可观测性
  • 安全

三、微服务架构原理及特征

基本概念

服务:一组具有相同逻辑的运行实体。

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

实例与进程的关系:实例与进程之间没有必然对应关系,可以一个实例可以对应一个或多个进程(反之不常见)。

集群:通常指服务内部的逻辑划分,包含多个实例。

常见的实例承载形式:进程、VM、k8s pod ...

有状态/无状态服务:服务的实例是否存储了可持久化的数据(例如磁盘文件)。

服务间通信: 对于单体服务,不同模块通信只是简单的函数调用。对于微服务,服务间通信意味着网络传输。

四、核心服务治理功能

服务发布(deployment),即指让一个服务升级运行新的代码的过程。

服务发布的难点:

  1. 服务不可用
  2. 服务抖动
  3. 服务回滚

解决方法:

蓝绿部署:简单,稳定。但是需要两倍资源

灰度发布(金丝雀发布):回滚难度大,基础设施要求高

流量治理:在微服务架构下.我们可以基于地区、集群、实例、请求等维度,对端到端流量的路由路径进行精确控制。

稳定性治理:

微服务架构中典型的稳定性治理功能

  1. 限流︰限制服务处理的最大请求量,拒绝过多请求
  2. 熔断 : 中断请求,从而让故障实例尝试恢复
  3. 过载保护 : 在负载高的实例中,主动拒绝一部分请求,防止实例过载
  4. 降级 : 服务处理能力不足时,拒绝低级别的请求,只响应线上高优请求

五、课后人个总结

通过今天的学习我了解到了微服务架构,同时通过字节跳动服务治理实践一节对所学内容有了更深得了解。