Debian 爱好者社区 为您找到相关结果 434

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Workspaces) 越来越多的科公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。 因此,Yarn 增加了一个新特性 ——工作区。工作区可以自动从多个 package.json 中收集所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作区之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。 自动合并 yarn.lock 文件 (Auto-merging of lockfiles) 多个开发者在开发同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现冲突。如果只有一两个...阅读全文

博文 2017-09-19 14:43:15 debian.cn

谷歌是如何培养经理人的

Google Partners Podcast主持人Alex Langshur主持了一个播客节目,主题是关于谷歌HR如何寻找和培养优秀经理人。嘉宾是来自谷歌人力发展部门的Sarah Calderon,她在节目中介绍了谷歌是如何选择、培训和培养他们的经理人的。 Langshur引用了他的前上司的话,“一个优秀的经理人让一份艰难的工作变得具有挑战性和价值…而一个糟糕的经理人在一个好的岗位上表现平平,把一份艰难的工作搞得支离破碎”,以此强调选择正确经理人是多么重要。在访谈过程中,Sarah介绍了拥有7万名员工和数千名经理人的谷歌公司是如何选择、管理和培养经理人的。 Sarah概括了谷歌在培养经理人方面的五个要点: 表现优秀的员工不一定就是好的经理人,管理岗位所需要的能是不一样的。只是在某个领域...阅读全文

博文 2017-12-24 07:31:00 debian.cn

Linux 基金会与 RISC

、紫光展锐等公司也加入了RISC-V联盟,其中华米科今年9月份还宣布了基于RISC-V指令集的首款智能穿戴芯片黄山1号。 不过RISC-V前景虽好,但是现在还在起步阶段,包括RISC-V基金会本身的运作也需要向Linux基金会这样的成熟社区学习,所以这次合作对RISC-V阵营意义重大,Linux软件生态在RISC-V处理器的开发、优化、支持等方面都会推动RISC-V建立更强大的生态系统。...阅读全文

博文 2018-12-01 09:45:27 V 基金会合作推广开源芯片

在TKE上使用Kubecost进行成本管理

() × a.MemTotalCost() - CPU 的成本效率:cpuCostEff = a.CPUEfficiency() × a.CPUTotalCost() - **总成本效率**:totalEff=(MemCostEff + cpuCostEff) / (a.CPUTotalCost() + a.MemTotalCost()) ### 优化建议 在判断哪些业务需要优化以及如何优化成本结构,可以先查找 TOP 10 的某种资源浪费,例如资源的 Usage 和 Request 差别较大,可以根据应用监控画像给出推荐的 Request,最后计算出每种资源可节省的成本。 ### 评估经济学边际成本 关于节点自动扩容部分,可以衡量一个集群中每个节点,假设 CPU 和 Mem 每增加 1C1G,最终成本达到多少,是否会出现模...阅读全文

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

