这是我参加[第四届青训营]笔记创作活动的第8天。
01、分布式系统 1.1分布式系统面临的挑战
数据规模越来越大 服务的可用性要求越来越高 快速迭代的业务要求系统足够易用
为什么需要分布式系统
02、一致性和共识算法
2.1从复制开始
2.4关于读操作
直接读状态机,要求写操作进入状态机后再返回client
2.5什么一致性-1
一致性是一种模型(或者语义) 来约定一个分布式系统如何向外界(应用)提供服务 kv中常见的一致性模型
3.2raft
04、小结
了解了raft如何应用在kv中 也了解到了单一的共识算法尤其局限性 在工程实践中,需要对其进行一定的优化 最后,了解到了一致性协议当前的研究热点
05、分布式系统
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
在计算机网络中,这种统一性、模型以及其中的软件都不存在。用户看到的是实际的机器,计算机网络并没有使这些机器看起来是统一的。如果这些机器有不同的硬件或者不同的操作系统,那么,这些差异对于用户来说都是完全可见的。如果一个用户希望在一台远程机器上运行一个程序,那么,他必须登陆到远程机器上,然后在那台机器上运行该程序。 分布式系统和计算机网络系统的共同点是:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。