InfraPub 为您找到相关结果 372

提问的智慧 – 全文

堆问题,专家们更喜欢有针对性的提问。 认真地思考,准备好你的问题。草率的提问只能得到草率的回答,甚至得不到回答。在提问时,你越是表现出在此前做过思考与努力去解决自己的问题,你越有可能得到真正的帮助。 注意别提问错误的问题。如果提问基于错误的假设,某黑客多半会一边想「这真是一个愚蠢的问题」,一边按将错就错地敷衍你,并且希望这个结果能够给你一个教训:如果提问的方式不对,你就得不到正确的答案。 永远不要假设你有资格得到解答。你没有这种资格,毕竟你没有为此服务付费。如果你能够提出有内容、有趣和激励思考的问题,你将通过自己的努力「挣到」答案,因为这种提问能够向社区贡献经验,而不仅仅是消极无境地索取。 另一方面,展现你的能力,并且表明你乐意参与解决问题,这是个很好的开始。「有没有人能指个方向?」,「我...阅读全文

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

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

所需工具的期望,与项目团队联系的渠道以及针对潜在贡献者的其他重要信息。抓取所有这些信息,使其尽可能容易被发现。在项目源代码存储库的根目录中包含一个贡献指南是一个很好的做法(通过DVCS,潜在的贡献者将找到存储库副本的副本;存储库中的贡献指南可以让潜在的贡献者轻松找对致力于项目的途径)。 7、确保项目代码始可构建 项目代码包含构建脚本和说明。使其尽可能容易地构建成功和测试项目代码。 8、与用户社区联系 用户社区是使用开源项目产品的一群人。用户社区很少直接向项目代码贡献任何东西,但却往往会提出很多问题。确保这些问题得到回答。健康的用户社区可以为采用者社区提供信息。 9、与采用者社区联系 开源项目取得成功的一个明显迹象是,其他组织开始在他们自己的产品中使用或构建扩展你的开源项目。此社区更有意愿反...阅读全文

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

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

= 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

谷歌元老施密特隐退:传奇落幕 新篇开启

前谷歌 CEO ,现谷歌母公司 Alphabet 董事会执行主席埃里克·施密特(Eric Schmidt)将卸任,这位一手将谷歌从一个两百名员工的小公司拉扯成世界科技巨头的功臣于“退休”了。可能有些朋友就问了,他是谷歌创始人吗?真有这么高的地位?可能真正了解施密特和谷歌的人并不多,或许今天我们应该来聊聊这家和我们熟悉又陌生的公司。 施密特并非谷歌创始人 首先,施密特是谷歌创始人吗?他并不是,谷歌的创始人只有两个:谢尔盖·布林(Sergey Brin)和拉里·佩奇(Larry Page),但是当我们提起施密特时,总会说“没有他就没有谷歌”。如此高的评价也能够体现他对谷歌的重要性了,你看即使库克非常给力,也不会有人说没有库克就没有苹果,大家都知道苹果的灵魂人物只有乔布斯。 言归正传,施密特作...阅读全文

博文 2017-12-24 09:18:44 debian.cn

