1、单一的架构
就是一个项目只有一个工程
2、分布式
2.1、假的分布式:
大家在开发时候都离不开这几个层
假的分布式是同一个项目分成了不同的工程
工程打成war包部署到tomcat然后用户访问tomcat,其他层哪去了 其实是打成jar包在war包解压时候在/WEB-INF/lib里面
2.2、真分布式
但是正常的假分布式已经不能满足我们开发的需求了
我们把不同的模块放在不同的tomcat下
然后我们把不同的tomcat通过网络相连接。那我的模块怎么调用你的模块里的东西呢???
这里我们用到了方法的远程调用
我们通过网络把请求发送到你的tomcat中的工程,然后你处理请求返回响应给我然后我解析数据。
说到远程调用,说一说本地调用
3、方法的本地调用
3.1本地调用
调用当前项目内部的方法,调用过程没有经过网络。
(调用的方法可能是你自己的,可能是框架的,也有可能是jar包的)
3.2远程调用
以前我们的思维是请求都是http协议发出来的,现在让java代码也能发请求
我们让方法A通过网络去调用方法B
3.3实现方法远程调用的技术
3.3.1 WebService
WebService 不是一个具体的技术,而是远程方法调用技术中的一些方法统称
(技术有点老)
3.3.2 Dubbo+Zookeeper
Dubbo是阿里发开的RPC框架-----底层基于RPC(远程过程调用)的方法远程调用和服务治理框架。
大家可以百度一下Zookeeper哈哈哈这里不多说了很多东西。
在分布式架构体系中Dubbo扮演了服务治理框架的角色,Zookeeper扮演了服务注册中心的角色。
3.3.3 SpringBoot+SpringCloud
看看spring首页我们看到1、build构建 2、coordinate协调 3、connect连接
功能可以去官网看一下
3.4方法远程调用的意义
3.4.1对项目内部来说
让我们能够实现分布式架构。
3.4.2对项目外部来说
让我们能够调用外部的第三方接口
(支付类的,快递类的)
4 分布式架构好处
4.1模块化、组件化程度更高
让项目共容易分工、开发和维护。高内聚、低耦合到这就能理解了吧。
4.2提升性能
需要用到分布式架构的项目很多都是访问量很大的互联网项目。
我们可以看到当做一个电商项目时候需要这么多tomcat一起用,然后在商品展示模块并发量太大了,一个tomcat承受不了,用几个tomcat一起承受。负载均衡就是让他们平等承受不导致一个多一个少的情况。
集群【同构】:多个服务器运行相同的模块
分布式【异构】:多个服务器运行不同模块
整个上面的过程就叫分布式。
参考老师的讲解和个人理解啦啦啦!!!