Kubernetes上SpringCloud应用程序的最佳实践-在线发布
当应用程式发行版推出时,我们最担心的是程式码的错误所引致的业务问题。虽然我们可以通过灰度批量发布,以缩小影响范围,但如果我们能够在发布过程中快速发现实时监控中的问题,那么我们就可以缩短业务受到影响的时间。因此,我们可以看到,灰度、监控和回滚是整个发布过程中不可或缺的三大利器。有了这三种锋利的武器,我们可以随时发布,从而加快业务的迭代和在线速度。监测作为基础设施的重要组成部分,是确保生产环境服务稳定不可或缺的一部分。目前,EDAS提供了非常丰富的监控能力。下面,我们将从不同的场景中详细介绍这些监视功能。
系统监控能力建设
最害怕的监控系统是没有覆盖范围,一个全面的监控应该从基础设施到上层应用有相应的手段来覆盖:
首先,如果发生故障,首先要意识到的是对企业的损害,例如交易量的下降、紫外线的下降等等。
如果我们继续深入研究,如果业务集群非常大,我们首先需要定位一个服务或一台机器,如果没有相应的工具,这个过程就像在大海捞针一样,所以分布式链路级应用程序监视将是构建SpringCloud应用程序的一个很好的匹配。
当我们找到合适的服务开始进行定位分析时,根据问题的类型(问题是错的还是慢的?下一步,您需要开始分析JVM、内存、CPU等维度的度量标准。
最后,我们可能会发现,这个问题是由商业代码或基础设施引起的,而在K8s中,Prometheus是目前集装箱领域基本监视领域中最强大的军刀。
如上文所示,EDAS与阿里云上的一些云产品相结合,完全能够满足日常操作和维护的需要,并帮助学生发展业务,快速找到在线问题。
EDAS常规监测能力
应用程序实例的基本监视信息:
上面的功能提供了应用实例的维度来查看每个实例的监视信息,以及JVM/CPU/LOAD/内存等我们经常需要注意的监控信息,当我们发现内存消耗很高,并且存在频繁的FullGCC情况时,可以通过创建内存快照分析来快速找到问题所在,SQL分析的能力也可以帮助我们快速找到解决问题的缓慢查询。