InfraPub 为您找到相关结果 280

Kubernetes源码探疑:Pod IP泄露排查及解决方法

,kubelet通过给容器打不同的label来识别之。CRI是一个统一的容器操作gRPC接口,kubelet对容器的操作,都要通过CRI请求来完成,而Docker,Rkt等容器项目则负责实现各自的CRI实现,Docker的实现即为dockershim,dockershim负责将收到的CRI请求提取出来,翻译成Docker API发给Docker Daemon。 relist通过CRI请求更新到Pod中Sandbox容器和非Sandbox容器最新状态,然后将状态信息入kubelet的缓存podCache中,如果有容器状态发生变化,则通过pleg channel通知到syncLoop循环。对于单个pod,podCache分配了两个数组,分别用于保存Sandbox容器和非Sandbox容器的最新状态...阅读全文

中国开源人访谈系列之:清风博主

、kde4到现在的kde5,一直在折腾。 2008年申请过两次Ubuntu的光盘 收到的或刻录的部分光盘 最大的困难肯定是英语了,到现在也只是能看一些简单的技术文章,大段的英文一看就头大,肯定影响深入学习。对新手的建议:英语很重要! 3.您会使用Linux来做与地理或者教学有关的事吗? 答:现在日常使用的就是Linux桌面环境,自然教学工作也是用它。比如多媒体教学,用Linux基本没问题,学生都知道我的操作系统挺特别的。必须要windows系统的场景,一般用虚拟机也就够了。 4.曾经有没有考虑过从事计算机相关行业? 答:现在也算半个程序员吧,过业余水平的php,也在帮人维护服务器。毕竟不是专业的,许多问题都是知其然而不知其所以然,因此业余时间主要是混QQ群,帮助别人,也提高自己。要说去从事计算机相...阅读全文

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

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

FaaS,有一个对标的产品叫 Lambda。 Serverless 出现的动力是,由于云计算的发展,带来了如对象存储等很多丰富的中间件,Serverless 概念的提出是希望应用开发者可以不用后端逻辑,直接把逻辑在客户端,组合云上的一些服务来完成业务逻辑,这样就没有管理后端资源的负担了。但是后来发现很多时候还是需要后端代码的,所以就演变成如果有后端代码,就拆成函数,托管在 FaaS 服务中,这样的话,你依然是不用管理服务器的,你用的还是一个个服务,没有服务器管理负担。 这个概念在不断进步,2017 年的时候 AWS 提出了一个新的概念,重新定义了什么叫 Serverless,只要一个服务具备了四方面特性:免运维、按需付费、高可用和自动扩容,这个服务就是个 Serverless 的服务。所以...阅读全文

博文 2019-06-14 08:28:49 debian.cn

Apache Kafka发布 3.0 正式版

不是与什么的AdminClient收益已经为最新的偏移,这是下一个记录的偏移,在主题/分区入混淆。)这个扩展现有ListOffsets API允许用户探测生动活泼的通过询问哪个是最近入的记录的偏移量以及它的时间戳是什么来分区。kafka ConnectKIP-745:连接 API 以重新启动连接器和任务在 Kafka Connect 中,连接器在运行时表示为一组Connector类实例和一个或多个Task类实例,并且通过 Connect REST API 可用的连接器上的大多数操作都可以应用于整个组。从一开始,一个值得注意的例外restart是Connector和Task实例的端点。要重新启动整个连接器,用户必须单独调用以重新启动连接器实例和任务实例。在 3.0 中,KIP-745使用户...阅读全文

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

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

