zoukankan      html  css  js  c++  java
  • 8.Kubernetes 的微服务架构设计

    通过轻量级的容器隔离技术,kubernetes 借助微服务的特性以及 docker 实现了平台的自动化管理能力。

    现在我们尝试重新从微服务框架的角度和 Kubernetes 的组件设计进行对比,可以发现 Kubernetes 的设计也是遵循微服务架构的设计原理:

    • Kubernetes 中的核心要素 Service 提供了一套简化的服务代理和发现机制,天然适应微服务架构。
    • Kubernetes 具备微服务框架的很多特征:
      • Kubernetes 拥有统一的服务接入端口;
      • Service 的容错性保证核心服务的连续性;
      • Service 的负载均衡保证核心服务的高可用;
      • Service 的限流和降级措施保证核心服务的稳定性;
      • Kubernetes 具备日志和监控管理以及统一的配置管理。

    下表表示的是微服务技术架构组件和 Kubernetes 框架中的模块表的映射关系:

    微服务架构组件 Kubernetes 框架中的模块
    服务发现和服务注册 Kubernetes 框架内嵌 Service 模块和分布式 DNS
    API 网关 Ingress,简单路由功能
    容错限流 Kubernetes 框架内嵌模块、根据服务实例进行控制、ServiceMesh/Probe/HealthCheck
    监控告警 Kubernetes 框架内嵌模块
    指标监控中心 Prometheus、Cadvisor、DaemonSet 部署监控 Agent
    统一日志中心 Fluentd & ES、DaemonSet 部署日志 Agent
    认证授权 Kubernetes 框架内嵌模块
    配置管理 Kubernetes 框架内嵌模块 Configmap、Secrets
    服务容器 无状态对应 Deployment,有状态对应 StatefulSet
    负载均衡 简单负载均衡,基于 Iptables Roundrobin
    服务部署/弹性伸缩 Kubernetes 框架内嵌模块,Deployment 的 Replicas

    可以发现 Kubernetes 基本上全面覆盖了我们对于微服务的关注点,并且 Kubernetes 是一个完整的微服务基础设施解决方案,并且背后有谷歌的支持,社区异常活跃,成为了容器编排时代的标准事实。

  • 相关阅读:
    【codevs1515】 跳
    【bzoj1227】 SDOI2009—虔诚的墓主人
    【bzoj3505】 Cqoi2014—数三角形
    【bzoj1059】 ZJOI2007—矩阵游戏
    【poj2122】 Optimal Milking
    【poj2455】 Secret Milking Machine
    【poj3084】 Panic Room
    【poj2699】 The Maximum Number of Strong Kings
    【bzoj3218】 a + b Problem
    【bzoj3122】 Sdoi2013—随机数生成器
  • 原文地址:https://www.cnblogs.com/jasonwu/p/13886942.html
Copyright © 2011-2022 走看看