从Spring Cloud到UCloud UK8S的微服务迁移实践( 三 )
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
基于 HPA 的峰值弹性伸缩
要出发作为一家周边游服务订购平台 , 在业务过程中经常会涉及到景区、酒店门票抢购等需要峰值弹性的场景 。 Kubernetes 的 HPA 功能为弹性伸缩场景提供了很好的实现方式 。
在 Kubernetes中 , HPA 通常通过 Pod 的 CPU、内存利用率等实现 , 但在 Java 中 , 内存控制通过 JVM 实现 , 当内存占用过高时 , JVM 会进行内存回收 , 但 JVM 并不会返回给主机或容器 , 单纯基于 Pod / CPU 指标进行集群的扩缩容并不合理 。 我们通过 Prometheus 获取 Java 中 http_server_requests_seconds_count(请求数)参数 , 通过适配器将其转化成 Kubernetes API Server 能识别的参数 , 并基于这一指标实时动态调整 Pod 的数量 。
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
UCloud UK8S 产品也提供了自身的集群伸缩插件 , 通过设置伸缩组 , 并匹配相应的伸缩条件 , 能够及时创建相应的云主机作为 Node 节点 , 方便我们在业务高峰时期更快速高效地拉起资源 。
基于 Elastic 的APM链路跟踪
微服务框架下 , 一次请求往往需要涉及到多个服务 , 因此服务性能监控和排查就变得复杂;不同服务可能由不同的团队开发 , 甚至使用不同的编程语言来实现;服务有可能部署在几千台服务器 , 横跨多个不同的数据中心 。
因此 , 就需要一些可以帮助理解系统行为、用于分析性能问题的工具 , 以便发生故障的时候 , 能够快速定位和解决问题 。
目前市面有很多开源的APM组件 , Zipkin、Pinpoint、Skywalking等等 。 我们最终选择了基于Elastic开源的apm-server 。 正是由于市面上有太多的监控开源项目 , 但是各项目之间无法很好的互通 。 而Elastic通过filebeat收集业务日志 , 通过metricbeat监控应用服务性能 , 通过apm-server实现服务间的tracing , 并把数据统一存放在es , 很好的将logging、metrics、tracing整合到一起 , 打破了各项目之间的壁垒 , 能够更快速的协助运维及开发定位故障 , 保障系统的稳定性 。
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
Istio 服务治理
推荐阅读
- 浅谈SAP S/4HANA Cloud五大价值域
- UCloud华琨:布局新基建,产业互联网和消费互联网一同发力
- 华云大咖说丨安超云套件 Archer CloudSuite产品介绍
- 『spring』Java面试题:Spring如何解决的循环依赖
- 砍柴网百万元 UCDN 资源!UCloud 优刻得推出 IT 技术社区赞助计划
- QingStor NeonSAN跻身四强 新风口下的青云QingCloud正在厚积薄发
- 深扒财经圈spring cloud系列教程第一篇-介绍
- 「集成开发环境」IDEA中 30 秒生成 Spring Cloud Alibaba 工程
- [程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
- 「spring」Spring面试题:SpringBoot开发自定义starter