展已经有一段时间了,但业内一直各自为政,由于没有统一的接口标准,"胶水"芯片生态难建,大公司止步不前,小公司也不敢迈出第一步。长期以来,摩尔定律的持续演进被视为芯片性能提升的主要途径。经历四十多年的发展,构成芯片的晶体管几乎要缩小到原子级别,不仅面临难以突破的物理极限问题,制程升级的投入产出比也大幅下降,业界开始寻找新的办法提升产品性能,例如,通过改变封装的方式提升晶体管密度。提出摩尔定律的戈登本人也意识到了封装的重要性,他在论文中道:"事实证明用较小的功能模块构建大型系统可能会更经济,这些功能模块将分别进行封装和互连。"简单来讲,也就是将原先生产好的芯片集成到一个封装中,达到减少产品开发时间和成本的目的,这些芯片模块可以是不同工艺节点,最终通过裸片对裸片的方式连接在一起,这一类似于用胶水...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

开源社区的运作模式:Debian Vs. Ubuntu

有一些非官方身份的包维护人员。但他们的名字只出现在Maintainer字段,因此他们不能执行上传操作,所有上传操作都由DD完成并进行校验。如果DD信任这些非正式任维护人员,他们通常希望维护人员去申请正式的DM角色,这样可以将上传的工作移交给他们来执行,以减轻自己的负担。 要成为一个Debian贡献者,一般的途径是先成为非官方的包维护人员。在其包维护的能力和人品得到DD认可并推荐之后,则可以申请成为DM。DM任期满6个月后,则可以通过Debian New Maintainers进程申请成为一个DD,这个过程也需要其他DD的推荐。 Ubuntu中的开发者角色 Ubuntu从一开始就定义了一个官方的“Ubuntu成员(UM)”角色,它包括所有贡献者,如开发人员,文档编人员,翻译人员,美工等等。有...阅读全文

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

运维的未来:云服务兴起,运维人员会“下岗”吗?

都跟质量保证(QA)的未来走向相似。传统意义上的 QA 正从关注测试转向关注工具。工程师代码、单元测试和集成测试。测试在 CI 上运行,代码通过 CD pipeline 和 canary 转出(rollout)来生产。QA 团队正在缩小,但是构建工具的团队正在增长——测试框架、CI 环境和 CD pipeline 。QA 能力现在已经嵌入发展团队中了。经由 Microsoft 和 Amazon 等公司普及的SDET 模式是这个方向的第一步。2014 年,Microsoft 转向了联合工程(Combined Engineering)模式,将 SDET 和 SDE(软件开发工程师)合并成一个角色,软件工程师,负责产品代码、测试代码和工具代码。 你们有没有注意到 QA 起的作用似乎在悄然消失?跟...阅读全文

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

Jono Bacon: GPL 没落了吗?

开源项目的增多,以及商业社会对于 GPL 协议的担心导致的,我们细细掰扯。 GPL 协议与商业社会 我知道我要说的可能会激怒一些 GPL 粉,所以在你们开始喷之前,我想说明的是:我支持 GPL,我也是 GPL 粉丝。 我过的所有软件都使用的是 GPL 协议,我也是一直是积极出资支持 自由软件基金会 以及 软件自由保护组织 以及他们的工作的,我支持使用 GPL 协议。我在这说的无关 GPL 的合法性或者 GPL 的巨大价值 —— 毫无疑问这是一个好协议 —— 我在这要说的是业内对于这个协议的看法。 大概四年之前,我参加了一个叫做开源智库(Open Source Think Tank)的峰会。这个峰会是一个私人小型峰会,每年都会把各大开源企业的管理人员请到加利福尼亚的酒庄。这个峰会聚焦于建立关...阅读全文

博文 2017-08-04 08:03:43 debian.cn

WebAssembly:无需容器的 Docker (上)

言,方法有所不同:它们的解释器是用 C 语言编的,可以编译为 WebAssembly。 然后这个解释器编译成的 Wasm 可以用来执行源代码文件,通常以 .py、.rb、.php 等结尾。 一旦编译为 Wasm,任何带有 Wasm 运行时的平台都将能够运行这些解释型语言,即使实际的解释器从未为该平台原生编译过。下一篇文章我们将介绍,如何将 PHP 解释器编译 Wasm ,并打包成 OCI 镜像,并使用内置了 WasmEdge 的 Docker Desktop 运行这个 OCI 镜像,我们也将介绍传统容器与 Wasm 容器的不同之处。关于 WasmEdgeWasmEdge 是轻量级、安全、高性能、可扩展、兼容 OCI 的软件容器与运行环境。目前是 CNCF 沙箱项目。WasmEdge 被应用...阅读全文

