微服务框架 | 青训营笔记

50 阅读1分钟

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

前置

背景: 互联网爆炸性发展,用户数量增多;硬件设施快速发展,需求复杂性多样化、开发人员增加、计算机理论技术的发展。这都在一定程度上推进了架构演进。

image.png

image.png

微服务架构基础模型

概念

基础名词

  • 服务:一组有相同逻辑的运行实体
  • 实例:一个服务中,每个运行实体(Entity)即为一个实例(运行时)
  • 实例与进程的关系:一个实例可以对应一个或多个进程
  • 集群(cluster):通常指服务内部的逻辑划分,包含多个实例。
  • 常见实例承载类型:进程、VM、k8s、pod...
  • 有状态/无状态服务:服务的实例是否存储了可持久化的数据(如:磁盘文件等)

image.png

服务间通信

对于微服务,通信意味着网络传输

image.png

微服务遇到的问题与解决方案

  • 本地DNS存在缓存,导致延时
  • 负载均衡问题
  • 不支持服务实例的探活检查
  • 域名无法配置端口

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

image.png

服务实例上下线过程:

image.png

核心服务治理功能

服务发布的难点

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

image.png

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

image.png