软件架构自学笔记——什么样的架构才是好的架构

 AAA原则:编程

可考核(Accountable):好的软件架构让每一个团队都有本身负责的业务目标架构

可自主(Autonomous):好的软件架构让每一个团队都必定的自主性能够独立往前跑,而不老是被其余团队阻塞编程语言

可复用(Amortized):好的软件架构鼓励对将来投资,使得基础设施的成本能够被摊销微服务

可考核>>可自主>可复用操作系统

 “可考核性”是一切的关键,是实时软件管理的前提。线程

技术团队必须名确业务目标,并对业务目标负责,这样软件工程的可考核性才得以体现。。进程

Bounded Context开发

在大的尺度上,架构就是分解Bounded Contexts(参见领域驱动开发,DDD)。这就是把业务的组织架构图体现到软件的世界里:io

以电商领域为例,业务被分解为上面这些Bounded Contexts。没有一个技术团队能够覆盖横跨这些Bounded Contexts的业务流程的。这并非啥坏事情,大的问题被分解为了小问题,业务和技术在一个Bounded Context的范围内,携手朝着共同的目标去努力。table

协做单元

解决方案应该是把软件做为一个总体来思考,而不是被狭隘的“操做系统进程”的视角给限制了。构建新的微服务的成本,应该和后台用function启动一个线程没有多大区别。理想的编程语言里,咱们有各类各样的function,可是执行机制不一样。

相关文章
相关标签/搜索