InfraPub 为您找到相关结果 818

聊聊很重要的内核技术eBPF

(DFS),以确保程序完成并且代码不包含危险路径。这意味着它将遍历图的每个分支,一直到分支的底,以确保没有递归循环。 这些是验证器在第一次检查期可能拒绝您的代码的情形,要求有以下几个方面: 该程序不包含控制循环。为确保程序不会陷入无限循环,验证程序会拒绝任何类型的控制循环。已经提出了在BPF程序中允许循环的建议,但是截至撰写本文时,没有一个被采用。该程序不会尝试执行超过核允许的最大指令数的指令。此时,可执行的最大指令数为4,096。此限制是为了防止BPF永远运行。在第3章,我们讨论如何嵌套不同的BPF程序,以安全的方式解决此限制。该程序不包含任何无法访问的指令,例如从未执行过的条件或功能。这样可以防止在VM中加载无效代码,这也会延迟BPF程序的终止。该程序不会尝试越界。 验证者执行的第二项检...阅读全文

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

Gitlab CI 配置文件 .gitlab

。CI_COMMIT_REG_NAME就是一个很好的例子,它的值表示用于构建项目的分支或tag名称。除了在.gitlab-ci.yml中设置变量外,还有可以通过GitLab的界面上设置私有变量。 更多关于variables。 cache Gitlab Runner v0.7.0 开始引入。 cache用来指定需要在job之缓存的文件或目录。只能使用该项目工作的路径。 从GitLab 9.0开始,pipelines和job就默认开启了缓存 如果cache定义在jobs的作用域之外,那么它就是全局缓存,所有jobs都可以使用该缓存。 缓存binaries和.config中的所有文件: rspec: script: test cache: paths: - binaries/ - .config 缓存git中没有被跟踪的文件...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

果这个asset不健康,它仅仅会导致某个集群的运行中断,还是会影响全球的服务?插件还给用户特定的数据提供了,而不用占用负载的定义。 asset一般少于1kb数据,通常少于10kb,我们的最大值限制的是150kb。这个限制是为了让asset更容易被使用。这样,工具可以在存里加载asset,无需担心这么做会造成过多的消耗。这个方案是受实体-组件系统[4]的启发。 asset的容提供了足够的信息来构建建模资源的完整状态。具体来说,应该可以重新创建生产状态,而不必查看当前的生产状态——这是一个单向过程。 但是,所有的配置必须在asset里。比如,我们肯定有些情况需要MB级别的配置。这时,可以保存对外数据源(比如包,数据库和版本控制)的引用。这些引用必须指向不可变外数据。 在...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Icinga Web2 v2.7.0 发布 轻量级和可扩展的 web 接口

卡 Stay Focused —— 为更重要的事情留出更多的 有些人知道,有些检查往往会产生大量的文本或度量 (也) 许多接口。现在,插件输出和性能数据将崩溃,如果它们超过一定的高度。如果有必要,当然可以扩展它们,并在浏览器重新启动时保持这种方式。 持久可折叠容器可折叠插件输出侧边栏应保持塌陷状态 Markdown —— 表格、列表和强调文本的简单方法 由于现在有可能动态地折叠大型容,所以允许您将整个 wiki 页面添加到主机和服务中。不过,如果您更喜欢使用真正的 wiki 来维护这些,现在链接到它比以往任何时候都容易。复制 url、粘贴 url、提交评论、完成。 notes、 comments 和 announcements将注释中的任何 URL 转换为可单击链接支持插件输出中的相关...阅读全文

博文 2019-08-06 12:18:01 debian.cn

WebAssembly:无需容器的 Docker (下)

$(pwd)/images/php/docroot:/docroot \ ghcr.io/vmware-labs/php-wasm:7.4.32-cli-aot -S 0.0.0.0:8080 -t /docroot 但是如果我们看 docker stats,我们只看到传统容器的数据。这之后可能会变化,因为 Docker+Wasm 现在是 beta 版特性。 所以,如果真的想看看发生了什么,可以改为监视对照组。 每个传统容器都有自己的控制组,如 docker/ee44...。另一方面,Wasm 容器作为 podruntime/docker 控制组的一分包含在,可以接观察它们的 CPU 或存消耗。$ systemd-cgtop -kP --depth=10 Control Group...阅读全文

