近段时间在做云原生AI算力平台,之前提到使用k8s informer机制管控多渠道提交的训练任务。
告别“意大利面条”:FastAPI 生产级架构的最佳实践指南
周五下午,你兴致勃勃地用
pip install fastapi 开启了一个新项目。
main.py 里只有 20 行代码,一切都跑得飞快,你觉得自己像个风一样的男子。
前端 TypeScript 入门2
在项目中,我们使用
interface 定义后端返回的数据结构。
技术管理:产品经理PM和技术开发人员RD之间常见的矛盾有哪些
在软件产品开发过程中,变更一些需求是无法避免的,但频繁的需求变更,不仅让开发团队疲于应对不断变化的需求,严重影响项目完成的进度,还会影响开发团队人员的士气。
吴恩达深度学习课程四:计算机视觉 第三周:检测算法 (二)目标检测算法
Kafka入门必知概念——Topic、分区、Offset、消费组的协作机制与影响
在消息队列选型框架中,Kafka以其高吞吐、可扩展架构成为大数据场景的首选。然而,要真正发挥Kafka的潜力,必须深入理解其核心概念之间的协作关系。本文将全面解析Topic、分区、Offset和消费组四大核心概念,揭示它们如何共同构建Kafka的高性能架构。
流量洪峰冲不垮的秘密:揭秘系统过载保护的核心防线
过载原因:为什么我们的系统会堵车?
系统过载(System Overload),如同城市交通在高峰期陷入瘫痪,其本质是请求压力与处理能力之间动态平衡的打破。在系统设计阶段,需全面评估其处理能力,具体涵盖每秒处理能力、请求峰值、平均处理时延等关键指标。这些指标不仅有助于预估系统的最大处理能力,还能为确定所需机器数量以及是否进行扩容提供可靠依据。然而,在实际评估中,往往仅聚焦于请求量峰值,却忽略了系统处理能力的动态变化。现实中,系统的处理能力并非恒定不变,它会因内部损耗和外部依赖而动态衰减。实际上,系统处理能力的降低同样会引发过载问题。
系统过载的原因主要可归为两类:硬件系统极限能力被突破和软件系统极限能力被超越。由于硬件能力被超越的情况相对较少,因此更应重点关注软件系统,包括操作系统和应用软件。操作系统负责统一调配与管理硬件资源,而应用系统则通过系统调用使用这些资源。当资源使用超出操作系统的承受限度时,系统的整体处理能力将急剧降低。应用系统的瓶颈通常表现为以下四种类型,且某些应用系统可能同时存在多个瓶颈因素。
1)处理器瓶颈:密集的计算任务(如复杂算法、加解密)、频繁的线程上下文切换,都会将处理器利用率推向100%,导致新请求排队等待,响应时间急剧拉长。
2)内存瓶颈:频繁的垃圾回收(GC Pause)会冻结应用,而操作系统层面的内存交换(Swapping)更是将处理速度从纳秒级拖慢至毫秒级,对性能造成毁灭性打击。
3)网络I/O:带宽耗尽、网络延迟,或是连接数(如文件句柄)被占满,导致无法建立新的请求连接。
4)磁盘I/O:大量的数据库读写、日志记录、文件操作,特别是随机I/O,会显著降低磁盘吞吐率,拖慢整个业务流程。
Flink源码阅读:状态管理
关于 State 的详细介绍可以参考
Flink学习笔记:状态类型和应用 和
Flink学习笔记:状态后端这两篇文章,为了方面阅读,这里我们再简单介绍一下。
不用 Typora 的 html 导出功能,手搓纯 HTML5 转换器
我日常工作使用 Typora, 一款很好的 Markdown 编辑器。建网站,写博文,用 Typora 打底稿。然后导出成 html 格式文件,所见即所得,一个静态网站就成了!
一条SQL直接跑崩288核,1.5T内存数据库
在执行计划中看到步骤4产生了笛卡尔积连接,成本相当的高,这两个表仅有7万行数据,执行时间超过了5分钟。
数据库中关于NOT、AND、OR的逻辑运算优先级就是按这个顺序进行的,判断是开发人员失误造成的。下面是经过优化后的执行计划。
小狮博客