跳转至

笔记

这里记得,其实问一句AI,就可以得到答案

HTTP、轮询、SSE、WebSocket 选型

场景 优先选型 典型案例
普通接口、偶尔查询状态 HTTP 查询用户、查询订单、提交表单
状态变化不频繁,可接受几秒延迟 轮询 每 10 秒刷新设备状态、后台任务状态
状态变化不频繁,但希望变化后立即知道 长轮询 微信扫码登录、支付结果等待、审批结果
服务端持续向浏览器推送数据 SSE Beszel CPU 实时监控、AI 流式输出、Jenkins 日志、大模型输出
客户端和服务端双方持续、高频通信 WebSocket 即时聊天、在线游戏、Web SSH、远程控制
音视频、P2P 实时通信 WebRTC 视频会议、语音通话、屏幕共享
- 工程原则:满足业务需求的最简单方案
- 长轮询:需要采用DeferredResult/CompletableFuture/Servlet Async等方案,开源项目中很常见

SSE

大模型聊天常用。一次请求,多次返回,等结束后发送标识。Accept: text/event-stream

  1. 7分钟带你了解 SSE,它是什么?
  2. Server-Sent Events 教程 阮一峰
  3. 【IT老齐237】超好用Web服务端主动推送技术SSE
  4. openai 流式接口严格遵循w3c sse标准

debian11 换源

生产环境的容器比较精简,缺好多命令行工具,例如less等,常需要下载

cp /etc/apt/sources.list /etc/apt/sources.list.bak

cat > /etc/apt/sources.list << 'EOF'
deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb http://mirrors.aliyun.com/debian-security bullseye-security main
deb http://mirrors.aliyun.com/debian/ bullseye-updates main
# deb http://mirrors.aliyun.com/debian/ bullseye-backports main
EOF

apt update

docker

# 会删除已停止的容器、未使用的网络、悬空(dangling)的镜像和构建缓存
docker system prune -a --volumes