微服务在这个时代是一个常常被提及的话题。
我在 SoundCloud时, 曾经负责把一个巨石架构的 Ruby on Rails 应用迁移到微服务。...我先加入了后端团队,App团队,负责巨石架构 Ruby on Rails 应用。当时我们没有把它称为遗留, 而是称它为母舰。App 团队拥有 Rails 应用程序中的所有内容, 包括旧的用户界面。...Next是一个single-page JavaScript web 应用程序, 那时我们遵循标准实践, 并将其作为常规客户端构建到我们的公共API中, 这是在 Rails 巨石架构中实现的。...过程如下:
1、有人想到了一个功能。然后, 他们编写了一个相当轻量级的需求, 原型, 并存储在google drive document。
2、需求留在这份文件中, 直到有人有时间处理它。...在代码级别, 我们需要确保对单个功能所做的更改可以在相对隔离的状态下开发, 而不需要我们从其他组件中进行接触。我们需要合理地确定, 该更改不会在系统的相关部分引入 bug 或更改运行时行为。