InfraPub 为您找到相关结果 592

Docker CE 19.03 正式发布 无需root权限

Docker CE 19.03 和 EE 3.0 都已经发布,19.03 主要内容包括无需 root 权限、支持 GPU 的增强功能和 CLI 插件更新等等,19.03 现在是允许非 root 用户运行守护程序,启用 Rootless 模式可以防止攻击者夺取主的 root 权限,即使 Docker 存在漏洞或设置错误。 更新内容如下: Builder 增加了内联缓存支持 –cache-from docker/engine#215允许输出配置 moby/moby#38898固定的 GCR 变通令牌缓存 docker/engine#212下载错误时调用 stopprogress docker/engine#215Buildkit 现在使用 systemd 的 resolv.conf...阅读全文

博文 2019-07-24 21:30:05 debian.cn

Go 泛型草案更新,明年8月Go 1.17引入

会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行重大更改,那么下一步将是正式的语言变更提案。 为了保证符合预期,如果每个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

Linux”。同时,这一发行版既模块化又针对现代器进行优化。 更具体地说,Serpent 将会是一个“真正现代化的 Linux 发行版”(A Truly Modern Linux Distribution),它将采用发行优先、兼容性更高的设计决策。同时还将把过去十年左右的时间里更明智的设计改进纳入 Linux 发行版设计中: 不再拆分 usrbin整个过程均采用 100% 的 clang 编写(包括内核)musl 作为 libc,依靠编译器优化而不是内联 asmlibc++ 代替 libstdc++LLVM 的 binutils 的变种(lld、as等)混合源/二进制分发从x86_64-generic通用基线转向新的 CPU,包括针对 Intel 和 AMD 的优化程序包管理器中基于功能的订阅(硬...阅读全文

博文 2020-07-12 09:08:23 debian.cn

总结系统设计中的33个黄金法则

Refer to https://www.linkedin.com/pulse/system-design-rules-navneet-kumar-p6n7f/ 系统设计很复杂,它需要设计者有深厚的计算知识和专业知识,没有一种通用的设计可以适应所有业务场景。尽管如此,还是有一些比较通用的规则可以供你设计系统时参考,也能帮助你在面试中摆脱困境。 1. 对于数据密集型系统 — 考虑使用缓存。 2. 对于写入量大的系统 — 使用消息队列进行异步处理 3. 对于低延迟要求 — 考虑使用缓存和 CDN。 4. 需要𝐀原子性、𝐂一致性、𝐈隔离性、𝐃耐用性兼容数据库 — 选择 RDBMS/SQL 数据库。 5. 对于非结构化数据——可以选择NoSQL...阅读全文

岗位需求: CTO

工作规范和工作流程,并跟踪开发过程实际合规性; 8. 指导. 审核项目总体技术方案,对各项目进行最后的质量评估; 9. 负责技术团队建设和管理,注重人才培养和营造创新的研发文化; 10. 完成各项技术工作相关数据统计分析报告,并据此对公司发展提出合理化建议。 ** 岗位要求:** 1. 本科及以上学历,计算. 软件工程相关专业,互联网行业优先考虑; 2. 10年及以上技术研发. 软件开发相关行业工作经验,5年以上互联网行业技术研发团队管理经验, 精通基于Java. PHP等语言的开发,熟悉服务端软件架构设计与开发流程;有互联网CTO或技术总监工作经验,带过百人以上团队; 3. 熟悉互联网领域业务,深刻理解产业发展方向,具备敏锐准确的洞察力和缜密的逻...阅读全文

Kubernetes调度算法浅析

etcd数据库中。kube-scheduler通过api-server查看有哪些可用的pod。kube-scheduler通过一组算法过滤掉一部分不可用的pod或者node节点。kube-scheduler再通过更加严格的打分制对所有的可用pod进行打分。通过打分选出分数最高的pod,并将pod进行绑定之后存储在etcd中。node节点的kubelet接收到api-server指令进行pod创建。 kube-scheduler的预选(过滤)规则 kube-scheduler首先通过以下规则对所有node节点或者pod进行初步的过滤。 kube-scheduler的优选(打分)规则 在经过重重过滤之后,剩下的都是K8S集群可用的pod和node节点。之后kube-scheduler会根据另一套规则...阅读全文

博文 2020-12-20 11:01:10 debian.cn

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

工作负载。 测试环境以及测试器配置: 首先通过使用 Java 2D 基准测试对 Java 图形管道的性能进行压测,可以看到文本渲染性能一直稳步提升,直到第 12 版达到最高点,然后逐渐下降为目前 13 和 14 的水平,与 OpenJDK 8 比较相似。 而在 Java 2D 的图像渲染性能方面,它们的水平基本保持一致,但是 OpenJDK 14 以微弱的的性能优势成为了最好性能的那个。 这里还测试了使用矢量图形的渲染效果,水平基本保持一致。 通过进行非常基本的 Java SciMark 微基准测试,可以看到 OpenJDK 8 目前为止是最快的,并且自 OpenJDK 9 至 14 以来,性能基本上持平。OpenJDK 的运行速度约为 OpenJDK 8 的 88%。 通过使用 Java...阅读全文

博文 2020-03-22 08:46:01 debian.cn

企业制定开源战略的免费指南

大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

Linux 5.11窗口合并期今天结束 引入大量新特性

持,图形驱动中的异步翻页,用于缓解射频干扰的新 "RFIM "驱动,围绕Rocket Lake和Alder Lake的新设备ID,WiFi驱动内的WiFi 6GHz频段支持,以及其他工作。 在 AMD 方面,主要围绕着改进电源管理和传感器处理,CPU 帧率频率不变性支持(虽然与 Schedutil 在一些系统上处于糟糕的状态),AMD 传感器融合枢纽驱动程序终于被合并,以支持Ryzen笔记本电脑上的传感器功能,以及其他各种改进。 Linux 5.11 还为不知名的设备提供了新的硬件支持,从失败的 OUYA 游戏到 Guitar Hero Live PS3 / Wii U 扩展坞。 改进内容如下: 处理器: - 经历了 40 多轮的代码审查之后终于整合了 Intel SGX enclaves...阅读全文

博文 2020-12-28 10:14:35 debian.cn

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

Kubernetes 1.16.0发布 新版本四大主题

Kubernetes v1.16.0 已经发布,该版本由 31 个增强功能组成:8 个进入稳定,8 个进入 Beta,15 个进入 Alpha。 四大主题如下: Custom resources:CRD 是对 Kubernetes 的扩展,用以服务于新的资源类型,自 1.7 版本以来,CRD 已经在 Beta 版中可用。在 1.16 版本中,CRD 正式步入通用可用性(GA)Admission webhook:Admission webhooks 作为 Kubernetes 扩展制被广泛使用,并且自 1.9 版本以来已经在 Beta 版中可用。在 1.16 版本中,Admission webhook 也正式步入通用可用性(GA)Overhauled metrics:Kubernetes...阅读全文

博文 2019-09-20 13:28:32 debian.cn

历数2017年五大Linux痛点

统的消失 许多用户都在哀叹他们最喜爱的发行版和软件项目中不再支持32位操作系统。越来越少的产品继续支持32位平台,这将会带来市场份额的降低和用户的流失。幸运的是,我们谈论的是开源,所以只要有人还在关心32位平台,你至少会有几个32位系统可选择。 5.不支持X-forwarding 很多长期用户经常使用X-forwarding,并将其看作一个关键功能。但随着Linux有越来越多的人使用,其对于X-forwarding的测试和支持有所减少,尤其是新应用程序。随着网络的透明度不断发展,情况可能会在好转之前变得更糟。 与去年相比有哪些变化 ·视频(特别是加速器加速;最新的视频卡;专用驱动程序;高效的电源管理) ·蓝牙支持,特定的wifi芯片和打印,电源管理以及暂停/恢复,对许多用户来说仍然是麻烦的...阅读全文

博文 2017-11-25 12:27:56 debian.cn

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

存驱动、数码相和 MP3 播放器中使用最为充分,你平时用这些电子产品的时候,多半就使用到了 exFAT 技术。 另一方面,在 19.10 版本中引入的 ZFS 作为根目录的支持会进一步得到改进,但是,它将保持实验状态。 关于 ZFS 的争论近期也因为 Linus Torvalds 的参与而白热化,他在某个论坛上讨论关于内核的相关问题时,提到了 ZFS 并表明了自己的态度,在 Oracle 对 ZFS 的代码进行重新授权以使其能更友好地被引入到 Linux 内核主线之前,他不会推荐使用 ZFS,同时,即便抛开许可证的原因,Linus 也觉得 ZFS 的综合性能并不特别强。随后有人公开宣称 Linus 不懂 ZFS。 此外,20.04 其它增强功能包括: GNOME 从 v3.34 升级到...阅读全文

博文 2020-01-27 09:36:30 debian.cn

2017年的Linux内核防护依然脆弱

,RedHat 网站上所谓的 "Under Investigation" 只是继续等待 Linux 主线内核的修复,或许要让 Linux 内核安全有所改善我们需要更多的 stack clash 和 DirtyCow 持续曝光。 因为利益的关系,Linux 基金会对自由软件社区和 GPL 已经非常不友好,虽然 Greg K-Hartman 一直强调 Linux 基金会是一个非盈利组织,但一个 NGO 的 CEO 为什么有高达 49 万美金(2014 财年)的年薪,也没人知道为什么 Greg 本人会有 Google 的邮箱(拿 Linux 基金会和 Google 双薪水?),Linux 内核本来有一次改善安全的会,可惜 Linux 基金会的市场 PR 需求搞砸了整件事。HardenedLinux 社区在这...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

博文 2018-12-31 20:44:06 debian.cn

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

,使用了很多叫做arena的memory pool,缺省配置在64bit下面是每一个arena为64M,一个进程可以最多有 cores * 8个arena。假设你的器是4核的,那么最多可以有4 * 8 = 32个arena,也就是使用32 * 64 = 2048M内存。 当然你也可以通过设置环境变量来改变arena的数量.例如 export MALLOC_ARENA_MAX=1 hadoop推荐把这个值设置为4。当然了,既然是多核的器,而arena的引进是为了解决多线程内存分配竞争的问题,那么设置为cpu核的数量估计也是一个不错的选择。设置这个值以后最好能对你的程序做一下压力测试,用以看看改变arena的数量是否会对程序的性能有影响。 mallopt(M_ARENA_MAX, xxx)如果...阅读全文

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

SVN切换分支用法汇总

一、SVN切换分支操作介绍SVN(Subversion,下文简称SVN)是一种版本控制系统,它提供了一系列的命令行工具来管理源代码。在代码的开发过程中,可能会需要更改当前工作目录下所处的分支。SVN提供了switch命令供用户进行分支切换操作,该命令只修改当前工作目录下原本的模块链接并不会真的修改目标URL中的版本库。在SVN中,一个版本库可能会有多个分支,我们可以通过checkout命令来创建这些分支,也可以使用branches工具来进行分支的删除、移动、查看等,这些工具都是由SVN提供的。SVN提供了非常完善的分支管理制,让我们可以方便地在开发过程中,随时随地地更换所处的分支。二、SVN切换分支常用命令及其参数介绍切换分支是SVN的基本操作之一,下面是一些常用的命令及其参数。大家可以...阅读全文

博文 2023-06-09 14:22:35 infras

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF 代码;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过程: 以字节码的形式创建...阅读全文

博文 2020-08-16 11:08:44 debian.cn

分布式运行时 Dapr 知多少

了答案。 从单到分布式,是追求更快和更高的性能,但也带来了更多的不确定性。比如,不确定计算何时异常,不确定磁盘何时损坏,不确定网络通信的延迟,也不确定消息是否被正常消费。这些不确定性构成了分布式应用的挑战,简而言之: 异构的器与网络:稳定性问题普遍的节点故障:可靠性问题不可靠的网络:一致性问题 面对这些挑战,业界提出了诸多的分布式理论、协议,如CAP定理,BASE理论,一致性协议2PC/3PC/ZAB,来保证系统的正常运行。虽然问题貌似是有了解决方案,但是应用的复杂度升高了。应用除了需要实现业务需求,还要兼顾非业务需求,集成诸如服务发现、负载均衡、失效转移、动态扩容、数据分片、调用链路监控等分布式系统的核心功能,对应用有很强的侵入性,这就是以Spring Cloud为代表的微服务框架的...阅读全文

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

本文记录如何从 Debian 安装 Proxmox VE,以及配置 IPv4 和 IPv6 网卡,为硬盘分区。 预配置系统装好后,从 NOCIX 后台面板取得 登陆用户名 和 密码。 用户名是 customer密码是一串随生成的字符串 使用 su 切换到 root 还需要输入密码,这样频繁操作比较麻烦。 免密登陆 root安装 sudo 实现免密 su 12apt updateapt install -y sudo 修改 /etc/sudoers 文件注意:只能用 visudo 交互式来修改 sudoers 文件 这是为了防止被脚本修改,就别想用 echo 来改了 visudo 会验证配置的格式,如果不验证,而你写的配置有问题,那么你无法切换到 root,而只有 root 用户才能修改...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

Linux:为什么那么多人讨厌 Systemd

Systemd在Linux社区引起了无限争议。一些Linux用户对systemd的反对绝不屈从,还有一些Linux用户对systemd喜爱有加,还有很多人满不在乎。近日,关于systemd的话题又出现在社区中,很多人分享了自己的想法。一时兴起,笔者梳理了几个比较经典的回答。 为什么不喜欢systemd? 不断地听到很多人抱怨systemd有多么不好,但它还是被极大地普及了,并且我在网上所读到的很多文章都在介绍systemd的好处,比如更快的启动时间和更完善的日志记录,据说过去在fedora-13上开速度测试,upstart是27秒,而systemd仅用了24秒。 有人认为unix是做一件事,就把它做好,而systemd则是把pid 1扩张到最大化。这可能是很多人讨厌systemd的重大原...阅读全文

红帽 2017 峰会 第三天回顾:自动化的未来

Insights这次在Paul Cormier的主题演讲里小小的露了一下脸,不过场下的很多场合都有不同红帽项目的负责人提及该项目。Insights可以视为一个基础设施监控平台,它自动采集并分析服务运行数据,以提供问题预测(而不仅仅是报警)的能力。由于该产品中使用了器学习技术,因此也有人形容Insights是红帽的AI服务(虽然官方说明中并未提及)。 Red Hat Insights产品发布于2016年,目前已经与红帽Linux发行版RHEL、OpenStack发行版RDO、虚拟化产品RHEV、OpenShift、安全监控与打补丁产品Satellite、跨云管理平台CloudForms、以及上述自动化平台Ansible进行了集成。 就笔者看来,也许未来每个红帽产品都会被要求实现下述三个方面的集成: 可用容...阅读全文

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

Debian 社区陷入尴尬 或群龙无首

介绍,这似乎可以理解为现在迟迟没有人愿意竞选领导人的主要原因。 再加上开发流程迟缓等问题,如果今年的领导人选举直到 Chris 卸任都没有结果出现,那么 Debian 更是岌岌可危。 信奉“Debian 大法好”的开发者们,拯救组织的会就摆在眼前,快去参与竞选吧。动荡让我们快速成长。...阅读全文

博文 2019-03-14 11:05:23 debian.cn

3个 Linux 命令让你看起来很忙:摸鱼的技巧

。它播放的序列由你决定,但默认情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检查得太仔细,你就可以花整个下午的时间等待电脑完成进度条。 Genact 有 linux、os x 和 Windows 版本,Rust 源码可以在 github 上找到。 Hollywood Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。 Hollywood 的源代码可...阅读全文

博文 2019-09-28 15:48:43 debian.cn

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

-masquerade-agent)(RFC-1918),使用户可以在私有IP范围内创建集群并访问资源;服务可通过内部负载均衡(Internal Load Balancers)暴露,这是以Beta版提供的,允许Kubernetes和非Kubernetes服务在私有网络上相互访问(虽然当前通过Cloud VPN访问内部负载均衡的功能依然处于Alpha版);GKE现在支持在Alpha Clusters中运行NVIDIA K80 GPUs,该特性使得用户可以实验器学习算法;自动修复,当前是Beta版。它通过对不健康节点进行主动监控,并在无需用户参与的情况下对节点做自动修复,保持了集群的健康运行;一些GCP优化的改进,用于简化集群从底层架构层上做自动扩展。 在Kubernetes博客及GitHub的...阅读全文

