微服务概述

44 阅读1分钟

服务发现

  • 服务注册

    • 服务名称
    • 服务访问方式
    • 访问地址
  • 服务查询

  • 服务健康检查

  • 分布式存储系统

  • 数据的可靠性和一致性

  -- {获取} -> 注册中心  <- {注册}--
  |              ^              |
  |              |              |
  |            {获取}            |
  |              |              |
服务消费者 -->  负载均衡  -->  服务提供者

image.png

服务发现模式

  • 客户端发现模式
    • 自己实现负载均衡获取注册中心的服务提供者的信息
  • 服务端发现模式
    • 服务消费者请求服务端网关
    • 服务端网关获取注册中心的信息

服务发现的实现方案

  • Zookeeper
  • Etcd
    • Raft 算法抱着一致性
    • k8s 的核心组件
  • file
  • Nacos

API 网关

  • 路由器
  • 转发器
  • 负载均衡
  • 中间件能力
    • 跨域 授权
    • 监控
    • 缓存
    • 熔断 降级 限流
    • 请求分片和管理
    • 静态响应处理
  • 设计模式
    • 代理模式 外观模式 中介者模式
    • 责任链模式 策略模式

服务治理

  • 限频
  • 限流 限制最大并发数
    • 漏桶
    • 令牌桶
  • 降级
    • 读旧
    • PlanB
    • 默认值
    • 放弃部分请求
    • 降低质量 提高门槛 反向过滤
    • 补偿
  • 熔断 快速失败
    • 暂时停止服务调用
    • 触发条件和恢复条件
  • 主动超时
  • 隔离

方案

k8s 微服务框架

  • 容器编排与管理
  • etcd 注册中心 用于服务发现
  • 健康检查
  • Ingress 网关 用于服务治理 限流降级
  • 通用性
  • 开发与部署的快捷