C4 图表和全局架构上的实时协作 - Archyl Blog

架构协作不应停留在白板上。我们正在将实时在线状态、实时光标和元素聚焦跟踪扩展到你的项目 C4 图表和全局架构视图——让你的整个团队可以同时在同一架构上工作。

C4 图表和全局架构上的实时协作

几周前,我们推出了白板上的实时协作。反响迅速而明确:团队喜欢看到彼此的光标,喜欢在线状态指示器,喜欢看着架构在协作中成形。但最常见的请求是什么?"能不能也在实际的 C4 图表上实现这个?"

这是个合理的问题。白板非常适合头脑风暴,但真正的架构活在你的 C4 模型中——定义软件结构的系统、容器、组件和代码元素。那才是团队花费大部分时间的地方。那才是协作最重要的地方。

今天,我们实现了这一点。实时协作现在可以在项目 C4 图表和全局架构视图上使用。

同样的魔力,用在最重要的地方

如果你使用过白板协作,这会感觉非常熟悉。打开一个项目的图表视图,当队友打开同一个项目时,他们的光标会出现在你的画布上。一个带有名字的彩色箭头在图表上滑动,探索你的架构。

选中一个系统节点,所有人都会看到它以你的颜色高亮——元素周围的微妙边框,你的名字显示在上方。你的队友选中了一个不同的容器?你会看到他们的选择以他们的颜色显示。视觉语言很简单:你始终知道谁在看什么。

头像堆叠出现在角落。你可以看到谁在这里。当有人加入你的会话时会弹出通知。一切自然运作。

C4 图表上的实时协作

跨 C4 层级协作

这里是真正有趣的地方。C4 模型是分层的——你可能在系统层级工作,而你的同事正在某个特定容器的组件层级深处。你们都在编辑同一个项目,但在看不同的深度。

我们通过元数据来跟踪这一点。每个协作者的会话携带着他们当前查看的 C4 层级信息。这意味着你不仅能看到 Sarah 在同一个项目中,还能看到她正在容器层级工作,而你在系统层级。在线状态指示器让你们保持对彼此的感知,同时不会在你根本没在看的视图上显示光标噪音。

当两个人在同一层级时,光标和聚焦高亮自然出现。当他们在不同层级时,协作保持在后台——存在但不打扰。

全局架构:跨项目协作

全局架构视图在一个地方展示你组织的所有系统。在那里你可以看到全局——项目如何连接、边界在哪里、哪些系统相互通信。

现在你可以一起探索这个视图。打开全局架构,你的队友会看到你的光标在组织级别的全景上移动。选中一个系统来查看它,所有人都能看到你的聚焦。

我们在这里添加了视图范围过滤,因为全局架构视图有两种深度模式——系统和容器。如果你在看系统概览,而你的同事已经深入到容器视图,你们不会看到彼此的光标。你们实际上在不同的画布上。切换到相同的深度,协作就会重新活跃。

这种细节让协作感觉自然而不嘈杂。你只看到与当前上下文相关的内容。

变更自动同步

协作不仅仅是看光标。当队友添加一个新系统、移动一个容器或更新一个关系时,你的图表会自动刷新。你不需要点刷新。你不需要问"你保存了吗?"

底层我们使用版本化操作。每次变更都递增一个版本号。你的客户端每秒轮询新版本,当检测到变更时,重新获取相关数据。简单、可靠,适用于任何代理或防火墙之后——无需担心 WebSocket 连接。

结果是一个共享的工作面,每个人的变更在一两秒内出现。对于活跃协作来说足够快,同时避免了文本编辑器所需的实时逐字符同步的复杂性。

统一的系统

我们最满意的决策之一是统一的协作模型。白板、项目 C4 图表和全局架构都运行在相同的基础设施上。一个服务、一组数据库表、一组端点。

底层,每个协作会话由资源类型(whiteboardprojectglobal)和资源 ID 标识。光标跟踪、在线状态检测、操作版本控制和清理任务都是共享的。这意味着对一种资源类型的改进会自动惠及所有类型。

这也意味着将协作扩展到未来的新领域——流程、文档、ADR——只需将现有基础设施连接到新视图,而不是从头构建。

十种颜色,零混淆

每个协作者都会从十种可访问且易区分的色调调色板中分配一个唯一颜色。分配基于加入顺序确定性进行,所以如果你离开后重新加入,你会得到相同的颜色(假设你的位置没有被占用)。你的光标、元素高亮、头像环——都使用相同的颜色。

我们在各种显示类型和色觉特征上测试了这些颜色。调色板的选择确保每对颜色都是可区分的,即使对于常见的色觉障碍也是如此。架构是关于沟通的;工具不应该引入歧义。

我们看到的使用场景

架构评审:技术负责人带领团队走查 C4 模型。每个人在自己的屏幕上跟随,点击他们有疑问的元素。负责人看到注意力集中在哪里,相应调整讨论。

入职培训:新工程师与资深队友一起探索架构。不用幻灯片,他们一起走查活的图表。资深工程师选中系统并实时解释。新人点击周围的元素并提问。

规划会议:两个团队正在讨论集成。每个团队有自己的项目,但他们一起打开全局架构视图来查看系统将如何连接。他们可以指向特定系统并讨论边界,所有人都看着同一个画面。

分布式设计:后端工程师为一个服务添加新组件,同时前端工程师审查他们将要使用的 API 容器。两人在同一个项目中,工作在不同的部分,了解彼此的进度。

开始使用

C4 图表和全局架构上的实时协作现在在所有支持团队功能的计划中可用。无需配置——只需打开一个项目或全局架构视图,当队友打开同一视图时,协作就自动激活。

你的架构是团队的产物。现在你的工具也体现了这一点。


刚接触协作式架构?阅读我们如何构建白板协作的完整故事,或探索 AI 驱动的架构发现来自动生成你的团队可以协作的架构。