「微服务框架 - 不变的基建」| 青训营笔记

78 阅读2分钟

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

今天的课程主要讲的是有关架构的知识和实现

知识点:

1.有关微服务架构的知识

细节

微服务架构的核心
  1. 服务治理:服务发现,服务注册,负载均衡,动态扩缩容,流量治理。

  2. 服务检测:链路追踪,日志分析,日志采集。

  3. 安全:认证授权,传输加密

微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用

而微服务主要有以下特点

易于开发和维护:一个微服务只会关注一个特定的业务功能,所以它业务清晰、代码量较少。开发和维护单个微服务相对简单。

技术栈不受限:不同的团队可以使用不同的技术栈,只需要根据文档提供相应接口即可。

可用性更好:由于服务拆分,如果单个服务出现故障并不会使整个系统崩掉。

服务注册与发现

基本概念

  1. 服务(service):一组具有相同逻辑的运行实体
  2. 实例(instance):一个服务中,每个运行实体即为一个实例
  3. 集群(cluster):通常指服务内部的逻辑划分,包含多个实例
  4. 有状态 & 无状态服务:服务的实例是否存储可持久化数据

微服务的核心即是服务间的信息通信,即网络通信

流量治理

image-20230204143858231

在网关层面我们不仅可以做服务转发,同时配置鉴权,以及限流操作。常用的有ip限流,令牌桶算法等等。

服务发布

服务发布一般指一个服务升级运行新的代码的过程

我们有以下几种方式来帮助服务发布

  1. 蓝绿部署(分蓝区和绿区,升级的时候切换为另一区。主要缺陷为两倍资源)
  2. 灰度发布(一个个发布并测试,试探性。主要缺点为错误回滚)