• 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 是一个完整的微服务基础设施解决方案,并且背后有谷歌的支持,社区异常活跃,成为了容器编排时代的标准事实。

  • 相关阅读:
    JavaScript中的闭包
    SQL 备忘
    SqlServer 2005 升级至SP2过程中出现"身份验证"无法通过的问题
    unable to start debugging on the web server iis does not list an application that matches the launched url
    Freebsd 编译内核
    Freebsd 6.2中关于无线网络的设定
    【Oracle】ORA01219
    【Linux】Windows到Linux的文件复制
    【Web】jar命令行生成jar包
    【Linux】CIFS挂载Windows共享
  • 原文地址:https://www.cnblogs.com/jasonwu/p/13886942.html
Copyright © 2020-2023  润新知