博文 2023-01-03 06:39:46 spider

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

:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 Port: Host Port: Command: sh State: Running Started: Thu, 29 Aug 2019 06:42:21 +0000 Ready: False Restart Count: 0 Environment: Mounts: ... 可以使用以下命令连接到新的临时容器: kubectl attach -it example-pod -c debugger 如果启用了进程命名共享,则可以查看该 Pod 所有容器中的进程。 例如,运行上述 attach 操作后,在调试器容器中运行 ps 操作: # 在 "debugger" 临时容器中运行此 shell 命令 ps auxww 运行命令...阅读全文

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

如何离线更新基于 Debian 的系统

、Linux Mint 这样基于 APT 的操作系统)提供的离线状态下 APT 包管理器。使用 apt-offline,我们可以在离线状态下完整地更新、升级我们的 Debian 系统。这个程序是用 Python 开发的兼具 CLI 和图形界面的跨平台工具。 准备工作 一个已经联网的操作系统(Windows 或者 Linux)。本文中为了便于理解,我们称之为在线系统。 一个离线操作系统(Debian 及其衍生版本)。我们称之为离线系统。 有足够容纳所有更新包的 USB 驱动器或者外接硬盘。 安装配置 apt-offline Apt-Offline 可以在 Debian 及其衍生版本的默认仓库中获得。如果你的在线系统是运行的 Debian、Ubuntu、Linux Mint,及其它基于 DEB 的操作...阅读全文

博文 2018-02-07 10:06:03 debian.cn

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

英特尔发布P4500数据中心SSD新品:外形12英寸 容量32TB

英特尔刚刚发布了迄今为止最为密集的 SSD 产品,它就是面向数据中心应用的 P4500 。为了将 32TB 的容量纳入单块 SSD,尽管其身材依然纤薄(宽高 1.5×0.3 英寸 / 3.8×0.8 厘米),但长度已经达到了丧心病狂的 12 英寸(30.5 厘米)。存储颗粒方面,其选用了 64 层堆叠的 3D NAND 架构。不过英特尔表示,它只需一半的气流,即可满足运行时的散热需求。 Intel P4500 是当前最密集的 SSD,将 32TB 容量纳入 12 英寸“标尺”外形。32 组 P4500 SSD 可纳入一个标准服务器插槽,总容量达到 1PB(1024TB)。 这些 3D NAND SSD 的功耗只有 1PB SATA 机械硬盘的 10%,占用更是只有 5% 。对于 IBM...阅读全文

博文 2018-08-09 13:24:47 debian.cn

Raspberry Pi 推出 Zero W

Raspberry Pi 基金会 推出了 Pi Zero W。作为 Pi Zero 的一个新型号,Pi Zero W 在主板上新集成了 WiFi 和蓝牙,其 10 美元的售价要比 Pi Zero 贵上一倍,但是与五年前发布的 Raspberry Pi Model B 的 35 美元售价相比依然便宜不少。具备主板联网功能的 Pi Zero W 将开启物联网项目的更好前景。 一年前主板上具有 WiFi 和蓝牙的 Pi 3 Model B 推出 之后,下一步明显就是具备无线功能的 Pi Zero。要在最初的 Pi Zero 中添加联网功能,或是需要增加一个昂贵(与主板价格相比)且布局复杂的 USB OTG 适配器以及 USB WiFi 加密锁,或是要 绕过 USB WiFi 加密锁的机制...阅读全文

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

分布式 NewSQL 数据库 TiDB

时,进行 rename table 时潜在的问题修复多数据路径配置下进行 rename table 会导致数据丢失的问题修复某些场景下 TiFlash 存储上报错误的问题修复开启 Region Merge 情况下从 TiFlash 读取时潜在的问题ToolsTiDB Binlog修复因为 TiFlash 相关的 DDL job 导致 Drainer 同步中断的问题 #948 #942BR修复关闭 checksum 情况下,仍然执行 checksum 的问题 #223修复 TiDB 开启 auto-random 或 alter-pk 时,增量备份失败的问题 #230 #231 详细更新说明请参考官网说明,点击这里访问 TiDB 的详细文档。...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

