分布式学习(一)
来源:互联网 发布:铁通和广电网络哪个好 编辑:程序博客网 时间:2024/06/07 21:42
分布式系统的基础知识
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
处理单点故障
在整个分布式系统中,如果某个角色或者功能只有某台单机在支持,那么这个节点成为单点,其发生的故障成为单点故障。
避免单间的关键就是把这个功能从单机实现变为集群实现。
还可以
- 给这个单点做好备份,能够在出现问题时进行恢复
- 降低单点故障的影响范围。
就这样,,,,明天继续阅读。
- 分布式学习(一)
- 分布式学习(一)
- 分布式学习(一)
- 分布式事务学习(一)
- 转载:分布式基础学习(一)
- 分布式缓存-Memcached学习笔记(一)
- 分布式版本控制系统-Git学习(一)
- Git学习:分布式版本控制(一)
- Python分布式爬虫学习(一)
- Zookeeper+dubbo分布式开发学习(一)
- 分布式服务--dubbo学习一
- 分布式系统开发学习之CS模式(一)(转)
- 分布式一致性Paxos算法学习笔记(一)
- 利用思维导图学习分布式数据库系统(一)
- scrapy分布式的应用学习笔记(一)
- 分布式一致性协议学习笔记(一)--Paxos
- vxlan学习(一)----------分布式VXLAN IP网关
- python学习—Day47—celery异步分布式(一)
- JavaScript学习随笔
- 单链表经典题目
- iOS app打包剔除多余文件
- 上海大学金马5校比赛部分题解
- 前端路由的实现原理
- 分布式学习(一)
- MVC
- AndroidThings学习笔记--pwm控制Led闪烁
- Leetcode22. Generate Parentheses(生成有效的括号组合)
- QString 中文编码转换
- java中输入字符串并输入每个汉字的ASC码
- 获取Activity栈,判断当前Activity位置
- Java swing实现分页显示代码
- Hyperledger Fabric入门 -------- ( Hyperledger-fabric-doc.pdf)