1.SOA架构实际上已经将业务进行了拆分,前后端进行了分离
2.当系统部署在一个服务器上是,后期有许多问题:系统难以维护、发生单点故障、扩展性差等问题
3.需要SOA架构结合分布式架构开发(SOA架构就是一种分布式架构思想 )
4.分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递和协调的系统
(1)就是一群独立计算机集合共同对外提供服务
(2)对于系统用户来说,就像是一台计算机在提供服务一样
(3)每个分布式系统可以搭建集群
<1>分布式架构:就是多个子系统互相协作才能完成整个业务流程,系统之间需要进行通信
<2>集群:就是同一个工程部署到多台服务器上,每台上的系统是一样的(这是水平扩展)
5.分布式架构优缺点
(1)优点:
<1>解耦合、系统之间用接口通信
<2>项目拆分,不同的团队负责不同的子项目
<3>利于扩展,增加功能,只需增加子项目,调用其他系统接口就好了
<4>可以灵活的进行分布式部署
(2)缺点:
<1>系统之间交互需要远程通信,接口发开增加工作量
<2>各模块有一些通用业务逻辑无法公用
6.分布式、微模块
(1)微服务架构通常是分布式服务架构,反之则未必成立。
(2)选择微服务通常意味着需要解决分布式架构的各种难题
(3)微服务与分布式的细微差别是:微服务的应用不一定是分散在多个服务器上,也可以是同一个服务器
7.分布式是否属于微服务?
(1)不一定
(2)如果一个很大应用,拆分成三个应用,但还是很庞大,虽然分布式了,但不是微服务
(3)微服务核心要素是微小
(4)微服务架构是分布式服务架构的子集
(5)微服务重在解耦合,使每个模块都独立
(6)分布式重在资源共享与加快计算机计算速度
(7)分布式:分散压力
<1>主要是分散服务器的压力,可以将一台服务器上的功能分在不同的专用服务器上
<2>通常一台服务器有文件,缓存,数据库等多个模块组成
<3>可以将这些模块部署在不同的服务器上,主服务器只部署应用系统
3.1.文件存储服务器,缓存服务器,数据库服务器
3.2.这样专门的服务器做专门的事,只需要用网络联通各个服务器
(8)微服务:分散能力
<1>主要针对应用系统,将应用系统进行模块拆分
<2>不同的模块部署在不同的服务器,可以进行独立部署,独立开发
<3>部署单一模块的服务器可以有缓存、文件、数据库等服务功能,也可以部署在专用服务器
<4>微服务不但要解决各个服务器之间的网络连接通信问题,还要解决各个模块之间的远程调用问题
8.任何架构的统一技术
(1)集群:只要条件允许都可以搭建集群
(2)负载均衡:集群环境必须面对的
(3)缓存技术
9.SOA、分布式、微服务用到的技术
(1)集群:只要条件允许都可以搭建集群
(2)负载均衡:集群环境必须面对的
(3)缓存技术:redis
(4)系统服务间的通讯机制:Kafka、RabbitMQ、ActiveMQ
(5)微服务框架:Dubbo、springcloud