Postgres 的 `LISTEN/NOTIFY` 功能带来了严峻的扩展性挑战:随着监听者数量的增加,性能会随之下降。此外,该功能与单个数据库会话绑定,这使其无法与将客户端与特定后端连接解耦的标准连接池兼容。
Multigres 通过将订阅与客户端连接解耦解决了这一问题。连接池无需将客户端绑定到特定后端,而是为整个连接池维护一个单一的、预留的、长寿命的“监听连接”。它使用引用计数来跟踪通道订阅,确保仅在必要时才向 Postgres 发送 `LISTEN` 或 `UNLISTEN` 命令。
当此共享连接收到通知时,Multigres 会使用两级扇出系统,通过 gRPC 流将消息路由给正确的客户端。为了保持与 Postgres 的严格兼容,Multigres 还处理了复杂的边界情况:
* **事务:** 待处理的 `LISTEN/UNLISTEN` 请求会被缓冲,并仅在提交时应用。
* **竞态条件:** 就绪握手确保客户端仅在后端订阅激活后才会收到确认。
* **弹性:** 系统会在重新连接时自动恢复订阅。
这种方法在保留连接池优势的同时,确保了透明且高性能的发布/订阅分发。
**Agent Draw** 是基于 **tldraw** 无限画布 SDK 构建的一项新功能,允许用户通过提示 AI 智能体直接在共享画布上进行绘图。用户只需选定特定区域并进行口头描述,即可在演示的同时让 AI 实时生成图表、草图或插图。
该工具集成了几个关键组件:
* **区域捕获与队列化:** 自定义状态机负责捕获绘图区域并序列化请求,使用户能够排队多个绘图任务,并按顺序处理,互不干扰。
* **语音转文字:** 利用集成的 `AreaRecorder` 和 Mistral 的转录模型,将口头请求转化为视觉指令。
* **优化的智能体循环:** 该系统基于 tldraw 官方智能体入门套件构建,使用专门的系统提示词强制模型渲染视觉内容,而非输出文本。同时,通过禁用不必要的镜头移动和代码检查周期,提升了性能。
总之,Agent Draw 简化了创建动态、即时视觉辅助工具的过程。其源代码已开源(MIT 协议),利用 tldraw 强大的画布原语,将简单的语音转化为复杂且结构化的绘图。