从浅入深 学习 SpringCloud 微服务架构(一)基础知识
1、系统架构演变:
1)单体应用架构。如电商项目。
用户管理、商品管理、订单管理,在一个模块里。
优点:开发简单,快速,适用于小型应用,
缺点:不易扩展扩展维护,代码耦合。
2)垂直应用架构:
用户中心,商品系统,后台系统,多个模块横向集成在一个容器中。
优点:解决高并发问题,针对不同模块(子工程)优化,方便水平扩展,容错。
缺点:系统间相互独立,有重复开发工作。
3)分布式架构:
功能展示层:电商系统,CMS 系统,后台管理系统。
服务层:用户服务,订单服务,其他服务。
优点:抽取公共的功能为服务,提高开发效率。
对不同的服务进行集群化部署解决系统压力。
基于 ESB/DUBBO 减少系统耦合。
缺点:抽取服务的粒度较大,服务提供方与调用方接口耦合度较高。
2、SOA :
全称 Service-Oriented Architecture 面向服务的架构,
它可以根据需求通过网络对松散的耦合的粗粒度应用组件(服务)进行分布式部署、组合和使用。一个服务通常以独立的形式存在于操作系统进程中。
站在功能的角度,把业务逻辑抽象成可复用、可组装的服务,通过服务的编排实现业务快速再生,
目的:把原先固有的业务转变为通用的业务服务,实现业务逻辑快速复用。
SOA 特点:分布式、可重用、扩展灵活、松耦合。