等可视化工具进行快捷导入。 四、部署 Nacos 这里我们部署 Nacos 集群模式,整体如下示意图,会在 Kubernetes 中创建一个 Service,该 Service 关联 Nacos 中的多个 Pod,一个 Pod 就是 Nacos 节点,Pod 之间通过该 Service 进行交互。最后我们会配置一个 NodePort 方式对外访问。当然,你如果你的 Kubernetes 集群已经部署了 Ingress Controller 则可以创建 Ingress 则对外提供访问。 ](https://imgchr.com/i/sH7vBF) 1、创建 RBAC 资源 nacos-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

译:Kubernetes 最佳实践

内存限制,则该进程将终止,因此在所有情况下都可能不适合设置此值。如果容器超过 CPU 限制,则进程会受到限制。使用 Deployment、DaemonSet、ReplicaSet 或者 StatefulSet 跨节点部署 Pod永远不应该直接使用 Pod 运行。相反,为了提高容错性,Pod 应该始终作为 Deployment、DaemonSet、ReplicaSet 或 StatefulSet 的一部分。然后可以在部署中使用反亲和性则跨节点部署 pod,以避免所有 pod 调度到同一个节点上运行,如果该节点发生故障可能会导致服务停止。使用多节点如果想提升容错性,在单个节点上运行 K8s 并不是一个好主意。集群中应该使用多个节点,以便可以在它们之间分散工作负载。使用基于角色的访问控制...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Debian的版本号及distributions

stable的前提下使用某些还处于testing distribution的package,这样就是一个stable/testing混合的系统了;这时如果只是在sources.list加入testing源,然后用apt-get install/upgrade而不加其他的选项是不会达到我们想要的效果的,因为这时apt系统为所有已安装的packages分配的优先级是100,为所有未安装的packages分配的优先级是500,然后应用下面的则来选择package的版本: Never downgrade unless the priority of an available version exceeds 1000. ("Downgrading" is installing a less recent...阅读全文

博文 2021-01-28 17:50:08 debian.cn

Systemd 及 Service 文件含义解析

在服务(service)而不是(target)上,所以上述的 httpd 所依赖的仅仅是一些 target,因而也就没有 Requires 和 Wants 出现。 [Service] 可选择几种不同的服务启动方式,启动方式通过Type参数进行设置。 * Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。 * Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程...阅读全文

博文 2021-02-17 10:02:50 joseph

Golang 应用集成 Prometheus 统计数据支持

Prometheus 客户端公开了在暴露服务指标时能够运用的四种指标类型。查看 Prometheus 的文档 以获得关于各种指标类型的深入信息。 Counter(计数器 一种累加的 metric,典型的应用如:请求的个数,结束的任务数,出现的错误数等。随着客户端不断请求,数值越来越大。例如api_http_requests_total{method="POST", handler="/messages"} Gauge(计量器) 一种常的 metric,典型的应用如:温度,运行的 goroutines 的个数。返回的数值会上下波动。 例如 go_goroutines{instance="172.17.0.2", job="Prometheus"} Histogram(分布图) 可以理解为柱状图,典型的应用如...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

协议介绍之深入了解 gRPC

HTTP/1.x 做过推送的同学,大概就知道有多么的痛苦,因为 HTTP/1.x 并没有推送机制。所以通常两种做法: Long polling 方式,也就是直接给 server 挂一个连接,等待一段时间(譬如 1 分钟),如果 server 有返回或者超时,则再次重新 poll。 Web-socket,通过 upgrade 机制显式的将这条 HTTP 连接变成裸的 TCP,进行双向交互。 相比 Long polling,笔者还是更喜欢 web-socket 一点,毕竟更加高效,只是 web-socket 后面的交互并不是传统意义上面的 HTTP 了。 Hello HTTP/2 虽然 HTTP/1.x 协议可能仍然是当今互联网运用最广泛的协议,但随着 Web 服务模的不断扩大,HTTP/1.x 越...阅读全文

博文 2017-06-22 11:08:48 debian.cn

如何在 Debian 下配置邮件服务器

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的围。 1.先决条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

博文 2021-01-28 17:50:22 debian.cn

Docker 17.06 社区版发布

的支持。可以将docker的/metrics端点暴露给插件: $ docker plugin install --grant-all-permissions cpuguy83/docker-metrics-plugin-test:latest $ curl http://127.0.0.1:19393/metrics 这个插件仅用于示。它在主机的网络上运行了一个反向代理,能将请求转发给插件中的本地的指标套接字。在真实场景中,可能会将收集的指标数据发送给外部的服务,或者使它可以被一个服务如Prometheus访问并收集。 注意尽管指标插件在非实验性的daemon中可以使用,指标标签(metrics label)仍应该被看作是实验性的,可能在Docker未来的版本中发生改动。 日志驱动插件 添...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一路径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管理工作,将这些公用配置从开发者手中分离出来,变成系统管理配置。PodPreset 是 Namespace 级别的对象,其作用围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Linux 系统 vim 编辑器使用简明教程

出插入模式) a //在当前光标位置的右边添加文本 i //在当前光标位置的左边添加文本 A //在当前行的末尾位置添加文本 I //在当前行的开始处添加文本(非空字符的行首) O //在当前行的上面新建一行 o //在当前行的下面新建一行 R //替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一行为一行(依然在命令模式) 三、移动光标(vi命令模式下使用) vi 可以直接用键盘上的光标来上下左右移动,但正的vi是用小写英文字母 h 、 j 、 k 、 l ,分别控制光标左、下、上、右移一格。 按 Ctrl+b :屏幕往后移动一页。 按 Ctrl+f :屏幕往前移动一页。 按 Ctrl+u :屏幕往后移动半页。 按 Ctrl+d :屏幕往前移动半页。 按数字 0 :移...阅读全文

博文 2015-07-25 16:33:04 debian.cn

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

博文 2021-01-28 17:50:18 debian.cn

十条关于 WordPress 安全性的小贴士

面的代码来删除该信息: remove_action('wp_head', 'wp_generator'); 9. 理智选择第三方插件和主题 WordPress 的插件和主题拥有着用户梦寐以求的功能。但一个不好的插件会影响性能、泄露隐私数据或授予使用者另一种访问方式。除非绝对必要,否则最好避免安装代码。而且在进行在线安装时,还要注意验证插件的真实性并在本地服务器上进行测试。 10. 定期更新 WordPress 和插件 WordPress 会自动更新,但主要版本需要一键激活过程。当然,在备份数据库和文件之后再更新。同样地,记得定期检查主题和插件的更新。 风险避应该在更新在线系统之前检测副本测试服务器上的更新。也就是说,WordPress 更新过程和向后兼容性很少引起问题。 还有其他快速和简单...阅读全文

博文 2021-01-28 17:50:29 debian.cn

如何在 Debian 上添加和删除用户

usermod的命令: usermod -aG sudo sammy 该-aG此选项告诉usermod将用户添加到上市集团。 使用 groups 命令来验证你的用户是现在的成员sudo组: sammy : sammy sudo 现在,您的新用户能够使用管理权限执行命令。 以新用户身份登录时,可以像常用户那样通过键入命令来执行命令: ls ~ 您可以通过键入执行具有管理权限的命令sudo在命令前: sudo ls /root 前缀时使用命令sudo ,会提示你输入密码。 输入该发出的命令, 而不是 root用户的密码的用户帐户的密码。 在/ etc / sudoers中指定显式用户权限 作为替代把你的用户Sudo组中,你可以使用visudo命令,它会打开一个名为的配置文件/etc/sudoers系统的缺...阅读全文

博文 2021-01-28 17:50:21 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

Querier–查询器处理PromQL的求值。如果是最近的数据,则从大块存储和或内部获取样本其他组件:Ruler–处理alertmanager产生的警报Alertmanager –评估警报则ConfigsAPI –在Postgres中存储Ruler和Alertmanager的配置Table Manager–负责在选定的块chunk/索引index存储后端中创建表Consul –存储分发服务器distributor生成的一致的哈希环(hash ring)。分发服务器在发送指标时使用散列值来选择ingester。与其他选项的异同ThanosThanos和Cortex具有非常相似的目标:聚合指标,将其存储在块存储中,并为所有度量使用一块single pane。因此,两个项目重用大量Prometheus代码也...阅读全文

博文 2021-10-09 17:00:22 知乎

Monit:开源服务器监控工具

>是文件的绝对路径。如果文件不存在,Monit将调用该条目的start方法(如果已定义),如果不指向常文件类型(例如目录),Monit将禁用此条目的监视。如果Monit在被动模式下运行或者没有定义start方法,Monit只会在错误时发送警报。 Fifo CHECK FIFO PATH 是fifo的绝对路径。如果fifo不存在,Monit将定义调用该条目的start方法,如果没有指向fifo类型(例如目录),Monit将禁用对该条目的监视。如果Monit在被动模式下运行或者没有定义start方法,Monit只会在错误时发送警报。 文件系统 CHECK FILESYSTEM PATH...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Kafka 3.0新特性全面曝光,真香!

导语 | kafka3.0的版本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka核心组件producer:消息生产者,就是向broker...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

Debian 10.8 发布:包括多项安全更新和错误修复

Debian 项目团队宣布其稳定发行版 Debian 10 (代号 "buster")的第八次更新。本次更新主要是对安全问题进行了修正,同时也对一些严重的问题进行了调整。安全公告已经单独发布,并在可用的地方进行了参考。 需要注意的是,这个点发行版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常位置提供。 将现有的安装升级到这个版本可以通过将软件包管理系统指向Debian的许多HTTP镜像之一...阅读全文

博文 2021-02-07 10:57:22 joseph

深入理解Golang之context

消当前timerCtx。WithTimeout与WithDeadline类似,WithTimeout也是创建一个定时取消的context,只不过WithDeadline是接收一个过期时间点,而WithTimeout接收一个相对当前时间的过期时长timeout:func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { return WithDeadline(parent, time.Now().Add(timeout)) } context的使用首先使用context实现文章开头done channel的例子来示一下如何更优雅实现协程间取消信号的同步:func main...阅读全文

博文 2021-01-27 09:05:27 知乎

成为Debian社区维护人需要做好的准备

Bug、回应用户请求),来使你的 sponsor 相信你已经有能力来处理好某个特定软件包,这样他们才会在接下来的申请流程中推荐你。 一些 sponsor 会在他们觉得合适时向你提议申请 DM,另外一些不会,作为新维护人员要在自己觉得差不多合适的情况下和 sponsor 进行沟通,听取他的意见看是否可以申请。 6. 申请 DM 前要让至少一位你 sponsor 之外的 DD 对你的 GPG 密钥进行数字签名,且密钥本身至少要 2048 RSA 或更强。签署密钥不需要对能的考察,其目的是确认每个密钥的控制者确实是他本人,从而构建 Web of Trust,因而任何人都可以参与到密钥签名活动当中。签名时一般需要双方在现实生活中见面,互相检查身份证或护照确认无误后,交换事先打印好的 GPG key...阅读全文

Linux下多线程程序为什么消耗大量虚拟内存

; getchar(); getchar(); pthread_create( &th, 0, thread_run, 0 ); while ( (getchar() ) ) { start = 1; } return(0); } 其运行结果如下图,刚开始时,进程占用虚拟内存14M,输入0,创建子线程,进程内存达到23M,这增加的10M是线程堆栈的大小(查看和设置线程堆栈大小可用ulimit -s),第一次输入1,程序分配1k内存,整个进程增加64M虚拟内存,之后再输入2,3,各再次分配1k,内存均不再变化。 这个结果让我欣喜若狂,由于以前学习过谷歌的Tcmalloc,其中每个线程都有自己的缓冲区来解决多线程内存分配的竞争,估计新版的glibc同样学习了这个巧,于是查看pmap $(pidof main...阅读全文

博文 2015-01-28 10:35:39 debian.cn

HTML 5.1 — 14 项新增特性及使用案例

片不需要向用户展示时,可以使用此特性。假如一个 img 元素还有其他用途而不仅仅是展示一个图片,例如,作为一个服务的一部分用来计算页面视图个数,在 width 和 height 属性中使用 0 数值。对于 0 宽度的图片,推荐使用空属性。 7. 校验表单 新的 reportValidity() 方法允许你校验一个表单和重置结果,并且在浏览器适合位置向用户报告错误。用户代理可以报告一个以上的限制则,假如单一元素同时遇到多个问题。对于这种情况,“密码”输入为必填内容但没有填,将会标识为错误。

Form validation

Enter details阅读全文

博文 2021-01-28 17:50:20 debian.cn

Gitlab CI 配置文件 .gitlab

不同的stages。jobs在相同的stage时会parallel同时进行。查阅stages更多的用法请查看stages。 only and except only和except是两个参数用分支策略来限制jobs构建: only定义哪些分支和标签的git项目将会被job执行。 except定义哪些分支和标签的git项目将不会被job执行。 下面是refs策略的使用则: only和except可同时使用。如果only和except在一个job配置中同时存在,则以only为准,跳过except(从下面示例中得出)。 only和except可以使用正则表达式。 only和except允许使用特殊的关键字:branches,tags和triggers。 only和except允许使用指定仓库地址但...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Gitlab CI 配置文件 .gitlab

this after my script coverage 注意:GitLab 8.17 中 引入。 coverage允许你配置代码覆盖率将会从该job中提取输出。 在这里正则表达式是唯一有效的值。因此,字符串的前后必须使用/包含来表明一个正确的正则表达式则。特殊字符串需要转义。 一个简单的例子: job1: coverage: '/Code coverage: \d+\.\d+/' Git Strategy GitLab 8.9中以试验性功能引入。将来的版本中可能改变或完全移除。GIT_STRATEGY要求GitLab Runner v1.7+。 你可以通过设置GIT_STRATEGY用于获取最新的代码,可以再全局variables或者是在单个job的variables模块中设置。如果没有设置...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

Apache Kafka发布 3.0 正式版

。此外,不要错过 Kafka Connect 任务重启增强、KStreams 基于时间戳同步的改进以及 MirrorMaker2 更灵活的配置选项。常变化KIP-750:弃用 Kafka 中对 Java 8 的支持在 3.0 中,Apache Kafka 项目的所有组件都已弃用对 Java 8 的支持。这将使用户有时间在下一个主要版本 (4.0) 之前进行调整,届时 Java 8 支持将被取消。KIP-751:弃用 Kafka 中对 Scala 2.12 的支持对 Scala 2.12 的支持在 Apache Kafka 3.0 中也已弃用。与 Java 8 一样,我们给用户时间来适应,因为计划在下一个主要版本 (4.0) 中删除对 Scala 2.12 的支持。Kafka 代理、生产者、消...阅读全文

博文 2021-09-26 14:13:03 joseph

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

"> 注意输出格式中的 %M() 一行,这里意味着在打印日志的时候,需要打印当前日志所在执行的方法,这样看来,这个操作严重影响到了性能。 9.3 日志配置则去除方法名 修改一下日志 append 格式,去掉方法输出,处理速率一下子就达到了7万多。 采用上文中的方法继续使用 async-profiler 生成火焰图,并用浏览器打开。这时候,日志 append 操作所占用的横轴长度显著下降,并且此时速度已经达到了关闭日志append 时的速度,说明修改日志输出格式后能够带来...阅读全文

博文 2022-03-11 10:05:09 博客园

Kafka生产问题总结以及性能优化

一 Kafka可视化管理工具kafka-manager 安装及基本使用可参考:https://www.cnblogs.com/dadonggg/p/8205302.html 二 线上环境划 JVM参数设置 kafka是scala语言开发,运行在JVM上,需要对JVM参数合理设置,参看JVM调优专题 修改bin/kafka-start-server.sh中的jvm设置,假设机器是32G内存,可以如下设置: export KAFKA_HEAP_OPTS="-Xmx16G -Xms16G -Xmn10G -XX:MetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M" 这种大内存的情况一般...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

DPDK Graph Pipeline 框架简介与实现原理

。 init 函数的一些实际可以是配置路由表、定义 ACL 则等。 Node 的注册 node 的注册是通过 contructor scheme 的 (attribute((constructor)))来完成的。下面显示了一个非常简单的 node 注册示例。需要强调的是: .process 的函数定义突出了向量数据包处理的概念 (需要处理的报文 (**objs) 及其数量 (nb_objs))。 /** * @param objs * Pointer to an array of objects to be processed. * @param nb_objs * Number of objects in the array. * */ /* This hello world node...阅读全文

博文 2023-02-09 07:13:55 掘金

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

据信息。 3. HDFS的特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 1. master/slave 架构(主从架构) HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。 2. 分块存储 HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来定,默认大小在 hadoop2.x 版本中是 128M。 3. 名字空间...阅读全文