
架构
文章平均质量分 86
光阴似键
光阴似键.
展开
-
分布式系统的基石之 ZooKeeper
由于 ZooKeeper 集群的实现采用了一致性算法,所以它成为一个非常可靠的、强一致性的、没有单点故障的分布式数据存储系统。但它的目标不是提供简单的数据存储功能,而是成为分布式集群中不可或缺的基础设施。1.ZooKeeper 的原理与功能前面我们提到,绝大多数分布式系统都采用了中心化的设计理念,一些新的分布式系统的设计表面上看似乎是无中心的,但实际上隐含了中心化的内核,在这类架构中往往有如下普适性的共性需求。(1)提供集群的集中化的配置管理功能。该看起来简单,但实际上也有复杂之处,比如不重启程序而让原创 2021-09-08 21:58:08 · 309 阅读 · 0 评论 -
分布式系统的一致性原理
对于分布式系统,我们必须要深刻理解和牢记一点:分布式系统的不可靠性。可靠性指系统可以无故障地持续运行,如果一个系统在运行中意外宕机或者无法正常使用,它就是一个不可靠的系统,即使宕机和无法使用的时间很短。我们知道,分布式系统通常是由独立的服务器通过网络松散耦合组成的,网络在本质上是一个复杂的 I/O 系统,在通常情况下,I/O 发生故障的概率和不可靠性要远远高于主机的 CPU 和内存,加之网络设备的引入,也增加了系统发生大面积「瘫痪」的可能性。总之,分布式系统中重要的理论和设计都是建立在分布式系统不可靠这一原创 2021-09-08 21:43:23 · 664 阅读 · 0 评论 -
从分布式系统的设计理念说起
分布式系统的首要目标是提升系统的整体性能和吞吐量。如果最终设计出来的分布式系统占用了 10 台机器才勉强达到单机系统的两倍性能,那么这个分布式系统还有存在的价值吗?另外,即使采用了分布式架构,也仍然需要尽力提升单机上的程序性能,使得整体性能达到最高。所以,我们仍然需要掌握高性能单机程序的设计和编程技巧,例如多线程并发编程、多进程高性能 IPC 通信、高性能的网络框架等。另外,任何分布式系统都存在让人无法回避的风险和严重问题,即系统发生故障的概率大大增加:小到一台服务器的硬盘发生故障或宕机、一根网线坏掉,大原创 2021-09-08 21:36:35 · 7019 阅读 · 0 评论 -
从 CDN 到 SD-WAN
1.互联互不通的运营商网络说到我们的互联网,不能不提的是另一词——「互联互不通」。2008 年 5 月,我国电信业开始了第三次大规模重组,重组后,三家基础电信运营企业拿到了全业务运营的牌照,中国移动正式进军互联网领域,互联网产业的格局自此发生重大变革。经过此次重组,中国互联网骨干网互联单位由 10 家变成了 7 家,分别包括 3 家经营性互联单位——中国电信、中国联通和中国移动,4 家非经营性互联单位——教育网、经贸网、长城网和科技网,原中国卫通的互联网资源并入中国电信,原中国网通的互联网资源并入中国联通原创 2021-09-08 21:29:10 · 398 阅读 · 1 评论 -
分布式系统的基石TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)是 Internet 的基本协议,简单地说,由底层的 IP 和 TCP 组成。TCP/IP 的开发工作始于 20 世纪 70 年代,该协议是用于互联网的第一套协议。TCP/IP 结合 DNS、路由协议等一系列相关协议,最终实现了网络之间任意两点间的数据通信问题。我们来看看在访问百度首页时,数据包是如何从计算机传送到百度的服务器上的。在命令行中运行 ipconfig/al原创 2021-09-08 21:19:34 · 195 阅读 · 0 评论 -
HTTP的前世今生
HTTP是全球最大规模的分布式系统网络的基础之一,也采用了传统的服务器-客户端的通信设计模式。从1.0版本到1.1版本再到2.0版本,HTTP始终占据着分布式系统通信领域重要的一席之地。一.HTTP的设计思路首先,在报文编码方式上,HTTP采用了面向程序员的文本(ASClI)编码方式而非面向计算机的二进制编码方式。该设计非常关键,这是因为文本编码数据很直观,文本编码协议甚至不用编写额外冗长的接口说明文档就很容易被程序员理解,也非常方便我们准备模拟数据编写单元测试,而当线上系统出现Bug 时,运维人员也原创 2021-09-03 15:09:58 · 294 阅读 · 0 评论