博文 2017-07-19 12:23:15 debian.cn

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

JDK 11 版本时间表公布

最近有一些关于新版本发布周期的讨论。 Thymeleaf 的创始人兼首席开发人员 Daniel Fernández 最近发推文: 2016 年:“Java 命中注定!它发展得如此之慢!每一个好想法都需要很长时间才能实现!” 2018 年:“Java 命中注定!它发展得太快了!没有人能跟得上!” 对 Fernández 的推文有一些有趣的回应,包括: “Kotlin?” “2020 年将会发生什么?Java 命中注定!没有它,我就无法过好我的生活!Java 在我家里随处可见,这个小咖啡杯究竟有什么威力,为什么它可以控制我的家,包括我的身体。” “Java 命中注定,因为他们专注于完整性而不是简单性。” “我们从中得到的教训是,变化不如过渡本身那么重要……事实上,这似乎是人生和计算科学中一再出...阅读全文

博文 2018-04-27 08:33:08 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的组件 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模式,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方式来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统计信息),但每个监控系统都希望其收集的监控数据具有一致且统...阅读全文

博文 2021-08-20 11:45:32 博客园

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

DPDK 全称为 Data Plane Development Kit ,是近年来在高速网络通信行业中炙可热的一种网络报文处理加速框架。DPDK 从十年前诞生直至发展到今天已经可以支持业界主流的高端网卡以及各类加速硬件设备,同时也支持主流的各个CPU 体系结构(可以运行于 X86, Arm, Power 等平台)。同时也可以运行于 Linux/FreeBsd/Windows 等主流操作系统之上。DPDK因为其优异的性能指标被广泛的应用于网关/负载均衡/SDN/虚拟交换的各个场景。 本文主要介绍 DPDK 中的 libgraph 设计思想以及实现,libgraph 的设计思想源自于开源项目 Vector Packet Processor(VPP)。VPP 中的向量包处理优化方案是...阅读全文

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