博文 2023-01-03 06:35:56 spider

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

= new Thread(); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println(i); } } 两个线程 t1 和 t2 同时开启,执行run方法,在我们的预想中,如果是线程安全的话,那么main的执行结果应该是20,但是因为 i 是共享数据,而程序没有对 i 的操作做同步的处理,最终运行的结果并不是20,所以这种情况就不是线程安全的情况。 解决的办法也比较简单,可以利用synchronized关键字来修饰方法或代码块,这部分的知识也是并发编程中非常重要的一块,当然,本文就不探究了,之后单独篇文章出来细说。...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

1确保提案所做的任何变更都可以帮助到尽可能多的 Go 开发者(使他们编的代码更健壮、正确性更高等),条件2则保证了变更将给使用者带来的影响降到最低。 至于条件3,如果提案不能满足该条件,它将不会被实现。即便这项提案能够解决一个很重要的问题,思路也很好,但在没有实现方案的情况下,它将会被拒绝,并需要重新起草。 下一步 在这篇文章发布时,Go 开发团队表示已经执行提案评估流程的第一步,并开始了流程的第二步,关于具体的提案可点此进行查看。 对于 Go 开发团队已经明确并通过的提案,将会继续实现(即评估流程的第3步)。开发团队表示希望在下一个发布周期的第一天(暂定于2019年2月1日)完成这些提案变更的实现,所以这次可能会在较早的时间开始进行,以留出两个月的反馈时间(2018年12月至2019年1...阅读全文

Docker 17.06 社区版发布

时一次的频次来安排证书轮换。有了Docker CE 17.06,添加了立即强制证书轮换的一次性操作: docker swarm ca --rotate Swarm Mode事件 docker events可以用来从Docker中获取实时的信息。在编自动化和监控应用时很有用。但是直到Dcoker CE 17.06,都不支持swarm mode的事件。现在docker events将会返回服务、节点、网络和和secret的信息。 专用的数据路线 docker init中添加了新的--datapath-addr标签,可以把swarm mode的管理任务和应用传递的数据隔离开来。这能把集群从IO贪婪的应用中拯救出来。如你用这种方式初始化集群: docker swarm init...阅读全文

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

架构师详解 Nginx 架构

,主进程和工作进程需要进程交互。交互依赖于 Socket 实现的管道来实现。 Master-Worker 交互 这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程 ID 等;同时主进程与外界通过信号通信;每个子进程具备接收信号,并处理相应的事件的能力。 worker-worker 交互 这种交互是和 Master-Worker 交互是基本一致的,但是会通过主进程。工作进程之间是相互隔离的,所以当工作进程 W1 需要向工作进程 W2 发指令时,首先找到 W2 的进程 ID,然后将正确的指令入指向 W2 的通道。W2 收到信号采取相应的措施。 五. 总结 通过这篇文章,我们对 Nginx 服务器的整体架构有了一个整体的认识。包括其模块化的设计...阅读全文

博文 2018-05-01 23:10:47 debian.cn

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

] munmap(0x7f53d0000000, 13275136) = 0 [pid 19343] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f53d04a8000 Process 19495 attached 我检查了一下trace文件也没有发现大量内存mmap动作,即便是brk动作引起的内存增长也不大。于是感觉人生都没有方向了,然后怀疑是不是文件缓存把虚拟内存占掉了,注释掉了代码中所有读日志的代码,虚拟内存依然增加,排除了这个可能。 灵光一现 后来,我开始减少thread的数量开始测试,在测试的时候偶然发现一个很奇怪的现象。那就是如果进程创建了一个线程并且在该...阅读全文

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

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