欧盟一般数据保护条例(GDPR)和加州消费者隐私法案(CCPA)是欧美两大经济体所出台的两具有代表意义的个人数据保护方面的法规,代表欧美监管机关对于个人数据保护两种不同的管控取向。 本文选取了“个人数据或信息的类型与范围界定”、“法律的管辖范围”、“数据跨境传输管控”、“儿童数据的保护”、“数据主体的反对权和被遗忘权”等关键概念,对GDPR和CCPA的分要点进行比较分析。 1. “个人数据”或“个人信息”的范围界定 1.1 GDPR对个人数据的定义——侧重用抽象概念定义,实践中存在很大解释 除了对少数“特殊种类个人数据”(如宗教信仰、种族、工会成员信息、健康状况等)进行了零星列举以外,《欧盟一般个人数据保护条例》(GDPR)主要用抽象概念对其所管辖的“个人数据”的范围进行界定。 根...阅读全文

Gitlab CI 配置文件 .gitlab

。 默认情况下,job artifacts 只正对成功的jobs收集。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作的文件或目录路径。如果想要在不通的job之传递artifacts,请查阅依赖关系。以下是一些例子: 发送binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 发送所有没有被Git跟踪的文件: artifacts: untracked: true 发送没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个的dependencies可以禁用artifact传递: job...阅读全文

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

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

读取。用户态进程读取这些数据后,进一步关联 Kubernetes 元数据后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种核事件,如文件读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过核系统调用来实现的,核知道机器上所有进程中发生的所有事情,所以核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在核上做监测的好处是应用不需要变更,也不需要重新编译核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的解决方案会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈当前为 512、最...阅读全文

博文 2022-03-21 09:11:51 joseph

如何在docker pull时,配置使用代理服务?

