InfraPub 为您找到相关结果 172

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

/reportbug.1.en.html)设置有效的电子邮件,或手动处理附件都是一件极其麻烦的事情 。 由于一些我不理解的原理,每次与debbugs的交互都会引发很多电子邮件。 除了技术实现之外,我永远也记不住Debian使用伪包来处理bug和进程的不同方式。我几乎很少用到它们,所以也没心思搞清楚如何设置它们,或它们使用了多少内存,但是它们却给我频添烦恼。 更好的方式是什么? Debian从自定义的bug跟踪程序切换到(任何一种)完善的工具。Debian围绕流程提供自动化。如果能以bug报告的式提供这个过程中的文件跟踪和产出,那便再好不过了,而且主界面(例如Web表单)应该方便使用。 陈旧的基础设施:邮件列表归档 令我感到困惑的是,时至2019年,我们仍然没有一个方便浏览的邮件列表的归档。电子邮件在...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

处理器架构消亡史

今年,根据外媒报道显示,MIPS Technologies正在转变其商业模式,即该公司将不再设计 MIPS 芯片,而将开发基于 RISC-V 架构的处理器。发生在MIPS Technologies身上的变化,或许也预示着又一个处理器架构正在逐渐向命运低头。同样,作为最具有历史的处理器架构之一,MIPS见证了很多其他处理器架构的发生变化——他看着X86称霸PC市场,Arm在移动市场崛起,RISC—V又作为新星受到新兴市场的青睐;但同样他也看着SPARC,Alpha,PA-RISC和其他一些架构逐渐走向消亡。璀璨的二十世纪八十年代上个世纪八十年代,互联网已现雏,PC受到了企业级市场的认可。在这个期间,IBM开始打算用开放生态与产业合作的方式完成PC生产。于是,英特尔借此机会成长了起来,由此也...阅读全文

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

代表cpu使用的时间。例如: 九、Async-profiler的使用 和 火焰图分析 背景: 目前有一个kafka消费者工程,此工程会消费kafka中的消息,并通过fastjson解析该消息为java实体,然后存入到阻塞队列 BlockingQueue中。另外有若干个线程会从queue中批量拿消息,然后以批量式写入到 elasticsearch 中。目前在使用中发现存在性能瓶颈,需要定位是该工程对消息转化处理较慢,还是写es操作比较慢。 9.1采集cpu profile数据 我们将代码回退到第一次测试的情况,并启动程序,并找到当前进程号(627891),然后通过如下命令进行采集,并转换为火焰图格式 svg。 ./profiler.sh -d 15 -i 50ms -o svg -e cpu...阅读全文

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

协议介绍之深入了解 gRPC

streams 在上面发送 frame,那么在一些场景下面,我们还是希望 stream 有优先级,方便对端为不同的请求分配不同的资源。譬如对于一个 Web 站点来说,优先加载重要的资源,而对于一些不那么重要的图片啥的,则使用低的优先级。 我们还可以设置 Stream Dependencies,成一棵 streams priority tree。假设 Stream A 是 parent,Stream B 和 C 都是它的孩子,B 的 weight 是 4,C 的 weight 是 12,假设现在 A 能分配到所有的资源,那么后面 B 能分配到的资源只有 C 的 1/3。 Flow Control HTTP/2 也支持流控,如果 sender 端发送数据太快,receiver 端可能因为太忙,或者压力太大...阅读全文

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

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

一次VPC IP。 回到UK8S CNI,我们再次分析重现案例日志。这一次有了更进一步的发现,所有kubelet传递给NETNS参数为空字符串的情都发生在kubelet试图销毁Pod中第二个Sandbox的过程中。反之,kubelet试图销毁第二个Sandbox时,给CNI传入的NETNS参数也全部为空字符串。 到这里,思路似乎清晰了不少,所有泄露的VPC IP都是来自第二个Sandbox容器。因此,我们需要查清楚两个问题: 1. 为什么会出现第二个Sandbox容器? 2. 为什么kubelet在销毁第二个Sandbox容器时,给CNI传入了不正确的NETNS参数? 第二个Sandbox:我为何而生? 在了解的第二个Sandbox的前世今生之前,需要先交待一下kubelet运行的基本原理...阅读全文

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

