PHP 生态其实分三层:运行时(FPM / FrankenPHP / Swoole)、网络进程库(Workerman)、框架层(Laravel / Symfony / ThinkPHP / Hyperf / Webman)。把层次拆开后,「Laravel 和 Swoole 哪个好」这类问题就不成立了——它们是叠加使用的关系。本文给出七个框架的实测状态、按场景的选择建议,以及判断一个框架是否还活着的几个信号。
大部分 RAG 效果差不在模型,而在切分、召回、重排。完整链路:PDF 文本型/扫描型判定、按标题结构切分 + 面包屑、bge-m3 与 pgvector 选型、向量+关键词混合召回与 RRF 合并、交叉编码器重排、防幻觉提示词、最小评估集。
Go 的框架生态和前几年不一样了:net/http 在 1.22 之后支持了路径参数与方法匹配,很多原来必须上框架的场景现在不必了。本文先分清 HTTP 路由框架、微服务框架与标准库三类东西,再逐个说明 Gin、Echo、Fiber、Chi、go-zero、Kratos 的定位与代价,最后给出不确定时直接选 Gin 的兜底建议。
Actix Web 长期占据 Rust Web 框架性能榜前列。历史上有过 Actor 模型的设计,现在是常规异步框架,但保留了不少遗留概念。
Axum 是 Tokio 官方维护的 Web 框架,建在 hyper 和 tower 之上。它是当前 Rust 后端的默认答案,核心原因是能直接用整个 tower 生态的中间件。
Tauri 架构:Web 前端与 Rust 命令通过 IPC 交换可序列化消息。前端发出命令不代表已获得任意系统权限,边界还需要能力与输入约束。
Cargo 把源码、依赖、测试与构建配置组织起来。单测靠近内部逻辑,集成测试从公开 API 使用 crate,两者观察边界不同。
线程与异步任务都可表达并发,但资源成本、阻塞影响与调度不同。共享值是否能跨线程由 Send/Sync 等约束检查。
Box 提供堆上的唯一所有权,Rc/Arc 共享所有权,RefCell/Mutex 提供不同的内部可变机制。共享所有权不自动使内容可安全修改。
生命周期标注描述引用之间的约束,不创造存储空间。返回引用必须能追到在调用方使用期间仍有效的数据。