
“标签化”思想在分布式系统中的应用
发布日期:2021-05-08 01:05:36
浏览次数:22
分类:精选文章
本文共 1010 字,大约阅读时间需要 3 分钟。
前言
最近一周在研究YRAN的Node-Label功能特性,进行了一个简单的测试,然后顺便看了它的原始设计文档。后来发现,这个特性跟HDFS里的异构存储原理有异曲同工之妙。其中都体现出的一个核心点:“标签化”。所以本文,笔者来聊聊“标签”在分布式系统领域内的应用,应用场景是绝对有的。
“标签化”的缘由
说到标签化,很明显,它其实间接表明了另一个现象:“差异化”。一个很简单的例子,一个班集体里面,总有几个同学,性格怪异,或性格活泼,热情,那这些同学,就会被大家在心里贴个标签:活泼的,性格古怪的等等类型。而对应到分布式系统领域,这种差异体现的层面就有很多方面了。比如存储这块,存储媒介的不同,SSD,普通磁盘,或是磁带。计算这块,就是大内存机型,高CPU核数机型等等。
当系统中有一些明显带有不同属性的个体出现时,当然有必要将它们标明出来,否则就会被当成普通个体了。被当成普通个体后,它的功效以及适用场景就会大打折扣了。所以我们需要将它们标签化。
“标签化”的作用(适用场景)
现在问题来了,到底“标签化”在分布式系统领域有什么用呢?换句更简单地说法,它有哪些适用场景呢?
第一,硬件资源隔离。在存有很多异构环境的集群内,可以有效的将这些资源区分出来,让系统知道,然后,在这些异构环境的节点上,只跑对应特点的任务。这个使用场景是比较普遍会容易想到的。
第二,任务层面的隔离。通过管理员主观的划分出标签,然后让任务提交到不同标签对应的资源上,从而保证不同用户的任务不会相互影响。这里其实是利用标签将系统资源进行了逻辑意义上的分隔。 第三,分片互斥的资源使用。相较于原始统一化的共享一整个资源来比,通过对系统资源打上标签,可以有很多种不同的使用方式。一个节点被一个标签独有或拥有多个标签属性。标签在这里在系统资源上进行了一层逻辑上的抽象,这样可以更高的提高系统资源的使用率。“标签化”过程如何在系统中执行
不论是在HDFS的异构存储功能中,还是在YARN的Node-Label中,标签化的核心实现思路大体上差异不大。归结起来是下面几个步骤:
- 管理员主动给系统资源打上标签,这些标签信息将会被主控制节点所记录。
- 用户提交应用(请求),设置特定的标签。
- 系统接收到标签任务(请求),将任务(操作)执行(作用)到对应标签的资源上。
这里注意一点,这里所有的标签还是需要人为设定的,而不是说系统很“聪明”地自己识别号了标签资源。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月12日 18时49分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
WinUI 3 Preview 3 发布了,再一次试试它的性能
2021-05-09
使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)
2021-05-09
List数组排序
2021-05-09
VMware vSphere 离线虚拟机安装 BIND 9
2021-05-09
dojo/request模块整体架构解析
2021-05-09
Javascript定时器学习笔记
2021-05-09
dojo的发展历史
2021-05-09
Python存储系统(Redis)
2021-05-09
C语言指针收藏
2021-05-09
C#搞个跨平台的桌面NES游戏模拟器
2021-05-09
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2021-05-09
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
根据轨迹分析出用户家在哪
2021-05-09
PostgreSQL查询表名称及表结构
2021-05-09
linux中使用awk命令
2021-05-09
如何使用google搜索?
2021-05-09
Redis分布式锁的正确实现方式
2021-05-09
设计模式-抽象工厂模式
2021-05-09
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
2021-05-09