实测有效的一个方案,通过给docker 配置 http_proxy 的方式,配置代理,配置方式如下: 建立目录: `mkdir /etc/systemd/system/docker.service.d` 创建文件,容如下:`vi /etc/systemd/system/docker.service.d/http-proxy.conf` ``` Environment="HTTP_PROXY=http://proxy.example.com:80/" Environment="HTTPS_PROXY=http://proxy.example.com:80/" Environment="NO_PROXY=localhost,127.0.0.0/8,docker...阅读全文

ARM CPU将在2022年放弃对32位应用的支持

行在ARM CPU上的最大平台已经要求应用支持64位。这意味着,ARM可以从其CPU中移除一些支持这些应用所需的额外硅片面积,从而腾出更多的,可以实现更高的性能或更好的散热效果。值得注意的是,从硬件上看,这一过渡只会影响ARM CPU中的 "大核",因此在可预见的未来,节能型核在技术上仍将采用32位运算。 这一变化将在2022年出现在ARM的CPU上,但这些CPU很可能要到下一年才会出现在消费类设备上,因为该公司的设计需要被高通和联发科等第三方厂商逐步采用。ARM在今年早些时候推出了Cortex-A78 CPU,但我们还没有看到它在消费产品中出现。不过,公司已经承诺其2022年的芯片与今年推出的芯片相比,性能将提高30%。...阅读全文

博文 2020-10-08 11:08:42 debian.cn

中国加快基于 IPv6 的互联网发展,2025 年实现全覆盖

中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模署行动计划》,计划全面推进署 IPv6,协同推进网络实名制。 通知称,用 5 到 10 年时,建成全球最大规模的 IPv6 商业应用网络。具体计划包括: 1.到 2018 年末,IPv6 活跃用户数达到 2 亿,在互联网用户中的占比不低于 20%,并在以下领域全面支持 IPv6:国用户量排名前 50 位的商业网站及应用,省级以上政府和中央企业外网网站系统,中央和省级新闻及广播电视媒体网站系统,工业互联网等新兴领域的网络与应用;域名托管服务企业、顶级域运营机构、域名注册服务机构的域名服务器,超大型互联网数据中心(IDC),排名前 5 位的容分发网络(CDN),排名前 10 位云服务平台的 50% 云产品;互联...阅读全文

Tmux 快速教程:快捷键和配置

select-pane -[UDLR] 在指定的方向选择下一个 pane 更常用的是在 tmux 中直接通过默认前缀 ctrl + b 之后输入对应命令来操作,具体如下(这里只列出输入默认前缀之后需要输入的操作): 基本操作 ? 列出所有快捷键;按q返回 d 脱离当前会话,可暂时返回Shell界面 s 选择并切换会话;在同时开启了多个会话时使用 D 选择要脱离的会话;在同时开启了多个会话时使用 : 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话 [ 复制模式,光标移动到复制容位置,格键开始,方向键选择复制,回车确认,q/Esc退出 ] 进入粘贴模式,粘贴之前复制的容,按q/Esc退出 ~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 t 显...阅读全文

博文 2017-11-07 15:17:49 debian.cn

漫画赏析:Linux 内核到底长啥样

鹅,它表示着 PID 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态中,等待工...阅读全文

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

贪污公司六百万美元:监管缺失的IT运维

Word文档通常会保留创建人的信息,没想到正是这一点,成了破案关键。据外媒报道,Hicham Kabbaj曾是美国纽约营销公司Rakuten Marketing的IT门主管。精于“以权谋私”的他创办了名为Interactive Systems的壳公司,并以新公司的名义向Rakuten Marketing输送IT设备。 由于这些IT设备、软件只需要Kabbaj点头同意,所以他顺风顺水地做了4年左手倒右手的生意,牟利600万美元(约合4182万)。 不过,公司走账是需要发票的,Kabbaj就是在这里露馅的。 调查人员发现,有几张发票上对应的硬件序列号对应的是已购老设备,更甚的是,其中几张发票还是用Word伪造的,这些原始Word文档显示为Kabbaj的副本。 事情败露地喝么彻底...阅读全文

博文 2020-01-08 10:12:34 debian.cn

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

enqueue 在上面介绍 node 的 object 队列大小分,我们提到将报文排队到下一个 node 的概念。对于普通的 enqueue,就是简单的将当前 node 中处理好的报文,通过使用 rte_memcpy / pointer assignment 作为传递方法, enqueue 到下一个可能的 node。 Home run Home run 则是一种优化的情况,它不像普通的 enqueue 把报文复制到下一个 node,而是简单地交换当前 node 和下一个 node 之的有关于报文的指针(例如报文、报文数目),从而消除 memory copy / pointer assignment 的开销。当满足以下条件时,home run 才会被触发: 所有已处理好的报文都将前往同一个 node...阅读全文

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

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增量的情况下与 JBD2 日志共享的快速提交中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

Go 1.16 发布,支持 macOS ARM64

Go 1.16 正式发布,该版本主要包括支持 macOS ARM64、工具链优化、运行时和库的实现优化。并且,该版本保留了Go 1兼容性的承诺,几乎所有 Go 程序都能像以前一样继续编译和运行。 分更新容: - Go 1.16 通过 GOOS=darwin,GOARCH=arm64 在macOS(也称为 Apple Silicon)上添加了对 64 位 ARM 架构的支持。与 darwin/amd64 一样,darwin/arm64 也支持 cgo、和外链接、c-archive、c-shared 和 pie build 模式、竞争检测器 - Go 现在在 NetBSD(netbsd/arm64)上支持 64 位 ARM 体系架构 - Go 现在在 OpenBSD(openbsd...阅读全文

博文 2021-02-17 08:58:12 joseph

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟存 毋庸置疑,虚拟存绝对是操作系统中最重要的概念之一。我想主要是由于存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,可是相对于 CPU,它们又太慢。于是它们之就需要一种润滑剂来作为缓冲,这就是存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对存操作的冲突问题,虚拟存概念的提出就是为了解决这个问题。 虚拟存简单直观的解释 操作系统有一块物理存(中分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个存...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Docker更名Moby,也是无奈之举

、containerd、InfraKit以及最新刚刚发布的LinuxKit)当中拆分出来,仍然导致人们很难对容器技术及命令行中的奥秘进行深入探索,更遑论弄清各活动的彼此关联。 对于Moby的误解,分源自该公司决定直接将访问者重新定向至Docker客户端的GitHub库(用于保留Docker客户端的开源代码),但却未对此举作出任何解释。 GitHub连接问题的出现进一步扩大了对Docker项目凭“消失”的误会。Docker公司技术人员PatrickChanezon表示,GitHub更换代理商造成了一系列技术性问题,可能需要GitHub方面的支持人员介入并加以解决。 Docker公司联合创始人兼CTO SolomonHykes在他的pull请求中对目前的状况给出了非常简单的答案:“Docker公司正在将所...阅读全文

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

如何在一个U盘上安装多个Linux发行版

U 盘上安装多个 Linux 发行版的方式呢?我们将在本教程中看到如何做到这一点。 如何创建有多个 Linux 发行版的可启动 USB 我们有一个工具正好可以做到在单个 U 盘上保留多个 Linux 发行版。你所需要做的只是选择要安装的发行版。在本教程中,我们将介绍如何在 U 盘中安装多个 Linux 发行版用于现场会话live session。 要确保你有一个足够大的 U 盘,以便在它上面安装多个 Linux 发行版,一个 8 GB 的 U 盘应该足够用于三四个 Linux 发行版。 步骤 1 MultiBootUSB 是一个自由、开源的跨平台应用程序,允许你创建具有多个 Linux 发行版的 U 盘。它还支持在任何时候卸载任何发行版,以便你回收驱动器上的用于另一个发行版。 下载...阅读全文

博文 2017-10-18 13:42:20 debian.cn

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

性: 服务发现: 支持 DNS 与 RPC 服务发现,也提供原生 SDK 、OpenAPI 等多种服务注册方式和 DNS、HTTP 与 API 等多种服务发现方式。 服务健康监测: Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。 动态配置服务: Nacos 提供配置统一管理功能,能够帮助我们将配置以中心化、外化和动态化的方式管理所有环境的应用配置和服务配置。 动态 DNS 服务: Nacos 支持动态 DNS 服务权重路由,能够让我们很容易地实现中层负载均衡、更灵活的路由策略、流量控制以及数据中心网的简单 DNS 解析服务。 服务及其元数据管理: Nacos 支持从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静...阅读全文

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

BSD 系统正在死亡?

安全研究员从核发现的 bug 数量这一角度认为 BSD 正在死亡。安全公司 IOActive 负责渗透测试的总监 Ilja von Sprundel 分析了 BSD 的源代码,从 3 大 BSD 发行版发现了 115 个核 bug,其中 FreeBSD 有 30 个,OpenBSD 有 25 个,NetBSD 有 60 个,大分 bug 被认为是非常容易发现的。 他报告了这些 bug,但六个月后许多 bug 仍然没有修复。 Linux 核的 bug 通常存在的时很短,很快就会修复,但 BSD 的情况不是如此,许多 bug 已经存在了十年甚至更长时。von Sprundel 特别称赞了 OpenBSD 的代码质量。 【原文来自 CSOOnline】...阅读全文

博文 2018-01-29 11:30:29 debian.cn

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明显的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云的主要容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

。每个服务都将自己的运行指标推送到 Atlas 中,用于绘制仪表盘和报警。Atlas 是Netflix的一个存时序列数据库。每个服务都将自己的日志发送到 ELK 集群中。每个服务除了deck 和 gate 必须用 mutual TLS,并且证书和认证通过 Lemur 进行管理。不允许任何外流量进入服务中。所有的 API 调用必须经过 gate。每个外服务(除了gate)都要支持 mTLS 或者 SSO。如果某个服务有数据存储的需求,那么只能存在自己的数据库中,服务之不共享数据存储。 为了保证兼容性,Spinnaker 在开发过程中还会准守一些准则: 保证足够的单元测试和覆盖率。在 code review 的时候特别注意是否会破坏API兼容性。7×24 不断的执行集成测试。有...阅读全文

博文 2018-12-21 19:30:47 debian.cn

谷歌开源 Pigweed:用于提升嵌入式开发效率

谷歌于 1 月下旬曾向 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据申请容来看,Pigweed 商标涵盖“计算机操作软件”。当时,人们猜测这是一款新的操作系统商标,但并未有任何相关信息提供。 昨日,谷歌毫无征兆地公布并开源了 Pigweed。与之前的猜想不同,这是一个嵌入式库(或模块)的集合。使用 Pigweed 模块可​​以在 32 位微控制器( 即嵌入单电路芯片中的小型计算机 )上实现更快、更可靠的开发。 Pigweed 提供的模块可满足嵌入式开发人员的广泛需求。从整个生命周期来看,Pigweed 从设置,到开发,再到代码提交,都能够有效提高嵌入式开发的效率。谷歌以上述开发过程为轴,围绕这几个方面分别介绍了 Pigweed 的一些模块。 嵌入式...阅读全文

博文 2020-03-22 08:35:14 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

获取数据时的延迟。此功能在大规模的应用程序上十分重要,因为数据离应用程序越近,程序就能更快获取到数据。 antirez 受 Ben Malec 演讲的启发,他想到可以将大分需要频繁存和取的数据直接放在服务器的存中,以便让 Redis 为客户端完成分工作,并使客户端缓存更简单、更有效。这个就是 Client side caching(客户端缓存)的概念。 不过这个思路有一个需要解决的问题是,如何控制数据的有效时?在程序允许的情况下,虽然可以直接设置数据的有效时,让数据在一段时后失效。但 antirez 表示,大多数的应用程序无法接受提供过时的数据的风险,因此必须找到更理想的方案来控制数据的失效时。 所以 antirez 决定开发新的协议 RESP3,在协议中加入新特性来支持客户端...阅读全文

都是颗粒 为什么SSD有寿命、内存却没有?

。 SSD则是外存储,用来长久保存数据,属于非易失性存储,断电后数据还在,但是相对速度慢、延迟高,HDD机械硬盘、U盘、光盘等也是此类。 SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改变状态来存储数据,随着时的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。 NAND闪存的寿命一般用P/E编程擦写次数来描述,写满一次容量就损失一次P/E。 SLC大约是10万次,MLC只有5000次左右,TLC就只大概2000次,QLC仅为1000次上下,所以不得不依靠更多管理技术和算法来辅助,以保持寿命。 但另一方面,SLC、MLC、TLC、QLC的存储密度越来越大,SSD容量也越来越大,写满的概率越来越低,所以整个SSD的实际寿命其实并没有大大缩短,一般应用无需过分担忧寿命问题。...阅读全文

7大维度看国外企业为啥选择gRPC打造高性能微服务

gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省占用。gRPC 1.0版本是2015年面世以后的第一次版本发布,开发者可以把该版本用于生产。API现在也是很稳定的。 Bugsnag(注:一家云端bug监控服务商)每天处理数以亿计的错误信息,为了处理这些数据,考虑优先构建一个可扩展,性能强大的后端系统,并从中学到很多有挑战性的技术。最近,我们推出了新版本的仪表板,这个项目要求扩展系统,来处理服务呼叫的显著增加,这些呼叫是跟踪用户发布和会话所需的...阅读全文

博文 2018-03-19 17:51:32 debian.cn

如何写好技术文档 — 来自十多年的文档经验总结

地页的问题就是随着时的推移,页面可能会变的越来越乱,而且有些容会失效,不过这些问题都好解决,做好定期的维护和整理就行。 落地页的技术难度不高,但要求容的有效性、完整性和分类清晰。 ## 文档Review ## 在一个组织,光靠个人去维护文档是不行的,必须得借助群体的智慧。在一个组织,文档的变更也应该像代码的变更一样,需要被其他人Review,以提前发现其中的问题并提升文档的质量。 如何Review文档: - **专业的视角来保证准确性**: 一般由团队里比较资深的人负责,他们关注的核心点是文档写的对不对,专不专业。如果Code Review做的好的话,文档的Review也属于Code Review的一分。 - **读者视角保证简洁性**: 一般由不熟悉这个领域的人来Review...阅读全文

博文 2021-07-30 16:15:13 joseph

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文容分为以下两分: 使用 curl 查看加载时 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求时为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模式,不会输出进度条 -w "%{time_total\n}":输出使用时 -o /dev/null: 这个参数用来隐藏 response 的容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

Kiwi TCMS 7.1 发布:开源测试用例管理系统

新方法 Bug.emove() Bug fixes 在 Bugs 页面中添加“删除”菜单项 Fixes #1153 Issue #1153从 TestExecution 删除超链接时,隐藏页面中的 UI 元素修复 TP TC 数目大于 100 时删除 TC 失败 Refactoring 从表单字段中删除标签将多个视图从基于函数的视图重构为基于类的视图更新 TCMs/core/test/ 中的旧测试,并确保它们不会被测试运行程序忽略删除类 XMLRPCBaseCaseForm删除 rpc.forms.UpdateCaseForm,以支持 XMLRPCUpdateCaseForm 完整更新列表请见发布说明。...阅读全文

博文 2019-10-31 09:34:07 debian.cn

处理器架构消亡史

印机,数字机顶盒,数字电视,DSL,电缆调制解调器和个人数字助手等多种产品。到1990年代后期,MIPS已成为嵌入式系统领域的强者。根据MIPS科技公司的统计,1997年以MIPS架构为基础的CPU出货量为4800万,占RISC CPU总市场份额的49%。MIPS 架构如此成功,于是,在1998年SGI把MIPS科技公司拆分成为一个子公司(SGI 在1992年直接收购了MIPS)。DEC(Digital Equipment Corporation)也是受这股RISC风潮影响下的企业之一,DEC看到了许多RISC架构(例如MIPS和SPARC)的兴起,他们认为竞争激烈,最终将拯救在VAX上的败退。于是,在1982年到1985年,DEC将RISC划分为几个分来分开研究,1985年,DEC负责...阅读全文

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

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看起来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 语言的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的核接口。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的,并侧重于安全性。 在编译应用程序时,大分都是针对特定的 libc 进行编译的。如果你要将它们与另一个 libc 一起使用,则必须重新编译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

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

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动署到 production。公司里有很多员工、很多用户的好处:新代码让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问量用上新代码,最后慢慢增加到 100% 的访问量。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将代码投入生产的灵活方法。这篇文章着重讲述了他们在一年之如何从“ cherry-picking ”升级到“ push-from-master ”策略。早些时候, Facebook 也分享了他们署过程的细节。作者 Chuck Rossi 是...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Google 开源 Docker 镜像差异分析工具 container

Google 发布了一个名为 container-diff 的开源项目,这是一个分析和比较容器镜像的工具,可用来分析 Docker 镜像之的差异。 container-diff 可通过几个不同的标准来检查镜像,包括: Docker 镜像历史 镜像文件系统 Apt 包管理器 pip 包管理器 npm 包管理器 上述分析可以在单个镜像上执行,也可以在两个镜像上执行以进行比较。 该工具可以帮助用户更好地了解他们的镜像发生了什么变化,并让他们更好地了解镜像包含什么容。 单个分析: container-diff analyze [Run default analyzers] container-diff analyze --type=history [History...阅读全文

Apache Kafka发布 3.0 正式版

Streams 时戳同步KIP-695增强了 Streams 任务如何选择获取记录的语义,并扩展了配置属性的含义和可用值max.task.idle.ms。此更改需要 Kafka 消费者 API 中的一种新方法,currentLag如果本地已知且无需联系 Kafka Broker,则能够返回特定分区的消费者滞后。KIP-715:在流中公开提交的偏移量3.0开始,三个新的方法添加到TaskMetadata接口:committedOffsets,endOffsets,和timeCurrentIdlingStarted。这些方法可以允许 Streams 应用程序跟踪其任务的进度和运行状况。KIP-740:清理公共 API TaskIdKIP-740代表了TaskId该类的重大革新。有几种方法和所有字段已被...阅读全文

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

Gitlab 12.2 发布:改进团队协作

跨越多个项目,代码更改之具有相互依赖关系,其中合并更改的顺序很重要。GitLab 现在支持 跨项目合并请求依赖 ,使定义这些依赖关系成为可能,并防止因更改按错误的顺序合并而导致的错误。减少错误意味着能够减少修改,并更快地署更改。 Gitlab 12.2 还有其他改进,包括 合并请求中的安全审批 、 Core 中包含的范围的环境变量 、按域限制组成员 、 功能标志百分比推出策略和功能标志用户 ID 推出策略 等容。 详情见发布说明:https://about.gitlab.com/2019/08/22/gitlab-12-2-released/...阅读全文

博文 2019-08-23 15:59:42 debian.cn

Arch Linux 2020.01.01 发布

Arch Linux 是第一个以全新的 ISO 镜像在 2020 年启动的 GNU / Linux 发行版之一,该镜像是第一个基于最新 Linux 核系列的镜像。 Arch Linux 2020.01.01 是 2020 年的第一个 ISO 版本,由 Linux 5.4 核系列提供支持,带来了许多新功能和增强功能。例如,对 Microsoft exFAT 文件系统的支持、“lockdown”安全功能、以及对 Android 上的应用程序存管理的改进。 最重要的是,Arch Linux 2020.01.01 发行版还附带了整个 2019 年 12 月的所有软件包更新和安全补丁程序发行版,对于想要在新计算机上署 Arch Linux 的人来说,该 ISO 镜像将是最新的安装介质。 值得...阅读全文

博文 2020-01-08 10:19:31 debian.cn

STIG for Debian 9发布

随着 Debian"Stretch" 9 的正式发布和大规模署,HardenedLinux 社区也发布了 STIG(安全技术实现指南) for Debian 9 的版本,STIG 是美国国防对 IT 设施的安全防护合规,其中也包含了 GNU/Linux 操作系统,自 STIG for Debian 8 发布已经有两年时【注】,Debian 9 的 STIG 实现参照 RHEL 7,相比上一版,STIG for Debian 9 和 RHEL-STIG 有更高的耦合度,除了 SELinux 和少量条目需要手工检测外,大分都已经在 Debian 9 上实现了自动化,未来我们会继续完善 MAC/RBAC 基于 Debian 9 的替代方案以满足 STIG 的标准化合规。 【注】安全署...阅读全文

博文 2017-07-13 13:40:35 debian.cn

Omi 5.0.5 发布,腾讯开源的下一代 Web 框架

框架 Omi 置 observe 制作响应式视图(免去 this.update) Web Components 也可以数据驱动视图, UI = fn(data) JSX 是开发体验最棒(智能提示)、语法噪音最少、图灵完备的 UI 表达式,模板引擎不完备,模板字符串完备但是语法噪音太大 独创的 Path Updating 机制,基于 Proxy 全自动化的精准更新,功耗低,自由度高,性能卓越,方便集成 requestIdleCallback 对 this.update 说再见吧!只要使用 store 系统,它就会自动化按需更新局视图 看看Facebook React 和 Web Components对比优势,Omi 融合了各自的优点,而且给开发者自由的选择喜爱的方式 Shadow DOM...阅读全文

博文 2018-12-13 02:36:19 debian.cn

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

图工具就能生成 SVG 图片。 上面图片中,最顶层的函数g()占用 CPU 时最多。d()的宽度最大,但是它直接耗用 CPU 的分很少。b()和c()没有直接消耗 CPU。因此,如果要调查性能问题,首先应该调查g(),其次是i()。 另外,从图中可知a()有两个分支b()和h(),这表明a()里面可能有一个条件语句,而b()分支消耗的 CPU 大大高于h()。 五、局限 两种情况下,无法画出火焰图,需要修正系统行为。 (1)调用栈不完整 当调用栈过深时,某些系统只返回前面的一分(比如前10层)。 (2)函数名缺失 有些函数没有名字,编译器只用存地址来表示(比如匿名函数)。 六、Node 应用的火焰图 Node 应用的火焰图就是对 Node 进程进行性能抽样,与其他应用的操作是一样的...阅读全文

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

Ubuntu 17.10 将用 GDM 取代 LightDM 登录管理器

么多时。” Canonical决定停止开发其使用的Unity用户界面,并将其替换Ubuntu 17.10(Artful Aardvark)操作系统采用的更受欢迎GNOME桌面环境。现在,Ubuntu 17.10的最新日常Build ISO映像默认情况下还是采用LightDM登录管理器,但是预计2017年6月29日推出的第一个Alpha里程碑版本上开始采用GDM。...阅读全文

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

360开源企业级 Kubernetes 集群管理平台 Wayne

奇虎 360 宣布正式开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的、基于 Web 的 Kubernetes 多集群一站式可视化管理平台。置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能。 目前 Wayne 已大规模服务于 360 搜索,承载了绝大分业务,稳定管理了近千个业务,上万个容器,运行了两年多时,经受住了生产的考验。 功能特性 可视化操作 :提供直观、简便的方式操作 Kubernetes 集群,减小学习成本,快速上线业务。 多样的编辑模式 :支持图形化编辑,也支持 Json、Yaml 两种高级定制化编辑模式。 微核架构 :采用可扩展的插件化方式开发,定制化选择特性功能,更方便的集成符合企业需求的新功能。 多集群管理 :可...阅读全文

博文 2018-11-20 12:24:17 debian.cn