某最后一次部署挖矿脚本后,百度通过安全管理监控系统发现大量服务器运行异常,占用公司服务器的运算资源执行了挖矿程序,经过一番排查,最终确定了幕后的操盘手“安某”。 为此,百度还花费 2.7 万元请北京耐特网科技公司提供了应急服务,具体项目包括样本提取、样本分析、服务器日志提取并分析、追踪溯源、报告编等。 2018 年 7 月,百度正式起诉“安某”,认为其犯有非法控制计算机信息系统罪。经法院的进一步核实,被告人“安某”虽对其行为性质提出辩解,但其到案后及在庭审过程中对其实施的作案过程均能如实交代,故应认定其具有如实供述的情节,同时结合其能退缴涉案违法所得,故可对其从轻处罚。 据此判决: 一、被告人安邦犯非法控制计算机信息系统罪,判处有期徒刑三年,罚金人民币一万一千元。 二、在案扣押的人民币十一...阅读全文

博文 2020-03-17 20:42:41 debian.cn

下一代时间同步服务 Chrony 详解

会出现两次。因此,请放弃使用 ntpd、ntpdate 来校时。 makestep threshold limit 此指令使 Chrony 根据需要通过加速或减慢时钟来逐渐校正任何时间偏移。例如:makestep 1.0 3,就表示当头三次校时,如果时间相差 1.0s, 则跳跃式校时。 rtcsync 启用内核时间与 RTC 时间同步 (自动回硬件)。 logdir 该参数用于指定 Chrony 日志文件的路径。 stratum weight 该参数用于设置当 chronyd 从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下设置为 0,让 chronyd 在选择源时忽略源的层级。 基本上常用的参数就只有这几个了,通常默认的配置文件就可以直接使用了,下面我们来看一个修改完...阅读全文

博文 2021-01-04 08:41:14 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

deployments,而背后的复杂性被隐藏在简单的抽象中。但为了充分理解它为我们提供的价值,我们需要理解它的内部原理。 本指南将引导您理解从 client 到 Kubelet 的请求的完整生命周期,必要时会通过源代码来说明背后发生了什么。 这是一份可以在线修改的文档,如果你发现有什么可以改进或重的,欢迎提供帮助! 1. kubectl 验证和生成器 当敲下回车键以后,kubectl 首先会执行一些客户端验证操作,以确保不合法的请求(例如,创建不支持的资源或使用格式错误的镜像名称)将会快速失败,也不会发送给 kube-apiserver。通过减少不必要的负载来提高系统性能。 验证通过之后, kubectl 开始将发送给 kube-apiserver 的 HTTP 请求进行封装。kube-apiserver 与...阅读全文

博文 2022-04-18 16:18:04 CSDN

Apollo 配置中心简单介绍

示、编辑。用户也可以切换到文本模式,以文件形式查看、编辑。页面上可以方便地进行发布、回滚、灰度、授权、查看更改历史和发布历史等操作 3.3 添加/修改配置项 用户可以通过配置中心界面方便的添加/修改配置项: 输入配置信息: 3.4 发布配置 通过配置中心发布配置: 填发布信息: 3.5 客户端获取配置(Java API样例) 配置发布后,就能在客户端获取到了,以Java API方式为例,获取配置的示例代码如下。更多客户端使用说明请参见Java客户端使用指南。 Config config = ConfigService.getAppConfig(); Integer defaultRequestTimeout = 200; Integer requestTimeout...阅读全文

博文 2021-04-09 17:53:51 CSDN

Gitlab CI 配置文件 .gitlab

。.public工作流是cp,并且它不会循环复制public/本身。 pages: stage: deploy script: - mkdir .public - cp -r * .public - mv .public public artifacts: paths: - public only: - master 更多内容请查看GitLab Pages用户文档。 Validate the .gitlab-ci.yml GitLab CI的每个实例都有一个名为Lint的嵌入式调试工具。 你可以在gitlab实例的/ci/lint下找到该链接。 Skipping jobs 如果你的commit信息中包含[ci skip]或者[skip ci],不论大小,那么这个commit将会创建但是jobs也会跳过...阅读全文

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