成为Debian社区维护人需要做好的准备

)列表是一个不错的开始。打包前需要考虑:自己是否有足够的知识和能力来维护这个包?在可预见的一段日子里是否有充足的时间和精力来进行 更新和修复 Bug?如果答案都是肯定的,那么就动手把它打包好,期间遇到问题则找人咨询指导。 4. 当经过反复检查和测试,觉得软件包已经比较完善时,寻找一位 Debian Developer 帮你检查和上传软件包,这位 DD 此时便是你的 sponsor。 当找到一位愿意帮忙的 DD 后,他会对你的软件包进行彻底的检查,指出(可能)存在的问题并请你修改。这时要做的就是参考他的意见修改软件包,并把结果再发给他,这是一个极好的学习 机会。如此反复若干次后软件包最会符合 Debian 的标准,之后 sponsor 便会将其上传到 Debian 仓库。需要说明的是,经由...阅读全文

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

) 查看内存情况,如下: 请注意65404这一行,种种迹象表明,这个再加上它上面那一行(在这里是132)就是增加的那个64M)。后来增加thread的数量,就会有新增thread数量相应的65404的内存块。 刨根问底 经过一番google和代码查看。于知道了原来是glibc的malloc在这里捣鬼。glibc 版本大于2.11的都会有这个问题:在Redhat 的官方文档上: Red Hat Enterprise Linux 6 features version 2.11 of glibc, providing many features and enhancements, including… An enhanced dynamic memory allocation (malloc...阅读全文

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

Apollo 配置中心简单介绍

。 Config config = ConfigService.getConfig("FX.Hermes.Producer"); 对这种情况的配置获取规则,简而言之如下: 首先获取当前应用下的FX.Hermes.Producer namespace的配置然后获取hermes应用下FX.Hermes.Producer namespace的配置上面两部分配置的并集就是最使用的配置,如有key一样的部分,以当前应用优先 图示如下: 通过这种方式,就实现了对框架类组件的配置管理,框架组件提供方提供配置的默认值,应用如果有特殊需求,可以自行覆盖。 4.5 总体设计 上图简要描述了Apollo的总体设计,我们可以从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端...阅读全文

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

译:零信任对 Kubernetes 意味着什么

确保它在每一点都得到执行。这听起来像是常识。但与技术中的许多新想法一样,理解零信任的最佳方法是了解它的反应。零信任摒弃了边界安全的观点。在边界安全模型中,在敏感组件周围实施“装甲”。例如,数据中心周围可能有一个防火墙,其任务是阻问题流量和参与者进入。这种模型,有时被称为城堡策略,具有直观的意义:城堡的墙壁是为了将坏人拒之门外。如果你在城堡里,那么根据定义,你就是一个好人。零信任模型表明,边界安全已经不足。根据零信任原则,即使在安全边界内,仍必须将用户、系统和网络流量视为不受信任。国防部的参考架构很好地总结了这一点:“在安全边界之外或之内运行的任何参与者、系统、网络或服务都是不可信的。相反,我们必须验证任何试图建立访问权限的事物。从边界验证一次到对每个用户、设备、应用程序和交易的持续验证,这...阅读全文

Golang 操作 Kafka 样例

1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的特点 Kafka是分布式的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文

博文 2023-01-10 13:46:09 掘金

如何使用 journalctl 清理 journal 日志

=, RuntimeMaxFiles= 限制日志文件的大小上限。 以 "System" 开头的选项用于限制磁盘使用量, 也就是 /var/log/journal 的使用量。 以 "Runtime" 开头的选项用于限制内存使用量, 也就是 /run/log/journal 的使用量。 以 "System" 开头的选项仅在 /var/log/journal 目录确实存在且可写时才有意义。 但以 "Runtime" 开头的选项永远有意义。 也就是说, 在系统启动早期 /var 尚未挂载时、 或者系统管理员禁在磁盘上存储日志的时候, 仅有 "Runtime" 开头的选项有意义。 journalctl 与 systemd-journald 工具会忽略日志目录中 所有后缀名不等于 ".journal" 或 ".journal~" 的文...阅读全文

博文 2021-02-05 15:43:28 博客园

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

node。现在透过分析内存布局的帮助下,我们能更好地去想象 graph walk 是如何从 cir_start[-src_node_count] 开始,直到再没有任何 pending stream (head 等于 tail)为。 struct node 理解了 graph 的运作原理后,我们现在讨论一下底层的关键组件 node。先前我们已经提到 graph_node 和 node 的部分区别,其实关键区别在于 node 实际包含了什么信息。 struct node { STAILQ_ENTRY(node) next; /* Next node in the list. */ char name[RTE_NODE_NAMESIZE]; /* Name of the node...阅读全文

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

Apache Kafka发布 3.0 正式版

Apache Kafka 2.3.0 开始,可以配置连接器工作器以允许连接器配置覆盖连接器使用的 Kafka 客户端属性。这是一个广泛使用的功能,现在有机会发布一个主要版本,默认启用覆盖连接器客户端属性的功能(默认connector.client.config.override.policy设置为All)。KIP-721:在连接Log4j配置中启用连接器日志上下文另一个在 2.3.0 中引入但到目前为尚未默认启用的功能是连接器日志上下文。这在 3.0 中发生了变化,连接器上下文默认添加log4j到 Connect 工作器的日志模式中。从以前的版本升级到 3.0 将log4j通过在适当的情况下添加连接器上下文来更改导出的日志行的格式。Kafka StreamsKIP-695:进一步改进 Kafka...阅读全文

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

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

(Kubernetes中的节点指服务器)负责管理集群的状态。 它运行Etcd ,它在将工作负载调度到工作节点的组件之间存储集群数据。 两个工人节点 工作节点是运行工作负载 (即容器化应用程序和服务)的服务器。 一旦工作人员分配了工作负载,工作人员将继续运行您的工作负载,即使主计划在调度完成后停工作也是如此。 通过添加工作人员可以增加群集的容量。 完成本指南后,如果群集中的服务器具有足够的CPU和RAM资源供应用程序使用,您将拥有一个可以运行容器化应用程序的集群。 几乎任何传统的Unix应用程序(包括Web应用程序,数据库,守护程序和命令行工具)都可以进行容器化,并在集群上运行。 群集本身将在每个节点上消耗大约300-500MB的内存和10%的CPU。 设置群集后,您将向其部署Web服务器Nginx ,以确保它...阅读全文

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

influxdb内存消耗分析及性能优化【探索篇】

现过于复杂,所以 go 语言团队在最新1.15版本还没有着手实现。目前根据相关资料,考虑influxdb运行时会占用大规模内存,建议通过如下方式启动influxdb:numactl --interleave=all /usr/bin/influxd -config /usr/bin/influxdb.conf6.读取端优化从系统角度,应该同时关注influxdb写入和读取两个维度。写入端应从具体业务场景,提前划分好写入的tags及fields,从而避免产生大量的series导致内存膨胀过快。而读取端,应明确查询时间范围,命中更少的分片数据,来防加载大量的无用查询结果而导致程序OOM。走查了读取端相关influxdb查询语句,发现几处类似如下消耗内存及性能的语句:#表描述 - 表名...阅读全文

博文 2021-10-27 16:06:30 知乎

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

出来,方便进一步下钻到链路追踪。应用层协议的请求、响应信息有助于对请求内容、返回码进行分析,从而知道具体哪个接口有问题。如需查看代码级别或请求界别的详情,可点击 Trace ID 下钻到链路追踪分析查看。​开箱即用的告警功能开箱即用的告警模板,各个不同层次全覆盖,不需要手动配置告警,将大规模 Kubernetes 运维经验融入到告警模板里面,精心设计的告警规则加上智能降噪和去重,我们能够做到一旦告警就是有效的告警,并且告警里面带有关联信息,可以快速定位到异常实体。告警规则全栈覆盖的好处是能及时、主动地将高风险事件报给用户,用户通过排查定位、解决告警、事后复盘、面向失败设计等一系列手段,最逐步达成更好的系统稳定性。​网络性能监测网络性能问题在 Kubernetes 环境中很常见,由于 TCP...阅读全文

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

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

改Docker映像名称和任何相关标志(如ports和volumes ),也可以将以下命令用于其他容器化应用程序。 仍在主节点内,执行以下命令以创建名为nginx的部署: kubectl create deployment nginx --image=nginx 部署是一种Kubernetes对象,可确保始根据已定义的模板运行指定数量的pod,即使pod在群集生命周期内崩溃也是如此。 上面的部署将使用Docker注册表的Nginx Docker Image创建一个包含一个容器的pod。 接下来,运行以下命令以创建名为nginx的服务,该服务将公开公开该应用程序。 它将通过NodePort实现 ,该方案将通过在群集的每个节点上打开的任意端口访问pod: kubectl expose...阅读全文

博文 2019-05-13 22:57:41 debian.cn

一位五年工作经验架构师的感悟

title 就很牛 B 的,人外有人,天外有天,做好自己。五年陈留给自己的话:不忘初心,方得始,未来已来,星辰大海。路就在前方,继续前行。 每个人的成长之路也不一样,我来回想下自己的。 不为过去蹉跎,珍惜当下 很多在菜鸟的时候,肯定或多或少,有过对身边的牛人,报以羡慕的眼光。 当看着别人职位比你高, 当看着别人比你工资领的高, 当看到别人年纪轻轻,就已经是牛逼哄哄。 你会不会有羡慕嫉妒恨的想法: 要是我当年读书的时候,不打游戏,少吃点红瓶、蓝瓶,少放几个水元素,少放几个暴风之锤(寒冰王座)。那么我肯定可以学到更多。 要是我当年不睡懒觉,起早贪黑,去学**,那么我肯定是也会学到很多。 要是。。。 理由从来不嫌多,我自己肯定也有这些想法,平心而论,我现在也有这些想法。但是负能量不能盖过正能量。 不要为...阅读全文

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

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

关的行业,不是没想过,但已经熬不了夜了,还是多给年轻人一些机会嘛(好吧,其实是水平实在有限,啥也干不了)。 5.您使用开源软件对您的学生有没有产生影响呢? 答:对于中学生,基本没影响。一,我不是信息技术老师,只是个教地理的;二,即便是现在的中学信息技术教学,在现行的IT教育模式下,也没办法施加影响。 6.电脑高手在学校,大家日常工作是怎么看您的呢?会叫您“修电脑”吗? 答:硬件维修不至于找我,还有信息技术老师呢!不过,装个系统是常有的事,或者经常被问一些软件方面的问题,你懂的,交流始不在一个频道,不胜其烦。再者,有一次犯了强迫症,把老婆电脑的重要数据给清理掉,被下了不许碰她电脑的禁令,就更没有耐心管别人的事了。所以,强烈建议:喜欢清理电脑且有强迫症的同学(这样的人会很多吧),千万不要乱动老...阅读全文

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

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

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

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

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

)确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。 (4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的条件或边界条件。 一般,只要解决问题的阶段、状态和状态转移决策确定了,就可以写出状态转移方程(包括边界条件)。 实际应用中可以按以下几个简化的步骤进行设计: (1)分析最优解的性质,并刻画其结构特征。 (2)递归的定义最优解。 (3)以自底向上或自顶向下的记忆化方式(备忘录法)计算出最优值 (4)根据计算最优值时得到的信息,构造问题的最优解 算法实现的说明 动态规划的主要难点在...阅读全文

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

最全的 DevOps 工具集合

Cloud Platform 是一套云计算服务,运行在谷歌内部为其最用户产品(例如 Google Search、Gmail 和 YouTube)打造的同一套基础架构上。 Google Cloud Platform 提供了计算资源,用于在 Web 上部署和运营应用程序。它的专长是为个人和企业提供构建和运行软件的场所,并使用 Web 来连接软件用户。 谷歌的云计算服务可帮助你直面各种业务挑战,包括数据管理、混合和多云以及 AI 和 ML 等。 Pivotal Cloud Foundry Pivotal Cloud Foundry(PCF)是一个开源、多云的应用程序平台即服务(PaaS),由 501 组织 Cloud Foundry Foundation 管理。该软件最初由 VMware 开发,但之后转...阅读全文

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

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

KEYS命令,严格禁在生产环境中使用) Redis的数据结构和相关常用命令 本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。本节只对Redis命令进行扼要的介绍,且只列出了较常用的命令。如果想要了解完整的Redis命令集,或了解某个命令的详细使用方法,请参考官方文档:https://redis.io/commands Key Redis采用Key-Value型的基本数据结构,任何二进制序列都可以作为Redis的Key使用(例如普通的字符串或一张JPEG图片) 关于Key的一些注意事项: 不要使用过长的Key。例如使用一个1024字节的key就不是一个好主意,不仅会消耗更多的内存,还会导致查找的效率降低 Key短到缺失了可读性也是不好的,例如”u1000flw”比起...阅读全文

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