springCloud架构

Posted 程序猿2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springCloud架构相关的知识,希望对你有一定的参考价值。

统一配置中心,例如:Apollo,Disconf

    1. 制作镜像(应用程序、运行环境、文件系统)
      基础镜像:Debian 或 应用程序的运行环境镜像
      应用程序:Go,Java,Python ....
      运行环境:不同的语言都需要有特定的运行环境(例如java需要jdk)
      文件系统:忽略

    2. 控制器管理Pod
      Deployment:无状态部署
      StatefulSet:有状态部署(mysql、Mongodb、Redis ...)
      DaemonSet:守护进程部署
      Job & CronJob:批处理

    3. 暴露应用
      Service定义了Pod的逻辑集合和访问这个集合的策略,
      Service引入为了解决Pod的动态变化,提供服务发现和负载均衡,
      支持Cluster IP,NodePort以及LocalBalancer三种类型,
      Service的底层实现主要实现有iptables和ipvs两种网络模式,推荐ipvs,
      使用CoreDNS解析Service名称,
      通过Label关联Pod。

    4. 对外发布应用(ingress)
      通过Service关联Pod,
      基于域名访问,
      通过Ingress Controller实现Pod的负载均衡(支持TCP/UDP 4层和HTTP 7层)。
      最后在Ingress前面部署外网用户统一入口实现七层代理/四层转发(nginx、HaProxy...)

    5. 日志采集
      Pod在运行的时候会产生应用日志,需要将其日志文件信息采集到统一的数据库中存储,然后从一个平台中展示
      易给开发查阅日志信息和错误日志信息,易于排查问题
      主流方案:FileBeat + ELK(高性能和解耦:+kafka)

    6. 监控
      不管是k8s集群Master还是Node,以及Pod,我们需要知道它们运行的具体状况,
      占用多少资源,剩余多少资源,就得通过监控的方式去实现。
      主流方案:Prometheus + Grafana + ...Export

以上是关于springCloud架构的主要内容,如果未能解决你的问题,请参考以下文章

5.springcloud微服务架构搭建 之 《springboot集成Hystrix》

SpringCloud系统架构及演变

SpringCloud学习--微服务架构

系统架构演变及SpringCloud

微服务SpringCloud项目架构搭建入门

19张图梳理 SpringCloud 中的重要知识点