InfraPub 为您找到相关结果 221

提问的智慧 – 全文

」拼写为「lusers」[5])。 我们注意到很多人只是想使用我们写的软件,对学习技术细节没有任何兴趣。对他们而言,计算机只是种工具,是种达到目的的手段而已。他们有自己的生活,有更重要的事要做,我们承认这一点,也从不指望每个人都能对这些让我们着迷的技术问题感兴趣。所以,我们回答问题也有自己的选,仅仅回应那些真正对问题有兴趣并愿意主动参与解决问题的人,这一点现在不变,以后不会变,也不该变,否则,我们就无法做好那些该做好的事情了。 我们(大多数)是自愿者,从自己繁忙的生活中抽时间来回答问题,有时也会力不从心。因此,(请原谅)我们会毫不留情地过滤问题,特别是那些像是losers提的问题,这样,我们就有更多的时间和精力去回答那些winner[6]的问题 如果你认为这种态度令人反感、以施惠者自居或傲慢...阅读全文

博文 2009-10-01 13:18:00 debian.cn

最全的 DevOps 工具集合

本文最初发布于 Better Programming 博客,经原作者授权由 InfoQ 中文站翻译并分享。 随着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家总结了 DevOps 各个阶段可以选的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文

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

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

记录的更改)。在我们的例子中,控制器通过一个 Informer 注册一个创建事件的特定回调函数(更多信息参加下文)。 当 Deployment 第一次对外可见时,该 Controller 就会将该资源对象添加到内部工作队列,然后开始处理这个资源对象: 通过使用标签选器查询 kube-apiserver 来检查该 Deployment 是否有与其关联的 ReplicaSet 或 Pod 记录。 有趣的是,这个同步过程是状态不可知的,它核对新记录与核对已经存在的记录采用的是相同的方式。 在意识到没有与其关联的 ReplicaSet 或 Pod 记录后,Deployment Controller 就会开始执行弹性伸缩流程: 创建 ReplicaSet 资源,为其分配一个标签选器并将其版本号设置...阅读全文

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

Apollo 配置中心简单介绍

要选在哪些环境和集群下使用 4.3.3 在Namespace中添加配置项 接下来在这个新建的namespace下添加配置项 添加完成后就能在FX.Hermes.Producer的namespace中看到配置。 4.3.4 发布namespace的配置 4.3.5 客户端获取Namespace配置 对自定义namespace的配置获取,稍有不同,需要程序传入namespace的名字。更多客户端使用说明请参见Java客户端使用指南。 Config config = ConfigService.getConfig("FX.Hermes.Producer"); Integer defaultSenderBatchSize = 200; Integer senderBatchSize...阅读全文

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

说透IO多路复用模型_京东云开发者的博客

统资源,所以,随着客户端的增多,其性能也就越差。 而边缘触发,由于监控的是FD的状态变化,所以整体的系统通知并没有那么频繁,高并发下整体的性能表现也要好很多。但是由于此模式下,用户需要积极的处理好每一笔数据,带来的维护代价也是相当大的,稍微不注意就有可能出错。所以使用起来须要非常小心才行。 至于二者如何抉,诸位就仁者见仁智者见智吧。 行文到这里,关于epoll的讲解基本上完毕了,大家从中是不是学到了很多干货呢? 由于从netty研究到linux epoll底层,其难度非常大,可以用曲高和寡来形容,所以在这块探索的文章是比较少的,很多东西需要自己照着man文档和源码一点一点的琢磨(linux源码详见eventpoll.c等)。这里我来纠正一下搜索引擎上,说epoll高性能是因为利用mmap技...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

深入理解Golang之context

执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文

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

使用 MongoDB 之前应该知道的 14 件事

有一个“填充因子(padding factor)”,为文档增长提供空间。 你也许会想,你可以通过不建立数组索引来绕开这个问题。遗憾的是,没有索引,你会遇到其他问题。因为文档会从头到尾扫描,找到一个接近数组尾部的元素需要花更多的时间, 大部分处理这个文档的操作都会变慢 。 忘记聚合情况下的阶段排序 在有查询优化器的数据库系统中,你编写的查询是说明你想要什么而不是如何获取它。这就像在餐馆中点餐;你通常只需要点菜,而不必对厨师发出详细的指令。 在 MongoDB 中,你是对厨师发指令。例如,你需要通过$match 和$project 确保管道中的数据尽早减少,排序只在数据减少时发生一次,查找按照你希望的顺序执行。查询优化器省去了不必要的工作,优化阶段顺序,选连接类型,这会把你宠坏。MongoDB...阅读全文

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

