所有的模块都开发在一起
优点:
开发和维护简单(小型项目来说)
缺点:
大型项目维护困难、所有模块在一起开发,模块耦合密,无法针对一个模块进行水平扩展或者优化。
垂直应用架构优点:
系统拆分之后,可以进行水平扩展和优化提高了单点容错率
缺点:
系统之间无法相互调用,会有一部分代码重复
分布式架构优点:
抽取公共代码为服务层,增强了代码复用性
缺点:
调用关系复杂,维护困难
SOA架构(面向服务架构)优点:
使用服务治理中心维护复杂的服务调用关系
缺点:
服务有依赖性,可能会因为一个服务的问题,导致多个系统不可用(拆分服务不够彻底)
微服务架构优点:
是SOA架构的进一步发展,强调的是彻底的服务拆分。
服务原子性拆分,独立打包,部署和升级,保证了每个服务清晰的任务划分,利于扩展。
缺点:
分布式系统开发的技术成本太高了(容错,分布式事务等)



