前端 TypeScript 入门2

thbcm阅读(122)

在项目中,我们使用
interface 定义后端返回的数据结构。

Kafka入门必知概念——Topic、分区、Offset、消费组的协作机制与影响

thbcm阅读(126)

在消息队列选型框架中,Kafka以其高吞吐、可扩展架构成为大数据场景的首选。然而,要真正发挥Kafka的潜力,必须深入理解其核心概念之间的协作关系。本文将全面解析Topic、分区、Offset和消费组四大核心概念,揭示它们如何共同构建Kafka的高性能架构。

流量洪峰冲不垮的秘密:揭秘系统过载保护的核心防线

thbcm阅读(136)

过载原因:为什么我们的系统会堵车?

系统过载(System Overload),如同城市交通在高峰期陷入瘫痪,其本质是请求压力与处理能力之间动态平衡的打破。在系统设计阶段,需全面评估其处理能力,具体涵盖每秒处理能力、请求峰值、平均处理时延等关键指标。这些指标不仅有助于预估系统的最大处理能力,还能为确定所需机器数量以及是否进行扩容提供可靠依据。然而,在实际评估中,往往仅聚焦于请求量峰值,却忽略了系统处理能力的动态变化。现实中,系统的处理能力并非恒定不变,它会因内部损耗和外部依赖而动态衰减。实际上,系统处理能力的降低同样会引发过载问题。

系统过载的原因主要可归为两类:硬件系统极限能力被突破和软件系统极限能力被超越。由于硬件能力被超越的情况相对较少,因此更应重点关注软件系统,包括操作系统和应用软件。操作系统负责统一调配与管理硬件资源,而应用系统则通过系统调用使用这些资源。当资源使用超出操作系统的承受限度时,系统的整体处理能力将急剧降低。应用系统的瓶颈通常表现为以下四种类型,且某些应用系统可能同时存在多个瓶颈因素。

‌ 1)处理器瓶颈:密集的计算任务(如复杂算法、加解密)、频繁的线程上下文切换,都会将处理器利用率推向100%,导致新请求排队等待,响应时间急剧拉长。

2)内存瓶颈:频繁的垃圾回收(GC Pause)会冻结应用,而操作系统层面的内存交换(Swapping)更是将处理速度从纳秒级拖慢至毫秒级,对性能造成毁灭性打击。

‌ 3)网络I/O:带宽耗尽、网络延迟,或是连接数(如文件句柄)被占满,导致无法建立新的请求连接。

4)磁盘I/O:大量的数据库读写、日志记录、文件操作,特别是随机I/O,会显著降低磁盘吞吐率,拖慢整个业务流程。

一条SQL直接跑崩288核,1.5T内存数据库

thbcm阅读(132)

在执行计划中看到步骤4产生了笛卡尔积连接,成本相当的高,这两个表仅有7万行数据,执行时间超过了5分钟。

数据库中关于NOT、AND、OR的逻辑运算优先级就是按这个顺序进行的,判断是开发人员失误造成的。下面是经过优化后的执行计划。

联系我们