目录

文章目录

  • 目录
  • 分布式网络通信难题
    • 通信异常
    • 网络分区
    • 三态
    • 节点故障

分布式网络通信难题

分布式系统体系结构从其出现之初就伴随着诸多的难题和挑战。

通信异常

从集中式向分布式演变的过程中,必然引入网络因素,由于网络本身的不可靠性,因此也引入了额外的问题。

分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,网络光纤、路由器或是 DNS 等硬件设备或 是系统不可用都会导致最终分布式系统无法顺利完成一次网络通信。

另外,即使分布式系统各个节点之间的网络通信能够正常进行,其延时也会大于单机操作。通常我们认为现代计算机体系结构中,单机内存访问的延时在纳秒数量级(通常是 10ns),而正常的一次网络通信的延迟在 0.1~1ms 左右(相当于内存访问延时的 105 倍),如此巨大的延时差别,也会影响到消息的收发过程,因此消息丢失和消息延迟变得非常普遍;

网络分区

当网络由于发生异常情况,导致分布式系统中部分节点之间的网络延时不断增大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够正常通信,而另一些

架构师之路 — 分布式系统 — 分布式网络分区难题相关推荐

  1. 架构师之路 — 分布式系统 — 分布式一致性难题

    目录 文章目录 目录 分布式一致性难题 分布式一致性算法 Paxos 算法 Raft 算法 Quorum NWR 算法 分布式一致性的实现方式 主动复制 被动复制 同步复制 异步复制 分布式一致性难题 ...

  2. 架构师之路 — 分布式系统 — 分布式事务难题

    目录 文章目录 目录 分布式事务难题 分布式事务的实现方式 2PC 2PC 阶段一,执行事务 2PC 阶段二:提交事务 2PC 的 4 个缺点 3PC 3PC 第一阶段 can commit 3PC ...

  3. 架构师之路 — 分布式系统 — CAP 定理

    目录 文章目录 目录 CAP 定理 C(Consistency,一致性) A(Availability,可用性) P(Partition tolerance,分区容错性) CAP 的组合 CP(con ...

  4. 架构师之路 — 分布式系统 — RPC 远程过程调用

    目录 文章目录 目录 RPC RPC 架构 成熟的开演 RPC 框架 RPC RPC(Remote Procedure Call,远程过程调用)是一种计算机程序通信方式,允许运行于一台计算机中的程序调 ...

  5. 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用

    目录 文章目录 目录 gRPC gRPC 的调用架构 gRPC 的分层架构 gRPC 的应用场景 gRPC vs. REST gRPC gRPC(Google Remote Procedure Cal ...

  6. 架构师之路 — 分布式系统 — gRPC 的 4 种服务定义及调用方式

    目录 文章目录 目录 gRPC 的服务定义 gRPC 的 4 种服务定义方式 单项 RPC 调用 服务端流式 RPC 调用 客户端流式 RPC 调用 双向流式 RPC 调用 gRPC 的服务定义 与其 ...

  7. 架构师之路 — 分布式系统 — Protocol Buffers 序列化协议

    目录 文章目录 目录 Protocol Buffers 序列化协议 定义数据结构 序列化传输 Protocol Buffers 序列化协议 Protocol Buffers 是一种高性能的.语言无关的 ...

  8. 架构师之路17年精选80篇

    [架构必备] <互联网架构如何实现"高并发">4W+ <TCP接入层的负载均衡.高可用.扩展性架构设计>2.2W+ <配置中心架构设计演进>1. ...

  9. python爬虫架构师之路_一位资深 架构师大牛给予Java技术提升的学习路线建议

    一位资深 架构师大牛给予Java技术提升的学习路线建议 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素 ...

  10. Android从程序员到架构师之路3

    本文学习自高焕堂老师的Android从程序员到架构师之路系列教学视频 40 - 认识线程(Thread)模式a 1. 线程(Thread)概念 所谓线程(Thread) 是指一串连续的执行动作,以达成 ...

最新文章

  1. Builder 建造者模式
  2. ES6-Promise对象
  3. 【UIKit】文本框(UITextField)及键盘遮挡处理和回收
  4. Android开发8:UI组件TextView,EditText,Button
  5. java中FutureTask的使用
  6. python怎么学比较有技巧_学python必须知道的30个技巧
  7. 解决CentOS7 无法启动mysql 的解决办法
  8. NavigatorContent使用皮肤
  9. java float存储方式_Java中小数的存储方式
  10. javascript练习案例--消失的星星
  11. 如何自己编写JDK帮助文档
  12. 5号字对应的数字字号_五号字体是多少磅的?
  13. mysql tp5时间倒叙_tp5(thinkPHP5框架)时间查询操作实例分析
  14. 微信做音乐相册html5,js微信应用场景之微信音乐相册案例分享
  15. 教你怎么筛选排除百度搜索引擎的屏蔽违规词
  16. Python算法题笔记
  17. Java+Servlet+JSP实现Web宠物诊所管理系统
  18. 爬虫:东方财富网数据爬取
  19. adb 截屏和录屏命令,经典好文
  20. 校园水卡-数据分析+破解思路

热门文章

  1. STM32F107VCTx I2C通信
  2. mouseover 和 mouseenter
  3. abbot_release
  4. uni-app 微信公众号支付
  5. C++ vector 初始化大小
  6. 蒟蒻的代码规范与文档编写规范
  7. 基于arduino WS2812b RGB灯带控制程序一
  8. matlab求解极限问题(limit函数的用法)
  9. 学自动化测试哪个培训机构好 试听课程后就选了这个地方学习
  10. 打开计算机管理iis,iis管理器怎么打开?Win7打开iis管理器的操作方法