一的数据模型。通过使用复合容器的适配器模式,您可以通过创建Pod来将来自不同系统的异构监视数据转换为一个统一的表示式,该Pod将应用程序容器与知道如何进行转换的适配器分组在一起。同样,由于这些Pod共享名称空间和文件系统,因此这两个容器的协调非常简单明了。 增强主容器功能。Sidecar容器扩展并增强了“主”容器,它们可以使用现有的容器并使它们变得更好。例如,考虑一个运行Nginx Web服务器的容器。添加另一个将文件系统与git存储库同步的容器,在这些容器之间共享文件系统,并且您已经构建了Git Push-to-deploy。但是您已经以模块化的方式完成了此工作,其中git同步器可以由不同的团队构建,并且可以在许多不同的Web服务器(Apache,Python,Tomcat等)上重复使用...阅读全文

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

深入理解Golang之context

:func WithValue(parent Context, key, val interface{}) Context { if key == nil { panic("nil key") } if !reflect.TypeOf(key).Comparable() { panic("key is not comparable") } return &valueCtx{parent, key, val} }这里添加键值对不是在原context结构体上直接添加,而是以此context作为父节点,重新创建一个新的valueCtx子节点,将键值对添加在子节点上,由此成一条context链。获取value的过程就是在这条context链上由尾部上前搜寻:cancelCtxcancelCtx结构体...阅读全文

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

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