RabbitMQ 高可用实现镜像队列

如果 RabbitMQ 集群只有一个 broker 节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致 message 的丢失(尤其是在非持久化 message 存储于非持久化 queue 中的时候)。可以将所有 message 都设置为持久化,并且使用持久化的 queue,但是这样仍然无法避免由于缓存导致的问题:因为 message 在发送之后和被入磁盘并执行 fsync 之间存在一个虽然短暂但是会产生问题的时间窗。通过 publisher 的 confirm 机制能够确保客户端知道哪些 message 已经存入磁盘,尽管如此,一般不希望遇到因单点故障导致服务不可用。 如果 RabbitMQ 集群是由多个 broker 节点构成的,那么从服务的整体可用性上来讲,该集群对...阅读全文

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

处理器架构消亡史

RISC研究的负责人之一提出“协作RISC计划”,即将此前的项目就被合并为一个项目,并且更名为PRISM。在此期间,为了进一步顺利的将新架构打入市场,DEC在参与MIPS R3000的处理器项目开发过程中,主动发起创建了高级计算环境协会(Advanced Computing Environment consortium)来提升新架构的影响力。到了1988年DEC公司的管理高层决定采用MIPS处理器,DEC管理层怀疑是否需要生产新的计算机体系结构来替代其现有的VAX产品线,并最终于1988年结束了PRISM项目。此时,处理器架构开始向64位发展。向64位发展,也被当时很多厂商视为是可以改市场格局的一个拐点。因此,DEC开始考虑使用类似于RISC的设计概念来设计新一代VAX CPU,以提高速度,同时...阅读全文

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

。 19. Unity Folders启动器组织整理 Unity Folders是一款恰如其名的应用程序,它让你可以在Unity启动器上创建可点击的文件夹。 如果你想不必打开Unity Dash,就可以根据类型(“游戏”、“办公”、“社交”等)管理最常用的应用程序,它再理想不过了。你可以定制文件夹图标(或根据里面的应用程序,自动生成图标),同时还可以对现有的文件夹进行编辑、重新排列、更名及其他操作。 20. Clementine音乐播放器 我在开始撰本文时,就相信自己不会列出可替代Rhythmbox的其他任何音乐播放器,就因为很少有播放器像它那样提供强大的功能。 21. Go For It任务管理器 Ubuntu不再随带一款还不错的笔记应用程序(它过去随带Tomboy),但要是没有这样一种工具...阅读全文

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

最全 MongoDB 基础教程

被包含 db.ruochen.aggregate( { $project: { _id: 0 title: 2, by: 1, }} ); 如此即可不包含_id, 非0可表示显示字段,负数也可以表示显示该字段 $match 获取分数大于70或小于等于90的记录,然后把符合条件的记录送到下一阶段$group 管道操作符进行处理 db.ruochen.aggregate([ {$match: {score: {$gt: 70, $lte: 90}}}, {$group: {_id: null, count: {$sum: 1}}} ]) 当 match 条件和 group 同时存在时,顺序会影响检索结果,必须先 match 在前面 $skip 过滤前5个文档...阅读全文

博文 2021-02-22 07:45:45 OSChina

协议介绍之深入了解 gRPC

...) ... +---------------------------------------------------------------+ Length:也就是 Frame 的长度,默认最大长度是 16KB,如果要发送更大的 Frame,需要显式的设置 max frame size。 Type:Frame 的类型,譬如有 DATA,HEADERS,PRIORITY 等。 Flag 和 R:保留位,可以先不管。 Stream Identifier:标识所属的 stream,如果为 0,则表示这个 frame 属于整条连接。 Frame Payload:根据不同 Type 有不同的格式。 可以看到,Frame 的格式定义还是非常的简单,按照官方协议,可以非常方便的一个出来。 Multiplexing HTTP/2 通过 stream 支持了连接的多路复用,提高了连接的利用率。Stream 有很多重要特性: 一条连接可以包含多个...阅读全文

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

Debian 9 使用kubeadm创建 k8s 集群(上)