较多:字符串(String),哈希(Hash),列表(List),集合(Set),有序集合(Sorted Set), Bitmap, HyperLogLog和地理空间索引(geospatial)等,需要根据业务场景选合适的类型。 常见的如:String可以用作普通的K-V、计数类;Hash可以用作对象如商品、经纪人等,包含较多属性的信息;List可以用作消息队列、粉丝/关注列表等;Set可以用于推荐;Sorted Set可以用于排行榜等! 9.命名规范 虽然说Redis支持多个数据库(默认32个,可以配置更多),但是除了默认的0号库以外,其它的都需要通过一个额外请求才能使用。所以用前缀作为命名空间可能会更明智一点。 另外,在使用前缀作为命名空间区隔不同key的时候,最好在程序中使用全局配置...阅读全文

博文 2018-10-27 10:18:18 debian.cn

RabbitMQ 高可用实现镜像队列

rabbitmqctl在离线节点上执行forget_cluster_node命令,迫使RabbitMQ在未启动的slave节点中选一个作为master。当在A节点执行rabbitmqctl forget_cluster_node -offline B时,RabbitMQ会mock一个节点代表A,执行forget_cluster_node命令将B提出cluster,然后A就能正常启动了。最后将新的slave节点加入A即可重新恢复镜像队列 场景5:A先停,B后停,且A和B均无法恢复,但是能得到A或B的磁盘文件 这个场景更加难以处理。将A或B的数据库文件($RabbitMQ_HOME/var/lib目录中)copy至新节点C的目录下,再将C的hostname改成A或者B的hostname。如果copy过来的是A节点...阅读全文

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

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

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。 特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

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

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

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

是看顶层的哪个函数占据的宽度最大。只要有"平顶"(plateaus),就表示该函数可能存在性能问题。 颜色没有特殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选暖色调。 三、互动性 火焰图是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一层都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据总抽样次数的百分比。下面是一个例子。 mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。 左上角会同时显示"Reset Zoom",点击该链接,图片就会恢复原样。 (3)搜索 按下 Ctrl + F 会显示一个搜索框,用户可以输入关键词...阅读全文

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

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

可互操作的芯片模块,因此Chiplet能否进一步往前发展,取决于业内能否出现一种能将不同芯片模型连接起来的标准接口,也就是能够将各种芯片模块黏合起来的芯片"万能胶"。今年3月初,万能胶UCIe终于出现,芯片的胶水时代迎来新起点。"每个行业开放标准的落地都会引发这个行业的爆发,遵循这一产业发展规律,UCIe对Chiplet的发展意义重大,是Chiplet时代到来的重要标志。"半导体设备公司华封科技创始人王宏波向雷峰网表示。"Chiplet在业内推广了很多年,一直在宣传,但一直没有推进产业化,很大一部分原因就是在等待标准建立。如果选了一个错误的标准,成果就得不到市场的认可,会白白浪费很多精力。"芯原股份创始人、董事长兼总裁戴伟民说道。不过,在UCIe确立之前,业内已有各种各样的接口类型,"万能...阅读全文

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

译:Kubernetes 最佳实践

。控制平面是 K8s 的核心,这些组件保持系统运行,因此对于正确 K8s 操作至关重要。 Kubernetes API、kubelet、etcd、controller-manager、kube-proxy 和 kube-dns 组成了控制平面。控制平面组件可以以最常见的 K8s 监控工具 Prometheus 兼容的格式输出指标。应该使用自动监控工具而不是手动管理告警。可以在启动 kube-apiserver 时打开 K8s 中的审计日志记录,以便使用选的工具进行更深入的调查。audit.log 将详细记录向 K8s API 发出的所有请求,并应定期检查集群上可能存在的任何问题。Kubernetes 集群默认策略在 audit-policy.yaml 文件中定义,可以根据需要进行修改...阅读全文

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

WebAssembly:无需容器的 Docker (下)