婆/女朋友的电脑!!! 7.您对自己的孩子在开源或者计算机领域有什么期许?或者他有没有因为你对Linux的热爱影响他去关注、喜欢Linux? 答:对于孩子来说,顺其自然吧,不会刻意去引导他。 8.作为一名老师更是一名家长,您觉得“Linux要从孩子抓起”有必要吗,特别是在中国? 答:这些年喊的口号不少了,有用么?现在的教育制度问题,作为教育工作者更加无奈,其他教育方面的问题更多,计算机教育、Linux教育。。。不乐观! 9.您觉得中国有必要在教育行业推广Linux吗? 答:答案是肯定的,只是限于体制、师资、观念等方面原因,很有可能沦为象工程或某些人赢利的工具而已。但,该做的还要去做,不去做,永远不会有改观。 10.小编知道您有一个自己的网站(http://phpcj.org/),上面更新的...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

? Linux 系统当时的分割方式基本就是磁盘分割。所以如果你下载了所有的磁盘的话,某种意义上你也就下载了一套 Linux 系统。我们认为这个方法不够好,我们要用更适合分工开发的法子来。 我们决定 Debian 的系统开发由资源包来。也就是说,系统的每一个内容、每一个板块都会以资源包的式存在,这些资源包能够自动整合成一个完整的系统。你下载了这个资源包的时候,它就知道如何移除自己或是升级自己。 分工也一样按照资源包来,哪个资源包出错了就能非常明确地知道是谁的责任。我们会在开发时设定标准和规定,保证任何来源的资源包都能在我们的系统上照常运行。所以你只要下载全资源包,你就有了一整个系统。这感觉就像手工布艺一样,把很多布片拼成一整个作品,只不过实际上原理要比这复杂不少。 当然 Debian 项目的资源包分割法...阅读全文

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

Monit:开源服务器监控工具

> | MATCHING > 是程序的pid文件的绝对路径。pid文件是一个包含进程唯一ID的文件。如果pid文件不存在或不包含正在运行的进程的PID编号,则Monit将调用该条目的start方法(如果已定义)。 是使用PID文件的替代方法,并使用进程名称模式匹配来查找要监视的进程。选择具有最长正常运行时间的最顶部匹配的父级,因此如果进程名称是唯一的,则此检查式是最有用的。应该尽可能使用Pid文件,因为它定义了预期的PID。您可以测试一个进程是否匹配来自命令行使用的模式monit procmatch "regex-pattern"。这将列出匹配或不匹配的所有进程,regex模式。 文件 CHECK FILE PATH 阅读全文

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

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

HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有

,
, 以及, 这样就为开发者提供了更多表达创意和内容的空间。 W3C 以及开始着手发展 HTML 5.2 草案,有望于 2017 年底发布。而我们在这里所要呈现的是在版本...阅读全文

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

“Debian 章程有毒” - OSCHINA

,DPL 代表 Debian 项目去进行关于 Debian 的演讲和演示、参加贸易展览、与其他组织和公司建立良好的关系以及处理一些法律相关问题。也就是说,他是一个象代表和官方发言人。 在内部,DPL应该与其他 Debian 开发人员交谈,尤其是与代表交谈,以了解他们如何协助开发者的工作。此外就是一些批准预算的财务事宜。也就是一些行政事务。 在多数的公司或组织中,对外品牌和行政都不是核心业务部门,非常边缘化,这些职能常常会面临没有价值感、陷入繁杂琐事的困境。与此同时,DPL 花费时间与精力并不少,却没有任何薪水回报。 这就不难理解为什么会有 DPL 不愿连任。比如,2019年那次轮空事件中接盘的 Sam Hartman,就在 2020年的竞选季中表示不再参选。 02 开发者们的“共同意志” 那么...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

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

置的执行是按分区严格隔离的asset ID在分区内必须唯一 分区内的asset不是结构化的,而是组织成非排序列表的式。这些年的经验告诉我们,对于结构化服务asset来说,真的没有一个size适应所有的方案。 但是,我们并不完全放弃结构:asset字段可以包含对其他asset的引用,而不是构建asset本身。这样就可以在同一asset上创建多个层次结构。例如,集群层次结构不同于依赖项层次结构。这些引用字段被显式标记为此类,从而允许以编程的方式发现。 Incarnation 我们通常给分区内容打快照。这些快照成为incarnation,每个incarnation都有唯一ID。incarnation是访问Prodspec数据的唯一方式。incarnation模型不仅是生成逻辑的自然结果(见生成...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

,或者去遍历它的每一个上游生成对应的 Result Partition 信息。 目前通过引入 group 概念,假设已知上下游 2 个任务的连接方式是 all-to-all,那相当于把所有 Pipeline Region 信息或者 Result Partition 信息以 Group 的式进行组合,这样只需知道下游对应的是上游的哪一个 group,就可以把一个 O (n^2) 的复杂度优化到了 O (n)。我们用 wordcount 任务做了一下测试,对比优化前后的性能: 从表格中可以看到构建速度具有大幅度提升,构建 Pipeline Region 的性能从秒级提升至毫秒级别。任务部署我们是从第一个任务开始部署到所有任务开始运行的状态,这边只统计了流,因为批需要上游结束后才能结束调度。从整体...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

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

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

过程,数据库连接获取等,通常来说这类节点在链路详情主视图中的意义不大,因此我们对这类节点的产生逻辑进行了优化调整,使得整个链路主体结构聚焦于“跨端”,同时,对部分核心组件关键内部方法细节做了增强,以“事件”的式挂载于它们的父节点上,便于更细粒度的排查: RPC调用关键内部事件 DB 调用连接获取事件 4.4.4 profiling 的支持 1)线程栈分析的集成。通过集成 Arthas 这类工具,可以很方便地查看某个实例线程的实时堆栈信息,同时对采样间隔做控制,避免频繁抓取影响业务自身性能。 2)通过集成 pyroscope,打通高延迟性能排查最后一公里。Pyroscope 对 async profiler 做了二次开发,同时也支持 Otel 去集成,但截至目前,官方并没有实现完整的...阅读全文

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

Redis 命令、特性介绍与性能调优