21款必不可少的Ubuntu桌面应用程序

. Etcher USB映像刻录器 如果你经常试用新的Linux发行版,就知道拥有一款可靠、易于使用的映像刻录器有多重要――Etcher就是这样一款映像刻录器。 它是一款完全开源的应用程序,由Resin.io的人员开发。简单的界面让你可以轻松完成将ISO或IMG映像文件刻录到USB或SD卡的过程。 你可以从Etcher官方网站下载这款应用程序的最新Linux版本。 11. Atom文本编辑器 虽然它不是Linux上唯一可选择的文本编辑器(有好多文本编辑器),但是Github的Atom无疑是比较受欢迎的选择之一。 作为一款开源文本编辑器,Atom让你能够定制它的几乎每一项功能,可以动定制,也可以通过安装其他Atom用户开发的程序包、插件和主题来定制。 你可以从其在Github的项目页面下载最新版本的...阅读全文

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

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

发的全链路影子库路由组件借助了 OpenTracing 随行数据透传制,且与监控组件是强耦合关系,而基础框架将统筹监控,压测和其他模块,借助Spring Boot Starter 制,一定程度上做到了功能的开箱即用,无缝集成。而使用字节码增强方式的 Pinpoint, SkyWalking,无法很好地做到与基础框架集成,若并行开发,也会多出基础框架与 Java Agent 两边的管理和维护成本,减缓迭代速度。 在之后将近两年的时间里,应用服务监控覆盖了得物技术部使用的将近 70% 的组件,为得物App在 2021 年实现全年 99.97% 的 SLA 提供了强有力的支持。现在看来,基于 OpenTracing + Prometheus 生态,很好地解决了分布式系统的调用链监控,借助...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

