第1章 分布式系统(Wiki)

1. 分布式系统

A distributed system is one in which components located at networked computers and corrdinate their actions only by passing messages.
组件分布在网络计算机上,组件之间通过消息传递来通信并协调行动。

2. 计算机五要素

输入设备 输出设备 运算器 控制器 存储器

3. 线程的模式

  • 互不通信
  • 共享容器协同 (生产者和消费者)
  • 事件协同

4. OSI 与 TCP/IP

OSI
OSI vs TCP/IP

5. 网络IO实现方式

  • BIO
    blocking IO


    BIO工作方式
  • NOI
    Nonblocking IO


    Reactor模式
  • AIO
    Asynchronous IO

Paste_Image.png

AIO 和 NIO 最大的区别就是,NIO在有通知时可以进行相关操作,例如读或写,而AIO在有通知时表示相关操作已经完成。

6.透明代理

在集群中,对于发起请求的一方和处理请求的一方,都是透明的。

7.代理方式

  • 使用硬件负载均衡的请求调用
Paste_Image.png
  • 使用LVS的请求调用
Paste_Image.png

上面两个是透明代理,有两个不足:

1.增加网络开销(流量和延迟)

2.透明代理必须处于请求的路径上,如果代理出现问题,所有的请求会受到影响。

  • 采用名称服务的直连方式的请求调用
Paste_Image.png

名称服务的作用:

1.收集提供请求处理的服务器的地址信息

2.提供地址信息给请求发起方

*采用规则服务器控制路由的请求直连调用

Paste_Image.png

*Master + worker

Paste_Image.png

8.分布式系统的难点

  • 缺乏全局时钟
  • 面对故障独立性
  • 处理单点故障
    单点故障,在整个分布式系统中,如果某个角色或者功能只有某台单机在支撑,那么这个节点称为单点,其发生的故障称为单点故障。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。...
    零一间阅读 1,030评论 0 4
  • 本文转载自http://geek.csdn.net/news/detail/112672 WeTest导读 我们常...
    shineegirl阅读 1,558评论 0 26
  • 记得从上小学三年级的时候学校老师就要求我们开始学写日记,后来就要求写周记,每周写一篇文章上交给学习委员,老师再批改...
    明珠随笔阅读 1,308评论 0 0
  • 1、下载地址: https://www.gitkraken.com/download 选择Linux(Gzip)进...
    cfwwcf阅读 952评论 0 0