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

Posted androidstarjack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 Kubernetes 的微服务项目整体设计与实现相关的知识,希望对你有一定的参考价值。

点击上方关注 “终端研发部


 

设为“星标”,和你一起掌握更多数据库知识

总体:

  • 微服务设计: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 等监控工具,监控应用程序的性能表现

参考文档

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

  • Kubernetes微服务图形化管理工具:Kuboard

  • Spring Cloud on Kubernetes

  • 在Kubernetes上部署SpringCloud

  • Spring Cloud 和 Kubernetes 哪个更好

  • 构建环境搭建

  • 两种项目结构

来源:https://blog.csdn.net/m0_37701381/article/details/104163877


 

写在最后的话

大家看完有什么不懂的可以在下方留言讨论,也可以私信问我一般看到后我都会回复的。最后觉得文章对你有帮助的话记得点个赞哦,点点关注不迷路
@终端研发部
每天都有新鲜的干货分享!

回复 【idea激活】即可获得idea的激活方式
回复 【Java】获取java相关的视频教程和资料
回复 【SpringCloud】获取SpringCloud相关多的学习资料
回复 【python】获取全套0基础Python知识手册
回复 【2020】获取2020java相关面试题教程
回复 【加群】即可加入终端研发部相关的技术交流群
阅读更多
用 Spring 的 BeanUtils 前,建议你先了解这几个坑!

lazy-mock ,一个生成后端模拟数据的懒人工具

在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!

字节跳动一面:i++ 是线程安全的吗?

一条 SQL 引发的事故,同事直接被开除!!

太扎心!排查阿里云 ECS 的 CPU 居然达100%

一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)


相信自己,没有做不到的,只有想不到的在这里获得的不仅仅是技术!



点“在看”支持小于哥呀,谢谢啦

以上是关于基于 Kubernetes 的微服务项目整体设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

基于Spring-Cloud的微服务框架设计

java计算机毕业设计基于安卓Android的微整形美容app

基于Kafka构建事件溯源模式的微服务

基于Kafka构建事件溯源模式的微服务

个推基于Docker和Kubernetes的微服务实践

关于kubernetes与DNS,你必须知道的微服务架构的服务管理