这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
一.微服务架构介绍
微服务架构概览
将服务于服务进行分离
核心要素
- 服务治理
-
- 服务注册
- 服务发现
- 负载均衡
- 扩缩容
- 流量治理
- 稳定性治理
- 可观测行
-
- 日志采集
- 日志分析
- 监控
- 链路追踪
- 安全
-
- 身份验证,认证授权,访问令牌
二.微服务架构原理及特征
基本概念
服务:一组具有相同逻辑的实体
实例:一个服务中,每个运行实体即为一个实例
实例与进程的关系:实例可以有多个进程,反之不行
集群:值服务内部的逻辑划分,包含多个实例
服务间通信
服务间通信用网络传输,包括HTTP、GRPC
服务注册及发现
问题:
如果只通过地址映射进行访问,则会出现
解决思路:
喜能一个统一的服务注册中心,用于存储服务名到服务实例的映射
服务实例上线及下线:
下线时在注册中心中注销 -> 服务不会被访问
上线时先启动服务,注册到服务中心 -> 服务会被访问
流量特征
- 统一网关入口
- 内网通信多采用RPC
- 昂落调用链路
三.核心服务治理功能
服务发布
难点
服务不可用
服务抖动
服务回滚
蓝绿部署
部署两部分相同的服务,分别只启动一项进行测试,最后再启动两个测试
简单稳定、需要两倍资源
灰度发布
先发布一部分看情况会不会出现问题,不断的排列组合发布,最后确定全部正常
流量治理
在微服务框架下,我们可以基于地区、集群、实例、请求等难度,对端到端流量的路由路径进行精确控制
负载均衡
分配请求在每个实例上
常见的策略
- Round Robin
- Random
- Ring Hash
- Least Request