所谓 “架构”,就是将软件的结构打好,然后在结构内按部就班的施工就好了。
软件架构涉及六个维度,分别是 “稳定性”、“高性能”、“一致性”、“扩展性”、“观察性” 和 “安全性”。
没有最好的架构,只有合适的架构。合适的架构就是在对这些维度的平衡与取舍,以最大程度的支撑当前业务的运行。
稳定性,异步、调度、容错、隔离、熔断、限流、降级、故障恢复。
高性能,缓存、异步、并行、并发、消息。
一致性,分布式锁、UID、事务、幂等。
扩展性,资源扩容、弹性伸缩、扩展长链接、扩展数据库、跨数据中心。
观察性,监控告警、调用链。
安全性,开源证书、安全漏洞、基线扫描。
这个分类的细节随着认知理解的升级,还会有补充和调整,但是整体的结构应该差不多就是这样了。
这也印证了 “架构是演化出来的,不是一蹴而就的。”
可以说这个是 “架构” 的 “架构” 吧,以后只需要完善这个结构,往这个结构中不断添加工具、方法、经验就好了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。