• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

系统架构设计 -- 微服务架构原理和治理实践 分布式架构 、SOA面向服务架构、微服务架构原理特征、核心服务治理、流量治理、负载均衡

武飞扬头像
异已
帮助1

微服务架构原理与治理实践

1. 微服务架构介绍

  • 系统架构演变历史:
    学新通

  • 分布式架构

    抽出业务无关的公共模块,但是服务模块 bug 会导致全站瘫痪,调用关系复杂

学新通

  • SOA 架构

    面向服务, 服务注册与发现,但是整个系统设计是中心化,需要从上至下设计,重构困难
    学新通

  • 微服务架构

    彻底的服务化,业务独立设计,自下而上,故障隔离,但是治理,运维难度增加,以及安全性挑战。学新通

    核心要素:

    1. 服务配置和治理

      服务注册、服务发现、负载均衡、扩缩容、流量治理、稳定性治理

    2. 链路追踪和监控(可观测性)

      日志采集、日志分析、监控打点、监控大盘、异常报警、链路追踪

    3. 安全

      身份验证、认证授权、访问令牌、审计、传输加密、黑产攻击

2. 微服务架构原理及特征

2.1 基本概念

  • 服务(service)

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

  • 实例(instance)

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

  • 实例与进程的关系

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

  • 集群(cluster)

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

  • 常见的实例承载形式

    进程、VM、k8s pod ……

  • 有状态/无状态服务

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

  • 服务间通信

    HTTP/ RPC/Thrift

学新通

2.2 服务注册与发现

  • DNS – 一个域名可以注册多个不同的 IP

    但是 DNS 不支持负载均衡(一般选择第一个IP)、不支持服务实例探活检查 ,域名无法支持配置端口(一个服务占了一个端口)
    学新通

  • 服务注册中心

    基于DNS 思想,新增一个中间层服务注册中心,用于存储服务名到服务实例的映射。

    服务发现会实时刷新

学新通

2.3 流量特征

统一网关入口、内网通信多数采用RPC(二进制形势传输)
学新通

3. 核心服务治理功能

3.1 服务发布

  • 难点

    服务不可用

    服务抖动

    服务回滚

  • 如何发布

    • 蓝绿部署 – 先升级一个集群,再切换

      简单,稳定,但是有一半资源不可用

学新通

  • 灰度发布(金丝雀发布)-- 加一个新服务,再减一个老服务

    但需要不停更新注册表

学新通

3.2 流量治理

流量可以基于地区、集群、实例、请求等维度,对端到端流量的路由路径进行选择。

学新通

3.3 负载均衡

负责分配请求再每个下游实例上的分布

常见的 Load Balance 策略:

  • Round Robin
  • Random
  • Ring Hash
  • Least Request

3.4 稳定性治理

网络攻击、流量突增、机房故障等

治理方案:

  • 限流
    学新通

  • 熔断

    熔断冷却,过段时间,会再次请求重连
    学新通

  • 过载保护

    cpu 过载,拒绝服务。
    学新通

  • 降级

    保证重要的服务进行处理,等级低的服务被拒绝

学新通

4. 服务治理实践

4.1 重试

重试可以避免点偶发的错误,提高 SLA(Service-Level Agreement), 但默认不用

  • 降低错误率
    假设单次请求的错误概率为 0.01,那么连续两次错误概率则为 0.0001,

  • 降低长尾延时
    对于偶尔耗时较长的请求,重试请求有机会提前返回。

  • 容忍暂时性错误

    某些时候系统会有暂时性异常(例如网络抖动),重试可以尽量规避。

  • 避开下游故障实例
    一个服务中可能会有少量实例故障(例如机器故障),重试其他实例可以成功。

图片均来自字节青训营课程,博客作为自己学习记录,如有侵权,麻烦联系删除。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggjjig
系列文章
更多 icon
同类精品
更多 icon
继续加载