JAVA分布式概念

一、什么是分布式?

  • 分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。
  • 这些连通的节点上部署了我们的节点,并且相互的操作会有协同。分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已。而实际上这些服务是通过背后的众多服务器组成的一个分布式系统。因此分布式系统看起来像是一个超级计算机一样。

二、分布式的特点

  • 系统容量增加:将原本复杂的业务从一台服务器上拆分到多台服务器上。系统容量也从一条服务器变成了多台服务器的容量。
  • 增强系统可用性:不会因为一台机器出故障而导致整体不可用。消除了单点故障,从而提高系统可用性。
  • 重用度更高:系统模块化,从而重用度更高。
  • 开发和发布速度更快:因为拆分成了多个服务模块,可以多点同时开发,从而提高了开发和发布速度。
  • 扩展性更高:

三、分布式的优缺点

3.1 优点

  • 会把模块拆分,使用接口通信,从而降低模块之间的耦合度。
  • 会把项目拆分成若干个子项目,不同的团队负责不同的子项目。
  • 增加功能灵活,只需要增加一个子项目,调用其他系统的接口就可以。
  • 能够灵活的进行分布式部署.。
  • 代码复用性提升极大。

3.2 缺点

  • 系统之间交互需使用远程通信,使接口开发增大工作量。
  • 部署单个服务会比较快,但是如果一次部署需要多个服务,部署会变得复杂。
  • 系统的吞吐量会变大,但是响应时间会变长。
  • 测试和查错的复杂度增大。
  • 提高了维护和运维的复杂度。

四、实现分布式主要的方式

实现分布式主要是实现多个服务器之间的通信,实现分布式主要就是以下两种技术:

  • 基于消息方式的系统间通信
    TCP/IP+BIO、TCP/IP+NIO、UDP/IP+BIO、UDP/IP+NIO 4种方式。
    TCP/IP+BIO在Java中可基于Socket、ServerSocket来实现。
    TCP/IP+NIO在Java中可基于SocketChannel、ServerSocketChannel来实现。
  • 基于远程调用的系统间通信

五、分布式系统的类型

分布式系统的类型有三种:

  • 分布式处理,但只有一个总数据库,没有局部数据库。
  • 分层式处理,每一层都有自己的数据库。
  • 充分分散的分布式网络,没有中央控制部分,各节点之间的联系方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式的联接等。

六、分布式框架

| 名称 | 规范 | 使用场景 | 包依赖 | 功能支持 | 开发难度 |
|–|–|–|–|–|–|–|
| Dubbo | RPC规范 | 大项目、并发大 | 手动维护JAR依赖 | 功能完善: | 使用复杂,服务与接口的依赖强,对外提供服务还需要进行一层代理,将RPC接口转换成REST接口 |
| Spring Cloud | REST | 中小型项目 | maven注入 | 功能不完善: | 通过注解、配置等方法可以直接使用 |

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值