分布式学习(一)

分布式系统的基础知识

1.组成计算机的5要素
输入设备,输出设备,运算器,控制器,存储器。

2.网络IO实现方式
(1)BIO方式
采用阻塞的方式实现。一个Socket套接字需要使用一个线程来进行处理。发生建立连接、读数据、写数据的操作时,都可能会阻塞。
当连接很多时,线程数量也会很多,这显然无法实现。

(2)NIO方式
NIO基于事件驱动思想,采用的是Reactor模式。不需要为每个Socket套接字分配一个线程,而可以在一个线程中处理多个Socket套接字相关的工作。
通过Reactor对所有客户端的Socket套接字的时间做处理,然后派发到不同的线程中。

(3)AIO方式
采用Proactor模式。BIO和AIO差别在于,AIO在进行读/写操作时,只需调用相应的read/write方法,并传入CompletionHandler(动作完成的处理器);动作完成之后,调用CompletionHandler。NIO的通知是发生在动作之前,是在可写、可读的时候,Selector发现这些事件后调用Handler处理。

单机扩展到分布式

1.控制器的变化
(1)请求发起方和请求处理方中间有一个硬件负载均衡设备。
(2)请求发起方和请求处理方中间是LVS(或其他软件负载均衡系统)
(3)通过名称服务进行交互。“请求服务”作用是,一,收集提供请求处理的服务器的地址信息,二,提供这些地址信息给请求发起方。 个人认为zookeeper就是这样子的。
(4)规则服务器给请求机器提供服务。请求发给规则服务器,规则服务器将规则返回给请求机器,请求机器经过一系列处理得到地址再和处理服务器。
(5)Master-Worker。Master管理任务,把任务分配给不同Worker进行处理。

2.运算器的变化
运算器是运用多个节点的计算能力来协同完成整体的计算任务。
如何选择哪一台服务器进行运算?
(1)通过DNS服务器进行调度和控制
(2)DNS返回负载均衡的地址
(3)Master-Worker

3.存储器的变化
(1)代理服务器
(2)名称服务器
(3)规则服务器
(4)Master-Worker

处理单点故障

在整个分布式系统中,如果某个角色或者功能只有某台单机在支持,那么这个节点成为单点,其发生的故障成为单点故障。
避免单间的关键就是把这个功能从单机实现变为集群实现。
还可以

  1. 给这个单点做好备份,能够在出现问题时进行恢复
  2. 降低单点故障的影响范围。

就这样,,,,明天继续阅读。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值