Python的闭包和装饰器

定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由变量 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文

博文 2014-07-23 17:06:38 debian.cn

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

您应该知道如何在一个新鲜的Linux服务器上执行的最基本的任务之一是添加和删除用户。当您创建一个新的系统,你往往只能给出默认root帐户。 虽然运行在root用户提供了大量的功能和灵活性,这也是危险的,可能是破坏性的。添加一个额外的,无特权的用户来执行常见任务几乎总是一个更好的主意。然后,您应为系统上可能有的任何其他用户创建其他帐户。 您仍然可以获取管理员权限,当你需要他们通过一个名为制sudo 。 在本教程中,您将学习如何创建用户帐户,分配sudo特权,和删除用户。 如何添加用户 如果您作为root用户登录,您可以创建在通过键入任何时候一个新的用户: adduser sammy 如果要在谁被赋予了非root用户登录, sudo特权,因为在证明初始服务器设置向导 ,您可以添加通过键入新用...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

在这个互联网时代,游戏、电影、照片等数据越来越大,硬盘容量将会面临着前所未有的挑战。虽然传统的械硬盘可以解决容量问题,但是速度太慢,体验糟糕,并不是最优的个人存储解决方案。我们渴求大容量的SSD,不过超过TB大容量SSD动不动就几千元的售价,对于支付能力有限用户实际上没有意义。SSD的成本主要来源于闪存,在TLC闪存能够实现TB容量可惜价格未能降下来。只有不断开发新类型的闪存,解决容量与价格的矛盾,才能让SSD真正在大数据时代发挥应有作用。 这时,QLC 闪存就应运而生, 目前,东芝和西数先后宣布成功开发基于四比特单元3D NAND闪存芯片,即QLC闪存,这也意味着QLC SSD将要来临。那么,它与TLC闪存又有什么区别,能否取代TLC成为SSD主流闪存之选? 先来了解一下什么是TLC...阅读全文

