在企业环境中,应用程序架构的挑战不仅仅是技术上的,而且是组织上的。多个团队处理相同的代码、紧迫的期限和高安全性要求。
如何在企业范围内保持代码的健全性和质量?以下是最佳市场实践。
1.模块化(功能模块)
停止构建“巨石”。将您的应用程序划分为独立的模块。
- 模块0
- 模块1
- 模块2
- 模块3
优点:Pix 团队可以只工作和编译他们的模块,无需等待 Extract 团队。这可以加快构建时间并避免 Git 中的合并冲突。
2. 将系统设计为代码
架构不仅仅是后端。 UI 必须组件化。 创建所有团队都必须使用的内部组件库(按钮、输入、颜色)。 这确保了整个应用程序的视觉一致性和[可访问性4]。如果品牌改变颜色,你就改变一处。
3.前端后端(BFF)
企业应用程序通常会消耗数十个遗留微服务(SOAP、大型机)。 不要让应用程序直接调用这些服务。它很慢而且不安全。 在服务器 (Node.js/Go) 上创建一个中间层 (BFF),用于聚合这些数据并提供干净、适合移动设备的 JSON。应用程序拨打 1 次电话,BFF 拨打 10 次。
4. 功能标志(切换)
切勿进行“大爆炸”部署。 使用功能标志启动离线功能。
- 星期一:代码部署(功能关闭)。
- 星期二:给 5% 的用户打电话。监控错误。
- 周三:致电 50%。
- 周五:100%。 如果出现错误,您可以在几秒钟内关闭该标志,而无需向商店发送新版本。
5. 可观察性和日志
在公司里,“我不知道发生了什么”是不可接受的回答。 实施结构化日志。如果用户出现错误,您应该能够跟踪他们的旅程(“单击此处,API 返回 500,应用程序显示错误模式”)。像 Datadog 和 Sentry 这样的工具是必不可少的。
结论
企业架构是关于风险缓解和并行速度。模块化、标准化和监控。架构良好的企业应用程序能够经受住开发人员流动和业务变化的考验。
另请阅读
- [应用架构:初学者最佳实践6
- [可扩展的软件架构 - 扩展的最佳实践7
- [可扩展的软件架构-初创公司的最佳实践8
- [可扩展的软件架构-小型团队的最佳实践9
- [应用中的微服务:移动分布式架构10
- [可扩展的软件架构:如何构建可增长的系统11
