zhizi dish
0 followers · 1 following · 248 views
on the atlas — 4
- Simplifying Developer Testing Through SLATE | Uber Blog1 savers
- 谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源1 savers
- Redis 多线程的学习和理解 - lxkaka1 savers
- Prometheus Metric 的实践总结,搞定监控需注意~ - 运维派1 savers
highlights — 30
只有Chunk服务器才能最终确定一个Chunk是否在它的硬盘上
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master服务器能够保证它持有的信息始终是最新的,因为它控制了所有的Chunk位置的分配,而且通过周期性的心跳信息监控 Chunk服务器的状态
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master服务器可以在后台简单而高效的周期性扫描自己保存的全部 状态信息。这种周期性的状态扫描也用于实现Chunk垃圾收集、在Chunk服务器失效的时重新复制数据、通过Chunk的迁移实现跨Chunk服务器的 负载均衡以及磁盘使用状况统计等功能
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master服务器在启动时,或 者有新的Chunk服务器加入时,向各个Chunk服务器轮询它们所存储的Chunk的信息
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源3种主要类型的元数据,包括:文件和Chunk的命名空间、文件和Chunk的对应关系、每个Chunk副本的存放地点。所有的元数据都保存在 Master服务器的内存中
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源较大的Chunk尺寸减少了Master节点需要保存的元数据的数量。这就允许我们把元数据全部放在内存中
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源采用较大的Chunk尺寸,客户端能够对一个块进行多次操作,这样就可以通过与Chunk服务器保持较长时间的TCP连接来减少网络负载
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源减少了客户端和Master节点通讯的需求,因为只需要一次和Mater节点的通信就可以 获取Chunk的位置信息,之后就可以对同一个Chunk进行多次的读写操作
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Chunk的大小是关键的设计参数之一。我们选择了64MB,这个尺寸远远大于一般文件系统的Block size
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源文件名和程序指定的字节偏移,根据固定的Chunk大小,转换成文件的Chunk索 引。然后,它把文件名和Chunk索引发送给Master节点。Master节点将相应的Chunk标识和副本的位置信息发还给客户端
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源客户端将这些元数据信息缓存一段时间,后续的操作将直接和Chunk服务器进行数据读写操作
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源必须减少对Master节点的读写,避免Master节点成为系统的瓶颈
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源单一的Master节点的策略大大简化了我们的设计。单一的Master节点可以通过全局的信息精确定位Chunk的位置以及进行复制决策
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Chunk服务器不需要缓存 文件数据的原因是,Chunk以本地文件的方式保存,Linux操作系统的文件系统缓存会把经常访问的数据缓存在内存中
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源客户端和Master节点的通信只获取元数据,所有的数据操作都是由客户端直接和Chunk服务器进行交互的
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master节点使用心跳信息周期地和每个Chunk服务器通讯,发送指令到各个Chunk服务器并接收Chunk服务器的状态信息
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master节点管理所有的文件系统元数据。这些元数据包括名字空间、访问控制信息、文件和Chunk的映射信息、以及当前Chunk的位置信息
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源出于可靠性的考虑,每个块都会复制到多个块服务器上
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Master服务器会给每个Chunk分配一个不变的、全球唯一的 64位的Chunk标识
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源多台 Chunk服务器,并且同时被多个客户端访问
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源一个GFS集群包含一个单独的Master节点
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源记录追加操作允许多个客户端同时对一个文件进行数据追 加操作,同时保证每个客户端的追加操作都是原子性的
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源快照以很低的成本创建一个文件或者目录树的拷贝
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源放松了对GFS一致性模型的要求,这样就减轻了文件系统对应用程 序的苛刻要求,大大简化了GFS的设计
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源对文件的随机写入操作在实际中几乎不存在。一旦写完之后,对文 件的操作就只有读,而且通常是按顺序读
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源设计的假设条件和参数,比如I/O操作和Block的尺寸都需要重新考虑
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源组件失效被认为是常态事件,而不是意外事件
谷歌三大核心技术(一)Google File System中文版 - MapReduce - 服务器软件 - 深度开源Routing Override Injection
Simplifying Developer Testing Through SLATE | Uber BlogCPU 通常不会成为性能瓶颈,瓶颈往往是内存和网络,因此单线程足够了。
Redis 多线程的学习和理解 - lxkaka延迟:服务请求的时间。 通讯量:监控当前系统的流量,用于衡量服务的容量需求。 错误:监控当前系统所有发生的错误请求,衡量当前系统错误发生的速率。 饱和度:衡量当前服务的饱和度。主要强调最能影响服务状态的受限制的资源。例如,如果系统主要受内存影响,那就主要关注系统的内存状态。
Prometheus Metric 的实践总结,搞定监控需注意~ - 运维派