简述一下基于Kubernetes 的微服务项目设计与实现原理

158 篇文章 1 订阅
151 篇文章 1 订阅

需要做:

微服务设计: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 

考虑:

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

微服务参考架构

技术介绍

在这里插入图片描述

高可观测性原则

在这里插入图片描述

阿波罗配置中心

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

工作负载访问流程图

在这里插入图片描述

监控组件

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

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值