正确运行工作负载。 先决条件 本地Linux / macOS / BSD计算机上的SSH密钥对。 如果您之前没有使用过SSH密钥,可以按照如何在本地计算机上设置SSH密钥的说明来学习如何设置它们。运行Debian 9的三台服务器,每台至少有2GB RAM和2个vCPU。 您应该能够以SSH密钥对的root用户身份SSH到每个服务器。Ansible安装在您的本地计算机上。 有关安装说明,请按照Ansible官方安装文档进行操作 。熟悉Ansible Playbook。 有关查看,请查看配置管理101:编Ansible Playbooks 。了解如何从Docker镜像启动容器。 如果需要复习,请参阅如何在Debian 9上安装和使用Docker的 “第5步 - 运行Docker容器”。 第1步...阅读全文

博文 2019-05-13 22:47:39 debian.cn

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

了。必须要改变什么来减少交互和预期的数量。面对激增的服务模型和大规模部署的痛点,我们通过Prodspec管理的intent以及Annealing针对该intent的持续执行,来实现生产环境的声明化管理。 在面向工作流的生产管理模型里,生产环境状态的大部分仅仅存在于生产环境里。比如,前端运行的是版本X,因为几天之前你才升级到这个特定版本。 相对应的,声明式生产意味着编生产状态的intent——生产环境应该运行版本X——使用某个配置文件或者数据库。生产状态现在是从intent派生出来的。配合持续推进,就可以确保生产状态和用户预期相匹配。 在我们的实践里,intent通常是直观的,很少有歧义。但是,维护intent是困难的,要求大量的逻辑。Prodspec(下一节会更深入地讨论)是这个建模问题的...阅读全文

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

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

塞队列性能更好的 Mpsc (多生产单消费)队列,它使用大量的 long 类型字段来做内存区域填充,用空间换时间解决了伪共享问题,减少了并发情况下的竞争来提高性能。 在流量高峰时期,链路数据的发送队列这一块的性能从火焰图上看 CPU 占比平均小于2%,日常服务CPU整体水位与0采样相比几乎没有明显差距,因此我们经过多方面压测对比后,决定在生产环境客户端侧开放链路数据的全量上报,实现了在得物技术史上的全链路 100% 采样,终结了一直以来因为低采样率导致问题排查困难的问题,至此,在第三阶段,得物的全链路追踪技术正式迈入 Trace2.0 时代。 得益于 OpenTelemetry 整体的可插拔式 API 设计,我们二次开发了 OpenTelemetry Java...阅读全文

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

Sam Altman的成功学|OneFlow

Graham)是我认为的行动标杆。在YC创办的最初几年,人人都不看好它的发展,没有人认为YC能够成功。但是杰西卡和保罗很看好YC的发展,他们认为如果YC能够成功将会对世界大有裨益,他们希望能够借此帮助到其他人,并且坚信这种新模式比现存的模式好。 最终你会发现成功是在自己看重的领域里做出出色的成绩。向着自己热爱的方向越早出发就能走得越远,没有热爱之事的人是很难取得成就的。 [1]. 我在HackerNews上的评论回复: 对于实行基本工资制度,我感到十分欣慰。因为它能让更多人去赌一把,从而充分释放人类的潜能。 在那之前,如果你不是生来幸运,就必须要先往上爬一段时间,然后才能做出巨大改变。如果你家境十分贫寒,那么这条路将会异常艰难。 机会分配如此不均,显然是一种耻辱和浪费,让人难以置信。直到我见证了足够...阅读全文

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

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

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

HTTP状态码详解

这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。 405 请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。 鉴于 PUT,DELETE 方法会对服务器上的资源进行操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。 406 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。 除非这是一个 HEAD 请求,否则该响应就应当返回一个包含可以让用户或者浏览器从中选择最合适的实体特性以及地址列表的实体。实体的格式由 Content-Type 头中定义的媒体类型决定。浏览器可以根据格式及自身能力自行作出最佳选...阅读全文

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