首页 > 其他分享 >cls初探

cls初探

时间:2023-02-03 16:34:15浏览次数:56  
标签:ceph methods Ceph classes 初探 OSD cls

什么是cls

cls对应ceph原文件中的 src/cls 目录,在官方文档EXTENDING CEPH中有对这个概念作出介绍:

You can extend Ceph by creating shared object classes called ‘Ceph Classes’. Ceph loads .so classes stored in the osd class dir directory dynamically (i.e., $libdir/rados-classes by default). When you implement a class, you can create new object methods that have the ability to call the native methods in the Ceph Object Store, or other class methods you incorporate via libraries or create yourself.

cls的作用

简单的说,就是ceph通过 cls 让 OSD 可以动态加载模块(so),使得ceph的原生应用(RBD、RADOSGW等)能够在OSD侧实现一些逻辑。

这样做有什么好处??

  1. 灵活,我们可以通过cls来实现自己的op,而不用修改OSD的代码

    其实也不灵活,毕竟实现cls模块需要对OSD代码上下文和编程方式有一定了解。

  2. 性能,基于此,我们可以避免一次多余的网络数据传输。

    比如我们需要计算一个对象的md5, 按照正常的流程需要从OSD读取数据 到客户端,然后客户端计算MD5, 现在直接在OSD侧就能完成MD5计算,只需要将计算结果返回客户端即可。

标签:ceph,methods,Ceph,classes,初探,OSD,cls
From: https://www.cnblogs.com/liutimo/p/17089695.html

相关文章

  • 一文初探 Goroutine 与 channel
    耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,本文介绍的内容是​​Go​​​并发模块的两个重要角色→​​goroutine​​​与​​channel​​​。如果本文对你有帮......
  • 借助Radamsa变异数据(初探)
    Radamsa介绍Radamsa是一款测试用例生成器,通常用来测试程序对格式错误和潜在恶意输入的承受能力(对程序进行模糊测试)。它通过你的输入来返回变异后的数据。它的主要卖点是,......
  • SCA技术进阶系列(一):SBOM应用实践初探
    现代软件都是组装的而非纯自研。随着开源组件在数字化应用中的使用比例越来越高,混源开发已成为当前业内主流开发方式。开源组件的引入虽然加快了软件开发效率,但同时将开源安......
  • 应用部署初探:3个主要阶段、4种常见模式
    应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响......
  • 应用部署初探:3个主要阶段、4种常见模式
    应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响该......
  • xenomai初探
    Xenomai定义一个realtime的系统需要保证其工作在给定的时间限制之内完成。系统不需要以最快的速度完成任务,但是需要在指定的定时时间范围内完成。在这个前提条件下,realt......
  • 初探富文本之OT协同实例
    初探富文本之OT协同实例在前边初探富文本之OT协同算法一文中我们探讨了为什么需要协同、为什么仅有原子化的操作并不能实现协同、为什么要有操作变换、如何进行操作变换、......
  • 竞赛图初探 || CF1779E Anya's Simultaneous Exhibition - 竞赛图 - 交互 -
    题目链接:https://codeforces.com/contest/1779/problem/E题解:将一个完全图的每条边定向,构成的有向图叫做竞赛图也很好理解,\(n\)个人两两比赛,肯定有胜有负,赢家向负者连......
  • 初探attention—attention原理和代码详解
    attention在正式开始探索attention之前,首先了解一下seq2seq。循环神经网络只能将一个序列信号转换为定长输出,但Seq2Seq可以实现一个序列信号转化成一个不定长的序列输出,因......
  • 手写笔记23:初探JUC并发编程
     ......