为什么我们坚持使用 Ruby on Rails • Sid Sijbrandij
这篇文章 由 GitLab Inc. 的联合创始人、首席执行官和董事会主席 Sid Sijbrandij 撰写,本文主要探讨了 Ruby on Rails 作为开发框架的优势,尤其是在 GitLab 项目中的成功应用。作者强调,Ruby on Rails 通过结合良好的架构和易用性,解决了传统开发框架在“可用性”和“结构性”之间的权衡问题。此外,文章讨论了 模块化 的重要性以及为什么 微服务 并不是实现模块化的唯一或最佳方式。最后,文章介绍了 GitLab 如何通过 模块化单体架构 实现了开源与商业模式的结合,促进了创新和扩展。 Ruby on Rails 的优势 Ruby on Rails 结合了 PHP 的易用性和 Java 的架构完整性,创建了一个既易于上手又结构良好的 Web 框架。 GitLab 选择 Ruby on Rails 作为其开发框架,得益于其易用性和良好的架构,这一选择极大地推动了 GitLab 的成功。 模块化的必要性 模块化可以缩短开发时间,减少沟通需求,并允许对单个模块进行独立的更改和研究。 作者引用了 David L. Parnas 和 Fred Brooks 的理论,强调模块化有助于减少复杂性和沟通成本。 微服务的局限性 虽然微服务可以通过操作系统强制模块边界,但这种方法带来了显著的性能和可靠性问题。 微服务架构增加了不必要的复杂性,并且没有保证能够真正实现模块化,反而可能导致“分布式混乱”。 模块化单体架构的优势 GitLab 采用了 模块化单体架构,即一个结构良好、模块化的单一进程程序。这种架构减少了复杂性,并提升了开发效率。 虽然 Rails 有一些性能问题,但 GitLab 通过结合其他技术(如用 Go 编写的 gitaly 守护进程和 PostgreSQL)解决了这些问题。 开源与商业模式的结合...