传统架构
假如有 100 人同时开发一个项目会有什么问题?
1. 代码冲突,任务不好分配,容易起冲突问题
分布式架构
分布式架构基于传统架构演变而来,将传统的项目以项目模块进行拆分成n多子项目,有独立的数据库,独立的redis等
总结:分布式架构与传统架构区别:项目颗粒度分的更加细,慢慢开始适合互联网恭喜开发,耦合度降低.
SOA架构
SOA架构是面向于服务架构,Soap简单对象协议Http+xml混合物
SOA是基于分布式架构演变而来,SOA架构代表面向服务架构,俗称服务化,可理解为面向与业务逻辑层.将共同的业务代码进行抽取出来,提供给其他接口进行调用.服务与服务之间通讯采用rpc远程调用技术.(httpclient,springcloud,dubbo,grpc核心底层socket技术或者netty实现).
服务概念:将共同的业务逻辑进行拆分,拆分成独立一个项目进行部署,没有视图层.(接口)
SOA架构特点:底层基于SOAP或者ESB(消息总线成)实现,底层使用HTTP或者HTTPS协议+重量级XML数据交换格式进行通讯.(微服务中,以json格式代替xml)
微服务架构
微服务架构基于SOA架构演变过来
SOA架构缺点:
1. 依赖于中心化服务发现机制
2. 因为SOA架构常采用SOAP协议(Http+xml),因为XML传输协议比较占宽带,整个XML报文中有大量冗余数据.
3. 服务管理非常混乱,缺少服务管理和治理设施不完善.
微服务架构模式
微服务架构从SOA架构演变过来,比SOA架构上颗粒度更加进行精细.让专业人做专业事情(更加专注),目的为了提高效率.每个服务与服务之间互不影响,每个服务必须独立部署(独立数据库,独立redis等),微服务更加体现轻量级,采用restful风格提供API,也就是使用Http协议+JSON格式进行传输,更加轻巧,更加适合于互联网公司敏捷开发,快速迭代产品.