ghcr.io/vmware-labs/php-wasm 7.4.32-cli-aot 63460740f6d5 44 minutes ago 5.35MB 这是意料之中的,因为对于 Wasm,我们只需要在容器内添加可执行二进制文件,而对于传统容器,我们仍然需要来自运行二进制文件的操作系统的一些基本库和文件。这种大小差异对于第一次拉取镜像的速度以及进行在本地存储库中占用的空间非常有帮助。Wasm 可移植性Wasm 最大优势之一就是它的可移植性。 当人们想要一个可移植的应用程序时,Docker 已经提供了传统的容器作为一种选。 然而,除了镜像特别大之外,传统容器还绑定到它们运行的平台架构。 作为程序员,相比许多人都经历过这种坎坷:针对不同的架构,必须构建支持的软件版本,并为每种架构打包对应镜像...阅读全文

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

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

来分享一下他打造 Debian 的那段历程。 Murdock 第一次接触到 GNU/Linux 是在 1993 年,当时他还是个 20 岁的学生,在普渡大学学习会计学。「那个年代,PC 才刚刚发展到勉强能运行 Unix 操作系统。我当时用的就是 Unix,那时候我觉得 Linux 是能让我更方便地使用 Unix 的一种方式。」用 Murdock 的话来说,当时的软件「完成度还相对粗糙」,但完善、改良软件对他来说也是一种兴趣爱好。 「Linux 最棒的地方之一就是它是第一批你不仅能看到它在干嘛,你还能亲自尝试着对它本身做尝试、做改动的操作系统。」 Murdock 开始研究的时候,GNU/Linux 的发行版还很少。Murdok 当时选的是 SLS,Softlanding Linux...阅读全文

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

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

。 5.2 CCPA:数据的处理以“通知数据主体”为原则,数据主体的主动授权和同意时常并非必须,数据主体仅有“选退出权”(Opt-Out),偏重于促进数据的流动和高效商用: 与GDPR不同,CCPA并未将用户的“同意”作为数据处理最重要的合法基础,而是仅仅规定了企业在出售个人信息之前有义务“通知”数据主体,同时,在一定条件下,用户有权自愿选退出数据处理进程: (1)“自愿退出权”:CCPA第1798.120条,向第三方出售个人信息的企业应当通知消费者该信息可能会被出售,并且消费者有权从个人信息被出售的情境中自愿退出。 (2)“自愿退出链接”:CCPA第1798.135条,在企业的互联网主页上提供标题为“不要向互联网网页出售我的个人信息”的明确而明显的链接,该网页促使消费者或消费者授权的人能够自觉...阅读全文

深入了解Docker背后的namespace技术

容器中创建namespace,不要让他影响到你,我选提供一个容器预加载所有依赖项的方法。我使用 --net host标志,这样可以在容器内看到host的网络接口。也需要提供--privilged标签,以保证拥有正确的权限去通过容器创建新的namespace。 以下是Dockerfile内的内容: FROM debian:jessie RUN apt-get update && apt-get install -y \ gcc \ vim \ emacs COPY containers/ /containers/ WORKDIR /containers CMD ["bash"] 我会使用C语言来解释这个例子,因为它比Go语言更容易去解释底层的细节。 NET Namespace network...阅读全文

博文 2015-05-17 10:03:00 debian.cn

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

率提高几百倍,那无疑会产生深远的影响。不过如你所说,生物学的自有规律仍在,新药的临床验证需要时间,这也是医药研发的速率限制因素。 据我所知,不少合成生物公司借助AI发现许多新的研发想法,加快自己的研发迭代周期,但研发出来之后终究是要进行测试,这部分时间无法缩减。 我认为,医药初创公司最重要的是低成本和快速的研发周期,有了这两点就有资本参与市场竞争了。所以如果我是一家医药初创公司的决策者,一开始我不会选从心脏病这类大难题下手。 此外,如果我是一家AI药物研发初创公司,我会在模拟器上多下工夫,因为目前这方面还亟待改善。 Reid Hoffman:你对AI和元宇宙怎么看? Sam Altman:元宇宙会发展成一种新的软件容器,就像手机一样,成为一种计算机交互方式。而AI则是一场技术革命,所以问题...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

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

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

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

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