软件架构分为三种架构类型,业务架构,应用架构,技术架构。业务架构决定应用架构,技术架构支撑应用架构。发展历程是从单体架构、分布式架构、SOA架构、微服务架构
简介
单体应用
优点:易于开发,易于测试,易于部署
缺点:灵活度不够,降低系统性能,系统启动慢,系统扩展性比较差
分布式架构
按照业务垂直切分,每个应用都是单体架构,通过API互相调用。
面向服务的SOA架构
SOA架构中有两个主要的角色:服务提供者(Provider)和服务消费者(Consumer)。阿里开源的Dubbo是SOA的典型实现。
优点:
- 使用接口通信,降低模块之间耦合度
- 项目可拆分为若干子模块便于维护
- 增加功能时只需要增加子项目
- 可以灵活地进行分布式部署
缺点: - 系统之间交互需要使用远程通信,接口开发增加工作量
微服务架构
将大型复杂的业务系统拆分为多个互相独立的微服务,服务间松耦合,通过各远程协议进行同步/异步通信,单个服务均可以被独立部署、扩/缩容以及升/降级。
2019-06-24