前言


最近一周在研究YRAN的Node-Label功能特性,进行了一个简单的测试,然后顺便看了它的原始设计文档。后来发现,这个特性跟HDFS里的异构存储原理有异曲同工之妙。其中都体现出的一个核心点:“标签化”。所以本文,笔者来聊聊“标签”在分布式系统领域内的应用,应用场景是绝对有的。

“标签化”的缘由

说到标签化,很明显,它其实间接表明了另一个现象:“差异化”。一个很简单的例子,一个班集体里面,总有几个同学,性格怪异,或性格活泼,热情,那这些同学,就会被大家在心里贴个标签:活泼的,性格古怪的等等类型。而对应到分布式系统领域,这种差异体现的层面就有很多方面了。比如存储这块,存储媒介的不同,SSD,普通磁盘,或是磁带。计算这块,就是大内存机型,高CPU核数机型等等。

当系统中有一些明显带有不同属性的个体出现时,当然有必要将它们标明出来,否则就会被当成普通个体了。被当成普通个体后,它的功效以及适用场景就会大打折扣了。所以我们需要将它们标签化。

“标签化”的作用(适用场景)


现在问题来了,到底“标签化”在分布式系统领域有什么用呢?换句更简单地说法,它有哪些适用场景呢?

第一,硬件资源隔离。在存有很多异构环境的集群内,可以有效的将这些资源区分出来,让系统知道,然后,在这些异构环境的节点上,只跑对应特点的任务。这个使用场景是比较普遍会容易想到的。
第二,任务层面的隔离。通过管理员主观的划分出标签,然后让任务提交到不同标签对应的资源上,从而保证不同用户的任务不会相互影响。这里其实是利用标签将系统资源进行了逻辑意义上的分隔。
第三,分片互斥的资源使用。相较于原始统一化的共享一整个资源来比,通过对系统资源打上标签,可以有很多种不同的使用方式。一个节点被一个标签独有或拥有多个标签属性。标签在这里在系统资源上进行了一层逻辑上的抽象,这样可以更高的提高系统资源的使用率。

“标签化”过程如何在系统中执行


不论是在HDFS的异构存储功能中,还是在YARN的Node-Label中,标签化的核心实现思路大体上差异不大。归结起来是下面几个步骤:

  • 管理员主动给系统资源打上标签,这些标签信息将会被主控制节点所记录。
  • 用户提交应用(请求),设置特定的标签。
  • 系统接收到标签任务(请求),将任务(操作)执行(作用)到对应标签的资源上。

这里注意一点,这里所有的标签还是需要人为设定的,而不是说系统很“聪明”地自己识别号了标签资源。

“标签化”思想在分布式系统中的应用相关推荐

  1. 浅论服务端应用程序开发中的CAP思想(非分布式系统中的CAP理论)

    本文从属于笔者的<服务端应用程序结构风格变迁之路> CAP理论是分布式系统构建中的基础理论之一,其中的C(Consistency),一致性即指所有的节点都能访问同一份最新的数据副本.A(A ...

  2. 柯里化思想--JS中的预处理机制

    2019独角兽企业重金招聘Python工程师标准>>> 柯里化思想:就是预处理机制 利用函数执行,可以形成一个"不销毁的私有作用域的原理", 把需要预先处理的内容 ...

  3. Java中的池化思想

    池化思想 一:背景介绍 二:什么是池化思想 三:池化的优势利弊 3.1 优点 3.2 缺点 四:编程中池化思想的体现 五:具体示例 5.1 数据库连接池示例 5.1.2 ConnectionPool类 ...

  4. 分布式系统:一致性hash算法 在分布式系统中的应用

    前段时间在了解分布式,发现firefoxbug在博客中写的这篇<一致性hash在分布式系统中的应用>对这个问题说明得比较清晰易懂,本文主要是自己的理解和实践. 在后端一般会遇到这样的场景: ...

  5. redis实现轮询算法_白话分布式系统中的一致性哈希算法

    本文首发于:白话分布式系统中的一致性哈希算法 微信公众号:后端技术指南针 持续输出干货 欢迎关注! 通过本文将了解到以下内容:分布式系统的概念和作用 分布式系统常用负责均衡策略 普通哈希取模策略优缺点 ...

  6. 分布式系统中的一致性hash

    转载来源: https://zhuanlan.zhihu.com/p/92742908 通过本文将了解到以下内容: 分布式系统的概念和作用 分布式系统常用负责均衡策略 普通哈希取模策略优缺点 一致性哈 ...

  7. 组件化思想+Vue路由_day09

    1.组件化思想 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件就可以了 1.1组件化步骤 组件化步骤: 1 ...

  8. 在分布式系统中使用 DDD

    在使用 DDD 的思想时,最让人迷惑的就是如何组织代码,也就是通常所说的系统架构的问题.在前面提到 DDD 可以很好地指导代码组织,其中举了两个例子,单体和微服务架构下 DDD 如何指导代码的组织方式 ...

  9. 分布式系统中的FLP不可能原理、CAP理论与BASE理论

    前言 分布式系统是由多个不同的服务节点组成,节点与节点之间通过消息传递进行通信和协调.根据消息传递的不同,分布式系统的运行模型可以分为异步模型系统 和同步模型系统. 1.同步与异步 同步和异步关注的是 ...

最新文章

  1. [转载]C#模拟键盘鼠标事件-SendKeys
  2. Winforms-GePlugin-Control-library
  3. js面向对象和继承的碎碎念
  4. php判断目录是否有写的权限,php中判断文件空目录是否有读写权限的函数代码_php技巧...
  5. selenium.common.exceptions.WebDriverException:no such session
  6. 由已打开的文件读取数据---read
  7. android listpreference 自定义,Android中Fragmen首选项使用自定义的ListPreference的方法
  8. 牛腩新闻发布系统—403.14错误
  9. mqtt客户端c语言开发
  10. 2020switch电信最快的dns_求教电信宽带switch用哪个dns快
  11. CDN是什么?CDN有哪些用处?
  12. 【包邮送书活动】20210928期-开奖通知
  13. 【C++】实现一个日期计算器
  14. python3使用staf问题_转载—越来越强大的SAFS/STAF/STAX自动化测试框架
  15. 装甲逆袭-NPC移动处理
  16. FIT2CLOUD飞致云发布开源轻量级云管平台CloudExplorer Lite
  17. 3D艺术家推荐——4款最佳3D建模软件
  18. java qq聊天界面_【附源码】用Java写了一个类QQ界面聊天小项目,可在线聊天!...
  19. Docker神器之迅雷远程下载(群辉 Linux)
  20. 如何让电脑同时连接内外网?

热门文章

  1. 简单实现敏感词过滤功能
  2. 深入浅出搞懂网络的五层协议
  3. 白名单模板_solidworks打开stp显示默认模板无效?如何解决!
  4. Android实现新闻列表
  5. Android————一个简单的新闻面板
  6. Mac 系统下VisualVM的安装
  7. MCU 微控制器,在实际项目中如何选型(以 STM32为例)
  8. 软件测试常见面试题一(功能测试,接口测试)
  9. 关于小区物业自治方案的探讨
  10. Android中播放本地SD卡中歌曲需要的添加的权限