Spring-cloud Alibaba 深入学习

1.传统的单体架构

简单理解为单点架构,就是我们经常写的SSM或者SSH的项目,采用分层架构模式。即数据访问层(dao层),业务逻辑层(service),控制器层(controller),从前端到后端所有的代码可以由一人完成。

就是把项目的代码方到同一个项目中,部署在一个tomcat上面。

优点:结构简单,部署简单 开发简单 运维简单

缺点:代码耦合度高 项目启动慢 技术单一  

如果多人同时开发 ,会发生冲突 、所以这种耦合度不便于开发。

只适用于小团队或者个人开发。

某刻模块不可用,会导致整个系统下线,无法使用

使用场景: 传统项目 个人学习

2.分布式架构 

将原来的单体架构的项目进行模块化的拆分,即使某个模块宕机也不会使项目下线。降低了模块之间的耦合度。比如将一个商城系统进行拆分:

3.SOA面向服务架构

缺点:1.采用soap协议实现通讯,xml传输非常重,效率低下

           2.服务化管理和治理设施不够完善

           3.不适合前后端分离项目

将控制器层和业务逻辑层实现拆分 通过(http+json)的方式实现

4.微服务架构的基本概念 

基于SOA架构的基础上演变而来,对于服务的拆分会更加细粒度,提高开发效率,服务于服务之间通讯采用Restfu形式,数据交互格式采用HTTP+json,http可以实现跨语言的平台,完成通讯。

优点:1.服务拆分更加细粒度,提高开发效率

           2.服务与服务之间独立部署,互不影响。降低耦合度

缺点:1.分布式事务(解决方案 rabbitmq、rocketmq事务消息、seata)一致性问题

           2.分布式锁

 


版权声明:本文为qq_48448951原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。