文章分类 - 分布式技术
摘要:看完ubuntu 搭建 k8s 集群后我们搭建起了一个 k8s 集群,继续学习 k8s,本文讲述在k8s中部署应用的相关操作. kubectl 是 k8s 集群管理控制器,使用kubectl api-resources可以显示服务器支持的 API 资源 接下来进行实战 一. 部署一个应用 deplo
阅读全文
摘要:一. 预处理机器 1. 修改节点主机名 一定要避免节点重名,否则会导致加入节点后,master 无法发现node节点 master 节点 hostnamectl --static set-hostname k8s-master node节点 hostnamectl --static set-host
阅读全文
摘要:1. 简介 容器相对于物理机和虚拟机而言是很轻量化的技术,在相同资源下容器能创建出更多的实例.一方面,一旦面对分布在多台主机上且拥有数百个容器的大规模应用时,传统的或单机的容器管理解决方案(比如docker-compose)就会变得"力不从心".另一方面,由于为微服务提供了越来越完善的原生支持,在一
阅读全文
摘要:1. 简介 最初没有虚拟机,所有的应用都直接运行在物理机上,计算和存储资源都很难增减,并且在云服务中很难对用户资源/操作进行隔离,所以虚拟机出现了并被广泛适用,而物理机的使用场景被极大地压缩到了像数据库系统这样的特殊应用上.但现有的虚拟机技术方案,都无法避免两个主要的问题,一个是Hypervisor
阅读全文
摘要:1. 简介 OpenStack 是当今最具影响力的云计算管理工具--通过命令或基于 Web 的可视化控制面板来管理 IaaS 云端的资源池. 它最先由美国国家航空航天局(NASA)和 Rackspace 在 2010 年合作研发,现在参与的人员和组织汇集了来自 100多个国家的炒锅 9500 名的个
阅读全文
摘要:正文 NWR 协议是分布式系统中用于控制一致性级别的一种策略.在 Amazon 的 Dynamo 云存储系统中就应用 NWR 来控制一致性,这三个字母分别代表着: N: 副本数量, 例如 GFS 或 Ceph 中的 3 副本 W: 一次成功的更新操作至少需要多少副本写入成功,在 GFS 和 Ceph
阅读全文
摘要:CAP 原则又称 CAP 定理,指在分布式系统中,Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)三者不可兼得. CAP 原则是分布式系统的基石,在构建分布式系统时要根据实际需求进行取舍,而不是试图搭建一个完美的分布式系统 C
阅读全文
摘要:1 简介 在分布式系统的数据冗余(复制集)中我们提到在中心化复制集中主节点选举是非常重要的一个步骤.最初所有节点都是普通节点,经过选举/指定操作后有了主节点才能对外提供服务,并且当主节点失效时能够快速的在所有机器中重新选择一个主节点. RAFT 是一个简单实用的一致性协议(在区块链中一般称为共识协议
阅读全文
摘要:前置要求: 熟悉 hash 算法 1 简介 hash 算法可以将数据随机的分配到分布式集群的所有节点,并且相同输入的输出总是相同的,所以广泛应用于缓存或分布式存储中.但当集群中任意节点失效或集群加入了新节点时,原有的 hash 结果就会失效,需要重新对所有数据进行 hash 计算.这样是不可接受的.
阅读全文
摘要:一. 简介 分布式系统中有大量机器,家用机器平时很难遇到的断电,断网,磁盘损坏,机器宕机等小概率问题乘以机器规模都是一个不容忽视的.因此保证数据不会丢失是分布式系统一个必须解决的问题. 为了避免因单点异常引发的系统可靠性和高可用问题,可行的办法就是数据冗余,也称为复制集.即将同一数据放置在不同机器,
阅读全文
摘要:一. 概述 在 GFS 中使用租约(Lease)机制来保持多个副本间变更顺序的一致性.接下来我们以 GFS 为例介绍Lease 租约,首先介绍 GFS 中的一些概念: Client: 使用 GFS 进行存储服务 Master: 元数据服务器, 同时管理读写与 Chunk 的分配 Chunk: 文件的
阅读全文