博文 2017-08-01 09:52:54 debian.cn

APISIX Ingress 如何使用 Cert Manager 管理证书

statefulset.apps/apisix-etcd 2/3 57m NAME COMPLETIONS DURATION AGE job.batch/cert-manager-startupapicheck 1/1 6m24s 45m Kubernetes Controller Manager 的制决定了 Pod 名称会有所不同。 步骤四:申请证书并测试 首先我们需要配置证书颁发对象。 # issuer.yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: issuer namespace: ingress-apisix spec: selfSigned: {} 并创建自签名证书颁发者。 kubectl apply -f...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

kubelet 绑核与不绑核的性能差别

同一台主,同样的workload,kubelet 中配置CPU绑定后的性能变化: 绑核的配置放在 /etc/kubernetes/kubelet 中的这两行: ``` FEATURE_GATES="--feature-gates=CPUManager=true" CPU_MANAGER_POLICY="--cpu-manager-policy=static" ``` 绑核前: ``` procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in...阅读全文

Debian 成为主流 Linux 操作系统的七个原因

求包容方面所做的工作与其技术素养一样出名。 主流发行版 一些人可能反对Debian,因为发布速度很慢,连最新的软件包也常常不太先进。然而,如果你在安装一台服务器,关注的方面主要是稳定性,这种劣势反而是一种优势。此外,除非你坚持始终拥有最新的版本,否则大多数主要的免费软件足够成熟,必不可少的新功能特性现在已很少见。你常常可以等上几个月,如果你在虚拟中运行其他发行版以满足好奇心,更是如此。 还是让数字为它说话吧!如今,三分之二的活跃Linux发行版基于Debian;这几年来,Distrowatch网站上页面浏览量四大发行版中三个是Debian及其最受欢迎的衍生版:Linux Mint和Ubuntu。从许多方面来看,Debian已成为其他上游来源的上游来源。 Debian也许是历史最悠久的发行版...阅读全文

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

Git 介绍与使用详解

出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文

博文 2017-02-25 09:00:27 程序员

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

服务。如果cortex有许多的查询,则可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标准数据出现间断,即使发生器故障and/orpod被驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的整个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在自托管或云提供商支持的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

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

成功运作一个开源项目的15个要点

每个人适用同样的规则(环境可能是公平的,因此你需要用自己的方法胜出)。英才制度意味着你需要用自己的方式脱颖而出。有些项目实施英才制度,例如,在邀请开发者加入项目团队之前,通过要求他们作出一些贡献,以表明他们了解项目的代码、规则和文化。确保增加新的开发人员到项目中的过程是众所周知的,并且这些流程是透明的(例如公开投票)。 5、供应商中立 为了实现真正的开放,开发者需要大家认可他们的贡献。如果项目是供应商中立的,那么这更容易实现。供应商中立的项目不由任何组织或构主导;英才制度应以个人的贡献为基础,不能基于任何特定组织的目标或招聘方法。在供应商中立的基础上托管是实现此目标的一种方式。 6、有良好的定义和文件标准 文档化项目的代码格式规则(使代码格式化预设易于访问),对测试覆盖面、开发方法、软件和...阅读全文

博文 2017-11-08 09:58:28 debian.cn

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

HTTP状态码详解

新的 URI 的超链接及简短说明。 注意:许多 HTTP/1.1 版以前的 浏览器不能正确理解303状态。如果需要考虑与这些浏览器之间的互动,302状态码应该可以胜任,因为大多数的浏览器处理302响应时的方式恰恰就是上述规范要求客户端处理303响应时应当做的。 304 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。 该响应必须包含以下的头信息: Date,除非这个服务器没有时钟。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将 Date 字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存...阅读全文

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