统一网格:我们如何为我们最大的客户重新架构Slack

All software is built atop a core set of assumptions. As new code is added and new use-cases emerge, software can become unmoored from those assumptions. When this happens, a fundamental tension arises between revisiting those foundational assumptions—which usually entails a lot of work—or trying to support new behavior atop the existing architecture. The latter approach is usually advised, to save time and reduce risk.

所有软件都是建立在一组核心假设之上的。随着新代码的添加和新用例的出现,软件可能会脱离这些假设。当发生这种情况时,基本的紧张关系就会出现在重新审视那些基础假设之间,这通常需要大量的工作,或者试图在现有架构之上支持新的行为。后一种方法通常是被建议的,以节省时间并降低风险。

However, there are times when it’s worth revising the core architecture of a large software application. Recently at Slack we did just that, taking a step back to change how our backend and clients (the desktop and mobile applications) work on a foundational level.

然而,有时候修改大型软件应用的核心架构是值得的。最近在Slack,我们就做到了这一点,退后一步改变了我们的后端和客户端(桌面和移动应用程序)在基础层面上的工作方式。

Slack launched in 2013 with a simple architecture—each user belonged to a single workspace, where they joined channels and sent messages. To view messages from a different workspace (that you were also logged in to), you needed to click into that workspace. 

Slack于2013年推出,采用了简单的架构-每个用户属于一个工作区,他们加入频道并发送消息。要查看来自不同工作区的消息(您也已登录到该工作区),您需要点击进入该工作区。

This model held until 2017, when we released Enterprise Grid, which lets Slack’s largest customers divide their organizations into multiple workspaces, each with a particular focus. In the beginning Enterprise Grid users were usually in just a single workspace, but over time usage patterns changed, and today these users often belong to several workspaces. Simultaneously, we’ve built ways for Slack clients to share data across multiple workspaces on the same Grid, such as the Threads and Unreads views and cross-workspace channels. 

这个模型一直持续到2017年,当我们发布Enterprise Grid时,Slack的最大客户可以将其组织划分为多个工作区,每个工作区都有特定的重点。在开始时,Enterprise Grid用户通常只属于一个工作区,但随着时间的推移,使用模式发生了变化,如今这些用户通常属于多个工作区。同时,我们还建立了一些方法,使Slack客户端能够在同一Grid上的多个工作区之间共享数据,例如Threads和Unreads视图以及跨工作区频道。

This led to a natural question: if data i...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-22 18:57
浙ICP备14020137号-1 $访客地图$