MULTI和EXEC命令来把这两个命令加入一个事务中: > MULTI OK > GET vCount QUEUED > SET vCount 0 QUEUED > EXEC 1) 12384 2) OK Redis在接收到MULTI命令后便会开启一个事务,这之后的所有读写命令都会保存在队列中但并不执行,直到接收到EXEC命令后,Redis会把队列中的所有命令连续顺序执行,并以数组式返回每个命令的返回结果。 可以使用DISCARD命令放弃当前的事务,将保存的命令队列清空。 需要注意的是,Redis事务不支持回滚: 如果一个事务中的命令出现了语法错误,大部分客户端驱动会返回错误,2.6.5版本以上的Redis也会在执行EXEC时检查队列中的命令是否存在语法错误,如果存在,则会自动放弃事务并返回错误...阅读全文

博文 2018-10-27 10:37:55 debian.cn

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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

六大算法之三:动态规划【转载】

有这条性质,动态规划算法同其他算法相比就不具备优势) 动规解题的一般思路 动态规划所处理的问题是一个多阶段决策问题,一般由初始状态开始,通过对中间阶段决策的选择,达到结束状态。这些决策成了一个决策序列,同时确定了完成整个过程的一条活动路线(通常是求最优的活动路线)。如图所示。动态规划的设计都有着一定的模式,一般要经历以下几个步骤。 初始状态→│决策1│→│决策2│→…→│决策n│→结束状态 图1 动态规划决策过程示意图 (1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的或者是可排序的,否则问题就无法求解。 (2)确定状态和状态变量:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。 (3...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

最全的 DevOps 工具集合

Puppet 软件包一并安装。 Puppet master 是一个系统,使用清单来管理它所控制的所有节点的重要配置信息。 Master 控制的节点都安装了 Puppet 并运行 Puppet 代理(即守护程序)。代理收集的节点配置信息将发送到 Puppet master。然后,Puppet master 根据节点的配置策略来编制一个目录。每个节点都使用这些信息来将任何必要的配置更新应用到自己身上。 Puppet 使用的是 pull 模式,在该模式下,代理定期轮询 master,以检索特定于站点和节点的配置。在这种基础架构中,受管理的节点通常以后台服务的式运行 Puppet 代理应用程序。 Google Cloud Deployment Manager Google Cloud Deployment...阅读全文

博文 2021-05-26 14:35:21 博客园

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

Linux 命名空间(包括网络命名空间,IPC 命名空间和 PID 命名空间)。 pause 容器提供了一种方法来管理所有这些命名空间并允许业务容器共享它们,在同一个网络命名空间中的好处是:同一个 Pod 中的容器可以使用 localhost 来相互通信。pause 容器的第二个功能与 PID 命名空间的工作方式相关,在 PID 命名空间中,进程之间成一个树状结构,一旦某个子进程由于父进程的错误而变成了“孤儿进程”,其便会被 init 进程进行收养并最终回收资源。关于 pause 工作方式的详细信息可以参考:The Almighty Pause Container。 一旦创建好了 pause 容器,下面就会开始检查磁盘状态然后开始启动业务容器。 CNI 和 Pod 网络 现在我们的 Pod 已经有...阅读全文

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

HAProxy用法详解 最详细中文文档

。 3.18 option logasap option logasap no option logasap 启用或禁用提前将HTTP请求记入日志,不能用于“backend”区段。 默认情况下,HTTP请求是在请求结束时进行记录以便能将其整体传输时长和字节数记入日志,由此,传较大的对象时,其记入日志的时长可能会略有延迟。“option logasap”参数能够在服务器发送complete首部时即时记录日志,只不过,此时将不记录整体传输时长和字节数。此情下,捕获“Content-Length”响应首部来记录传输的字节数是一个较好选择。下面是一个例子。 listen http_proxy 0.0.0.0:80 mode http option httplog option logasap log...阅读全文

博文 2014-05-10 17:14:46 debian.cn