Prometheus 作为云原生时代最流行的监控组件,已然成为社区监控事实上的标准,但是在多集群,大集群等场景下,只使用 Prometheus 是远远不够的;单集群场景下我们一般主要关注指标采集、存储、告警、可视化等基础监控能力,随着集群规模的增大,监控系统的弹性以及可扩展性成为首要解决的痛点问题,为此社区诞生了 Thanos、Cortex、Prometheus 联邦等一系列成熟的解决方案,我们也通过自研的 Kvass 解决方案,通过将服务发现与采集过程分离,以及自研的任务分片算法,无侵入式的支持采集任务横向扩展,满足大规模集群场景下的采集和监控需求。在分布式云场景下,用户集群往往采用混合多云多集群的部署架构,集群的地理位置更加分散,网络环境更加复杂,为此我们也在寻找一种新的方案来统一解决此类问题。本文以腾讯云跨账号集群统一监控为例,介绍分布式云下的多集群监控方案的最佳实践。
在《Effective HPA:预测未来的弹性伸缩产品》 一文中,我们提到原生HPA并不完美。基于阈值被动响应机制的滞后性与众多应用冷启动慢等原因导致很大一部分应用无法安心配置弹性。 基于DSP(Digital Signal Processing,数字信号处理)算法的预测机制,Crane确保在阈值到达之前就能提前感知并使应用提前弹出,确保冷启动慢的应用也能有效利用弹性。 在技术交流群中,不断有人问,DSP算法的原理和细节是什么。其所依赖的傅里叶变换号称上个世纪最强算法甚至有史以来最强算法,涉及很多数学基础,巧妙又复杂,学习门槛很高。 因此有必要写一篇文章,将对该算法的细节,以及Crane如何应用该算法公开来。为方便阅读,本文会尽量减少劝退的数学公式的出现次数。
2021年元宇宙概念已无处不在,也寓意数字虚拟世界和现实世界新一轮的大融合已开启。要构建以假乱真、令人沉浸、承载多人实时交互的虚拟世界,需要庞大的渲染算力支撑,仅依靠终端设备算力无法实现。本文介绍实时云渲染技术,使用云端高性能海量算力满足虚拟世界实时渲染需求。
在真实的业务场景中,我们的业务的数据——例如订单、会员、支付等——都是持久化到数据库中的,因为数据库能有很好的事务保证、持久化保证。但是,正因为数据库要能够满足这么多优秀的功能特性,使得数据库在设计上通常难以兼顾到性能,因此往往不能满足大型流量下的性能要求,像是 MySQL 数据库只能承担“千”这个级别的 QPS,否则很可能会不稳定,进而导致整个系统的故障。 但是客观上,我们的业务规模很可能要求着更高的 QPS,有些业务的规模本身就非常大,也有些业务会遇到一些流量高峰,比如电商会遇到大促的情况。 而这时候大部分的流量实际上都是读请求,而且大部分数据也是没有那么多变化的,如热门商品信息、微博的内容等常见数据就是如此。此时,缓存就是我们应对此类场景的利器。
高并发解决的核心问题是在同一时间上有大量的请求过来,然后我们的系统要怎么抗住这些请求带来的压力。比如在线直播服务,同时有上百万甚至上千万人观看。比如秒杀品,同时有大量用户涌入。 高并发是从业务角度去描述系统的能力,实现高并发的手段可以采用分布式,也可以采用缓存等,当然也包括多线程、协程,但远远不仅如此;高并发的基本表现为单位时间内系统能够同时处理的请求数,高并发的核心是对资源的有效压榨,有限的资源应对大量的请求。 现代互联网服务,基本上都要考虑高并发问题,因为一般的产品,用户的请求量都很大。