Skip to main content

后端通识

本章节按照对后端开发的重要性,从低到高进行排序。

包括以下几个方面:

📄️ locust

Locust 是一款开源的负载/压力测试工具,主要用于 HTTP 及多种协议。通过模拟大量并发用户向目标系统发请求,可在运行过程中实时查看吞吐量(RPS)、响应时间与错误统计,也可将结果导出供后续分析。许多同类工具依赖图形界面或冗长的配置文件来定义场景;Locust 诞生于对这种方式的反思,转而用 Python 代码描述“用户行为”,便于实现条件分支、循环和复杂流程,也便于版本管理与复用。其设计主线是:用继承自 User 的类表示一类虚拟用户,用 @task 标记的方法表示用户会反复执行的任务,把上述定义写在名为 locustfile 的 Python 模块中;运行时可选择带 Web 界面的交互式启动,或使用 --headless 在命令行/CI 中无界面运行。官方文档:docs.locust.io。

📄️ Celery

Celery 是 Python 生态中广泛使用的分布式任务队列:把耗时或需要异步执行的操作(发邮件、生成报表、调用大模型、批处理)封装成「任务」,交给独立进程(worker)在后台执行,Web 或 API 进程只负责接收请求并投递任务,从而避免阻塞、提高吞吐。支持定时/周期任务(Celery Beat)、任务链与组、结果存储与重试,可与 Redis、RabbitMQ 等作为 broker 和 result backend 配合使用。

📄️ Pytest

Pytest 是 Python 下用于编写和运行测试的框架,核心能力包括:测试发现(按约定收集 test*.py / *test.py 中的 test_ 函数或方法)、断言(直接使用 assert,并借助断言重写输出详细失败信息)、fixture(依赖注入式的准备与清理)以及插件体系(如覆盖率、并行、与 CI 集成等)。它脱胎于 PyPy 生态,在替代早期基于 unittest 和 nose 的写法时,因「约定优于配置」、无需继承、语法简洁而成为事实标准;官方文档见 pytest 官网。