美文网首页编程技术汇总
基于 Kubernetes 的微服务项目设计与实现

基于 Kubernetes 的微服务项目设计与实现

作者: 阿汤哥_8d27 | 来源:发表于2021-11-12 10:28 被阅读0次

    需要做:

    微服务设计:java(spring boot) + RPC(RESTFUL) + 数据库(db) + 缓存(redis) + 配置中心(apollo)
    微服务项目实现
    kubernetes部署
          K8seasy:https://github.com/xiaojiaqi/K8seasy_release_page
    微服务的部署 
    高可用和监控 
          高可用:
            多实例
            注册中心:eureka,zookeeper, console, Nacos(注:在kubernetes 中部署微服务,对注册中心是没有任何限制的)
          监控(Metrics):Prometheus + Grafana(内存大小,200错误数目,500错误数目, JVM里线程数量,GC时间大小)
          日志(Logging):直接写到kafka组件直接进入日志中心(日志不再落地,日志IO被消除了,日志的存储也和容器做到了分离)
          追踪(Tracing):APM(cat, pip, zipkin, skywalkin),Zipkin 需要在项目中加入一个库,并不需要写代码,这对业务的入侵做到了很少,非常方便
          流量控制:熔断、限流和降级,sentinel 
    服务化网格和数据持久化
    有状态服务
    operator 
    

    考虑:

    系统的可用性,可靠性、强壮性、可扩展
    

    微服务参考架构

    image.png

    技术介绍

    image.png

    高可观测性原则

    image.png

    阿波罗配置中心

    image.png

    以 Kubernetes 为关键环节的微服务 DevOps 平台

    image.png

    构建和镜像推送:Jenkins Pipeline 或者 gitlab-runner Pipeline 来完成

    image.png

    工作负载访问流程图

    image.png

    监控组件

    资源层监控:Prometheus + Grafana + Node Exporter 等组件,监控Kubernetes 节点的 CPU、内存、网络、磁盘等使用情况
    中间件层监控:Prometheus + Grafana + MySQL Exporter + Nginx Exporter + JVM Exporter 等,监控 MySQL、Nginx、JVM 等中间件的使用情况
    链路/APM监控:Pinpoint / Skywalking 等监控工具,监控应用程序的性能表现

    参考文档

    相关文章

      网友评论

        本文标题:基于 Kubernetes 的微服务项目设计与实现

        本文链接:https://www.haomeiwen.com/subject/sywnzltx.html