JAVA分布式(一)——了解分布式
一年的时间,终于学到了分布式的时候 在进行实践前,要先了解什么是分布式?分布式的意义是什么?(面试大几率会问,如果你写了的话)
一、什么是分布式?
- 将系统拆分为多个节点(计算机服务器)
- 通过计算机网络与节点(可简单的理解为一台计算机)相连
分布式最早出现的目地首先是解决单点问题,避免单点故障,然后解决了性能问题
二、分布式的特点
- 系统容量增加 将原本复杂的业务从一台服务器上拆分到对多台服务器上,是系统容量从一条服务器变成了多台服务器的容量。
- 增强系统可用性 不会因为一台机器出故障而导致整体不可用,消除了单点故障,从而提高系统可用性。
- 重用度更高 系统模块化,从而重用度更高
- 开发和发布速度更快 因为拆分成了多个服务模块,可以同时平时开发,所以提高了开发和发布速度
- 扩展性更高
三、分布式的优缺点
3.1 优点
-
会把模块拆分,使用接口通信,从而降低模块之间的耦合度。 会把项目拆分成若干个子项目,不同的团队负责不同的子项目。 增加功能灵活,只需要增加一个子项目,调用其他系统的接口就可以。 能够灵活的进行分布式部署. 代码复用性提升极大。
3.2 缺点
-
系统之间交互需使用远程通信,使接口开发增大工作量 部署单个服务会比较快,但是如果一次部署需要多个服务,部署会变得复杂 系统的吞吐量会变大,但是响应时间会变长 测试和查错的复杂度增大 提高了维护和运维的复杂度
四、实现分布式主要的方式
实现分布式主要是实现多个服务器之间的通信,实现分布式主要就是以下两种技术:
基于消息方式的系统间通信 基于远程调用的系统间通信
这一部分内容等后面学习,先到这