InfraPub 为您找到相关结果 221

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

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

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

Debian 使用VSFtpd安装配置架设FTP服务器

/init.d/vsftpd stop //停止vsftpd /etc/init.d/vsftpd restart //重新启动vsftpd /etc/init.d/vsftpd reload //重新导入vsftpd Vsftpd的配置文件。 Vsftp的配置文件默认情况下就已经比较安全,一般不需要修改,下面对常用的几个配置选项进行说明: Listen=yes 是否以独立进程启动 anonymous_enable=YES 是否允许匿名ftp,如否则选NO local_enable=YES 是否允许本地用户登录 anon _enable=YES 是否允许匿名ftp用户访问 anon_upload_enable=YES 是否允许匿名上传文件 anon_mkdir_write_enable=YES 是否允...阅读全文

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

2017年DevOps的5大发展预测

在即将过去的一年中,DevOps经历了大规模容器化,许多公司投入了容器化的怀抱。这并不意味着DevOps相关工具已经成熟,但是这些工具为安全改进、容器化和工具集中化奠定了基础。以下是2017年DevOps的5大发展预测。 工具整合 根据Quali公司CTO Joan Wrabetz的说法,DevOps相关工具市场整合的时机已经成熟,这主要归功于消费者需求和公司数量的大规模增长。她提到:“为了简化流程,消费者只会选其中的几个优秀软件,并且围绕着这些工具,将它们整合到自身的流程当中去。这将会导致越来越多的工具直接提供横跨整个持续交付周期端到端功能。” 另外,由于DevOps公司数量的增长,2017年将会迎来小公司的收购潮。“我们已经看见亚马逊对Chef进行了投资。另外,一些DepOps公司已...阅读全文

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

GlusterFS 和 Ceph 比比看

Ceph 块设备,它可以在 Linux 环境中用作常规块设备,使你可以像访问常规 Linux 硬盘一样来使用 Ceph。Ceph 还有 CephFS,它是针对 Linux 环境编写的 Ceph 文件系统。 最近,SUSE 添加了一个 iSCSI 接口,使得运行 iSCSI 客户端的客户端能像任何其他 iSCSI 目标一样访问 Ceph 存储。 所有这些功能使得 Ceph 成为异构环境的更好选,而不仅仅是使用 Linux 操作系统。 所以 Ceph 是一个更灵活的产品,更容易集成到非 Linux 环境中。对于许多公司来说,这足以让它们在 Ceph 而不是 GlusterFS 上构建存储产品。对于仅运行 Linux 的环境,此功能不够有说服力,所以来谈谈另一个非常重要的事情:速度。 为了比较...阅读全文

博文 2017-08-09 10:35:29 debian.cn

2017 热门开源自动化测试框架优缺点对比

是最好的选。 但是,对于功能测试或非 Java 应用,应考虑其他解决方案。 3. Spock Spock 是用于 Java 和 Groovy 应用的测试和规范框架,基于 JUnit 。 优点: 测试可读性强,支持简单的英文句子,便于阅读。 提供周边上下文,从而能轻松了解如何解决故障。 内置 mocking 和 stubbing 功能。 支持数据驱动测试(DDT)。 缺点: 需要具备基本的 Groovy 语言知识。 如果你的应用是基于 JVM 的,并且目标是使用 DSL 进行 BDD 自动化测试,则此框架正适合! 4. NUnit NUnit 是支持所有 .Net 语言的单元测试框架。最初也是基于 Junit 的启发,完全采用 C# 编写,目前已被完全重新设计以使用更多 .NET 语言功能...阅读全文

博文 2017-11-15 08:52:47 debian.cn

使用 tmate 分享你的终端会话

2017 [tmate] ssh session read only: ssh ro-Jck9ufuVN89c7DPK2FFkGQMxV@sg2.tmate.io Wed Dec 6 10:27:59 2017 [tmate] web session: https://tmate.io/t/3zSi6McGj5rkeoWIKMgumWrGr Wed Dec 6 10:27:59 2017 [tmate] ssh session: ssh 3zSi6McGj5rkeoWIKMgumWrGr@sg2.tmate.io 现在,分享你的 SSH 会话 ID 给你的朋友或同事从而允许他们观看终端会话。除了 SSH 会话 ID 以外,你也可以分享 web URL。 另外你还可以选分享的是只读会话还是可读写会...阅读全文

博文 2017-12-06 10:33:33 debian.cn

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

系统,你可以通过下面的命令安装 Apt-Offline: sudo apt-get install apt-offline 如果你的在线系统运行的是非 Debian 类的发行版,使用 git clone 获取 Apt-Offline 仓库: git clone https://github.com/rickysarraf/apt-offline.git 切换到克隆的目录下并在此处运行: cd apt-offline/ sudo ./apt-offline 在离线系统(没有联网的系统)上的步骤 到你的离线系统上创建一个你想存储签名文件的目录: mkdir ~/tmp cd ~/tmp/ 你可以自己选使用任何目录。接下来,运行下面的命令生成签名文件: sudo apt-offline set...阅读全文

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

Dubbo 2.7.0发布 分布式RPC服务框架

的异步模型。2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息...阅读全文

博文 2019-01-18 09:43:16 debian.cn

3个 Linux 命令让你看起来很忙:摸鱼的技巧

注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找点乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简单地回放你选的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码...阅读全文

博文 2019-09-28 15:48:43 debian.cn

Harbor 1.9 发布:新增多项企业级功能

(Tag Retention) 除了项目配额之外,1.9 版还提供了一项增强功能,用于更好地管理镜像生命周期并优化存储分配,此项功能称为“Tag保留”。Harbor 的存储中可能会迅速累积起大量镜像的文件,特别是在 Harbor 与 CI 系统挂钩在一起以自动生成内部版本时,许多 tag 会在一定时间之后或被下一个内部版本取代后过时。要释放这些已过期的镜像所占用的空间,并满足监管与合规要求,项目管理员可以选性地定义镜像 tag 的保留策略,以留存具有特定匹配镜像 tag 的镜像,同时删除其他 tag 及其关联的 blob。无论是手动生成还是从 CI/CD 管道自动生成,镜像 tag 通常包含环境和镜像使用情况的大量元数据信息,足以用作定义保留策略的条件。 CVE 例外策略 (Exception...阅读全文

博文 2019-10-09 12:12:04 debian.cn

PostgreSQL 13 正式版发布

挑战,尽管之前的 PostgreSQL 版本已经做了一些工作来减轻清理的开销。 PostgreSQL 13 通过引入用于索引的并行化清理来继续改进清理系统 。具体来说,VACUUM 命令能够并行处理索引。可以使用 VACUUM 命令上的新 PARALLEL 选项(或 vacuumdb 上的 --parallel)来访问其功能,该选项允许用户指定用于清理索引的并行 Worker 进程的数量。要注意的是,这不适用于 FULL 选项。由于管理员可以选要运行的并行 Worker 进程的数量,因此可以针对特定的工作负载调整此新功能的使用。除了这些性能优势之外,数据插入现在还可以触发自动清理过程。 复制插槽(Replication slots),用于防止在复制副本接收到预写日志(WAL, write...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Systemd 及 Service 文件含义解析

在服务(service)而不是(target)上,所以上述的 httpd 所依赖的仅仅是一些 target,因而也就没有 Requires 和 Wants 出现。 [Service] 可选几种不同的服务启动方式,启动方式通过Type参数进行设置。 * Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。 * Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程...阅读全文

博文 2021-02-17 10:02:50 joseph

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

励 Debian 做出改变,继而改进开发者参与维护的体验。Rails 核心成员纷纷宣布离职继不久之前 Rust 审核团队集体离职事件,近日,又有人发现不少 Rails 核心成员纷纷宣布离职。这还要溯源到去年 4 月,Basecamp 创始人以及 Rails 创建者不允许员工在内部谈论种族等政治话题,这引起了员工很多不满,很多人觉得自己被限制了自由言论。当时,很多核心员工选离职来表示抗议。随着事情不断的发酵,DHH(Rails 创建者)关闭了自己推特的评论功能。如今 DHH 表示他无缘参加今年的 RailsConf 主题演讲,举办方给出的理由是因为去年他大部分时间都不在线。于是 DHH 就吐槽认为这是无稽之谈,不仅发文列举了他去年为Rails的贡献,还表示这是对政治和形态意识差异的报复。在这...阅读全文

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

C++ 夺冠!成为 TIOBE 2022 年度编程语言

应、Hao 123 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/programming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。 这个排行榜可以用来考察你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选依据。 详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index 《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与问卷调研,更有 iPad 等精美大礼等你拿!...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

一位资深Java架构师的晋级心得

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢? 1.框架源码分析 设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

博文 2019-01-13 22:49:22 debian.cn

AWS省钱攻略:预留实例怎么玩

实例的合并,必须在相同的时间过期,换句话说,也就是该批实例必须是同期采购的相同期限的RI。 可转换RI(CRI) CRI在灵活匹配与合并拆分的基础上增加了更多维度可转换属性:实例类型、操作系统、租期、付款选项,当然价格可能可能上浮10个点左右。可以说CRI提供了最高的灵活可变性,几乎可满足所有的更变需求。唯一的限制: 新可转换预留实例的总价值(预付价格 + 每小时价格 * 剩余小时数)必须大于等于当前总价值! 换句话说客户只能在现有基础上加价,这种也是有道理,AWS 总不能因为您换了小规格实例给你退钱吧。 AWS RI使用的一些建议 如果没有容量预留的需求不要选可用区RI,否则将失去灵活匹配优势针对业务计算需求增加需要调整实例类型机型(非license ) ,无需调整已购买的RI,只需要考...阅读全文

博文 2019-08-18 18:26:19 debian.cn

Rust 1.37.0 稳定版发布

Cargo 项目中选默认二进制文件 cargo run 对于快速测试 CLI 应用程序是可以的,当多个二进制文件出现在同一个包中时,必须使用 --bin 标志显式声明要运行的二进制文件的名称。这使得 cargo run 不像我们想要的那样符合人机工程学,特别是当一个二进制文件比其他的更频繁地被调用时。 Rust 1.37.0 通过添加 default-run 来解决这个问题,这是 Cargo.toml 中的一个新键,当这个键在 [Package] 部分中声明时,如果没有传递 --bin 标志,cargo run 将默认为所选的二进制文件。 枚举上的 #[repr(align(N))] #[repr(align(N))] 属性可用于提高类型定义的对齐性。以前,该属性仅允许在 struct 和...阅读全文

博文 2019-08-17 21:17:23 debian.cn

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

随着企业的逐步成熟,他们会开发更多工具。在Google,我们持续创建新的外部和内部服务,以及支持这些服务的基础架构。 从2013年起,我们开始放弃之前用来更新和维护服务的简单的自动化工作流。每个服务都要求复杂的更新逻辑,并且还需要适应基础架构的变化,经常性的集群的启动关闭等等。配置多个,互相交互的服务的工作流变得难以维护。 我们需要一种全新的方案来适应业务的增长以及所涉及到的配置的复杂性。为此,我们开发了声明式的自动化系统,作为统一的控制层,并且取代了工作流。这个系统包括两个主要的工具:Podspec,描述服务基础架构的工具,和Annealing,更新生产环境来匹配Prodspec输出的工具。本文讨论我们解决过的问题,以及我们所选的架构。 Prodspec和Annealing有一个根本共...阅读全文

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

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

件公司Tableau卖给了Salesforce公司。AWS业务有点像自助餐,给开发者和终端用户提供了几百种在线服务自由选,另外每年还不断推陈出新。从财务角度看,这一业务还是个“黑箱”。亚马逊没有披露云计算业务的具体营收来源,也没有给出各个子版块的利润率情况。AWS诞生初期,就是作为一个基础计算服务的外包供应商,包括计算资源和数据存储等。可以判断,该业务大部分收入和利润仍然来自这些业务。科技业人士克里·奎因(Corey Quinn)曾经在私营的Duckbill集团担任首席云经济学家,帮助客户公司降低他们在亚马逊云计算的开支。奎因预测,AWS一半以上的收入来自于EC2计算服务。这一服务相当于让企业用户在亚马逊数据中心租赁到了实体服务器虚拟的“一部分”。奎因表示,计算服务再加上“弹性块存储...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Docker 快速入门之 Dockerfile

, LABEL, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ARG, ONBUILD, SHELL等指令,这里只选常用的几个进行讲解,可结合上面的示例进行理解。其它的请自行查阅官方文档。 3.1 FROM FROM 指令用于指定要操作的基础镜像,因为在我们构建我们自己的镜像的时候需要一个基础镜像。 语法: FROM [AS ] FROM [:] [AS ] 其中 [AS ] 为指定一个名称,在一个 Dockerfile 中多次使用 FROM 时如有需要,可用 COPY --from= 语法进行复制。 3.2 RUN RUN 指令...阅读全文

博文 2017-12-16 13:50:31 debian.cn

DevOps 越来越流行,2019 年这八大趋势值得关注

务就跟着学,一定要了解自己的需求,并知道为什么要采用微服务架构。 更多公司预计会选企业版软件 很多公司仍处于是自己开发还是购买企业版软件的两难境地。我们建议你做自己最擅长的事情,并按照自己的要求购买相应的工具。这样不仅可以帮助你专注于你的目标,还可以完全依赖第三方平台来提高工作效率。很多公司现在都在通过企业版软件来构建自己的基础设施,并确保安全性尽可能得到最好的控制。 Kubernetes 将进一步演化 Kubernetes 因为易用性而成为增长最快的容器技术。Kubernetes 还建立了一个壮大的开源社区。在世界各地,很多 CIO 和技术专家已经在使用 Kubernetes,并预计在 2019 年会有重大的发展。 最近,云原生计算基金会(CNCF)进行了一项调查,分享了容器编排领域所发...阅读全文

博文 2018-12-10 22:49:57 debian.cn

谷歌开源了代码评审规范:好坏代码应这样来判断

识也是改善系统代码健康状态的重要部分。当然,如果评审者的评论仅仅只是教育性的,且对于标准要求不那么重要,那么还是要加上前缀「Nit:」的。 评审准则 技术事实和数据要优先于观点与个人风格。 在代码风格方面,谷歌的代码风格指南是最权威的参考资料。任何不在风格指南中的代码习惯,都属于个人风格,但我们应该保证基本的风格和谷歌风格指南是一致的。 软件设计方面几乎不会有纯粹的风格问题,或者纯粹个人的习惯问题。很多风格问题都基于一些基本准测,它们并不是简单地由个人观点决定的。此外,如果代码作者通过数据或基本工程原则证明了几种方法同样有效,那么评审者应该接受作者的风格。否则,偏好的选还是取决于软件设计的标准原则。 如果没有其它适用规则,那么评审者可以要求作者的偏好与当前代码库保持一致,同时不对整体的代码...阅读全文

博文 2019-09-10 17:19:13 debian.cn

CentOS停止维护后,我们应该用什么操作系统?

有很多理由可以选 Debian 作为您的操作系统——作为用户、作为开发者,甚至是在企业环境中。大多数用户称赞它的稳定性,以及软件包和发行版的平滑的升级过程。Debian 也被软件和硬件开发人员广泛使用,因为它能运行在众多架构和设备上,提供了一个公开的缺陷跟踪系统,以及面向开发人员的其他工具。如果您在专业环境中使用 Debian,您还可以享受到诸如 LTS 版本和云映像带来的额外好处。对我而言,使用 Debian 的原因是它完美的易用性和稳定性。这些年来,我使用了各种不同的发行版,但是 Debian 是唯一一个能够完美使用的发行版。NorhamsFinest 在 Reddit 上写道面向用户的 DebianDebian 是自由软件。Debian 是由自由和开放源代码的软件组成的,并将始终保...阅读全文

APISIX Ingress 如何使用 Cert Manager 管理证书

于在 Kubernetes 平台上简化证书管理的软件,它支持对接许多不同的证书源,如 Let's Encrypt 和 HashiCorp Vault。 如果你在使用 Apache APISIX Ingress Controller 时,遇到了证书管理的麻烦,那么使用 Cert Manager 将会是一个不错的选,本文将介绍如何通过 Cert Manager 来创建证书并对接到 Apache APISIX Ingress Controller。 步骤一:环境准备 如果你希望按照本文的指导进行实际的操作,请确保以下环境和工具已准备就绪: 准备一个可用的 Kubernetes 集群,开发环境中,你可以使用 Kind 和 Minikube 安装 kubectl 安装 Helm v3 请注意,下文所...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

-certificate-exporter监控集群所有node的 /etc/kubernetes/pki 和 /var/lib/kubelet 下的证书以及 kubeconfig 文件 优势: 可以监控所有 node, 所有 kubeconfig 文件, 以及 所有 tls 格式的 secret 证书, 如果要监控 Kubernetes 集群以外的证书, 也可以如法炮制; 范围广而全; 需要额外安装: x509-certificate-exporter, 对应有 1 个 Deployment 和 多个 DaemonSet, 对 Kubernetes 集群的资源消耗不少. 可以根据您的实际情况灵活进行选. 🎉🎉🎉 📚️参考文档 如何使用 Blackbox Exporter 监控 URL? - 东风微鸣技术...阅读全文

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

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

成一个三节点的 Kubernetes 集群的创建,可以开始愉快的玩耍了。 K3s 的蛋蛋 如果执行 kubectl get pods --all-namespaces,就会看到其它服务的一些 Pod,比如 Traefik。Traefik 在这里起到是反向代理和负载均衡器的作用,它可以让流量从单个入口进入集群后引导到集群中的各个服务。Kubernetes 支持这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选。...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

衡量标准。 节点距离:两个节点到达最近的共同祖先的距离总和。 例如,假设有数据中心d1机架r1中的节点n1。该节点可以表示为/d1/r1/n1。利用这种标记,这里给出四种距离描述。 Distance(/d1/r1/n1, /d1/r1/n1)=0(同一节点上的进程) Distance(/d1/r1/n1, /d1/r1/n2)=2(同一机架上的不同节点) Distance(/d1/r1/n1, /d1/r3/n2)=4(同一数据中心不同机架上的节点) Distance(/d1/r1/n1, /d2/r4/n2)=6(不同数据中心的节点) 机架 7.2 机架感知(副本节点选) 1)低版本Hadoop副本节点选 第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。 第二个副...阅读全文

协议介绍之深入了解 gRPC

。 如果大家对解析 HTTP/1.x 很感兴趣,可以研究下 http-parser,一个非常高效小巧的 C library,见过不少框架都是集成了这个库来处理 HTTP/1.x 的。 Request/Response HTTP/1.x 另一个问题就在于它的交互模式,一个连接每次只能一问一答,也就是client 发送了 request 之后,必须等到 response,才能继续发送下一次请求。 这套机制是非常简单,但会造成网络连接利用率不高。如果需要同时进行大量的交互,client 需要跟 server 建立多条连接,但连接的建立也是有开销的,所以为了性能,通常这些连接都是长连接一直保活的,虽然对于 server 来说同时处理百万连接也没啥太大的挑战,但终归效率不高。 Push 用...阅读全文

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

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

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

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

Gitlab CI 配置文件 .gitlab

only no 定义一列git分支,并为其创建job except no 定义一列git分支,不创建job tags no 定义一列tags,用来指定选哪个Runner(同时Runner也要设置tags) allow_failure no 允许job失败。失败的job不影响commit状态 when no 定义何时开始job。可以是on_success,on_failure,always或者manual dependencies no 定义job依赖关系,这样他们就可以互相传递artifacts cache no 定义应在后续运行之间缓存的文件列表 before_script no 重写一组在作业前执行的命令 after_script no 重写一组在作业后执行的命令 environment...阅读全文

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

域名与商标: 如何防止域名被仲裁

用,费用由投诉人承担。 A、一人独任专家组: 1-5个域名,总收费6000元,其中管理费2000,专家费40006-10个域名,总收费8000元,其中管理费3000,专家费500010个以上,总收费11000元,其中管理费4000,专家费7000 B、三人合议专家组: 1-5个域名,总收费9000,其中管理费2500,专家费6500(首席:4,000;其他:2,500)6-10个域名,总收费12000,其中管理费3500,专家费8500(首席:5,000;其他:3,500)10个以上,总收费16500,其中管理费4500,专家费12000(首席:7,000;其他:5,000) 至于是由一人独任还是三人合议,一方面由仲裁机构指定,另一方面需征得投诉人和被投诉人的认可,如果投诉人选三人合议,而...阅读全文

博文 2019-01-18 14:59:59 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

”(procedural details)。当抉艰难时,我们需要创造出一个能够消弭分歧的机制。这个机制甚至能够在我们失去立场的时候,发挥作用。 在 Allbery 看来,Debian 之前走错了方向。在这一层上,Allbery 聚焦在“机制”上。而从 Debian的现存机制上来看,Debian 为项目个人提供了极大的自由。 Debian 把决定权交给了个人开发者,开发者可以按照他们认为合适的方式来进行管理。这种自由被 Debian 章程(consitution)和 Debian policy manual 限制,主要是为了确保开发者和他们创建的软件包都能共存并且和睦相处。 当大家分歧不大的时候,这个机制基本上都是可行(不然 Debian 也不会有效运行这么多年)。而面对一些特殊情况,Debian 社区的机制主要...阅读全文

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

Golang 操作 Kafka 样例

broker-0、broker-1等…… Topic:消息的主题,可以理解为消息的分类,kafka的数据就保存在topic。在每个broker上 都可以创建多个topic。实际应用中通常是一个业务线建一个topic。 Partition:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞 吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的⽂件夹! Replication:每一个分区都有多个副本,副本的作用是做备胎。当主分区(Leader)故障的 时候会选一个备胎(Follower)上位,成为Leader。在kafka中默认副本的最大数量是10 个,且副本的数量不能大于Broker的数量,follower和leader绝对...阅读全文

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

Monit:开源服务器监控工具

服务(service)。看监控语法: check <类型> <服务名> [PATH ] [ADDRESS ] 其中类型是monit支持的监控类型,一共有:system、file、process、fifo、filesystem、directory、host、network、program。服务名必需是英文且唯一,不可以出现重复!后面的带[]是根据类型需要添加的。 服务类型语法 每个服务条目由关键字组成check,后面是服务类型。每个条目需要唯一的描述性名称,可以自由选。此名称由Monit用于在内部和与用户的所有交互中引用该服务。 目前,支持九种类型的检查语句: 进程 CHECK PROCESS 阅读全文

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

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

的监控: RPC 调用排障,调用方除了拥有下游接口信息,也可溯源自身触发该调用的接口。 接口高耗时分析,根据指标,可还原出单位时间窗口的耗时分解图快速查看耗时组件。 3.2 关于选型的疑问 你可能会问,链路监控领域在业内有现成的 APM 产品,比如 Zipkin, Pinpoint, SkyWalking 等,为什么当时会选 OpenTracing + Prometheus 自行埋点?主要有两大因素: 第一,在当时,CAT 无法满足全链路监控和一些定制化的报表分析,而得物交易链路五彩石项目交付也趋于尾声,贸然去集成外部一款庞大的 APM 产品在没有充分的验证下,会给服务带来稳定性风险,在极其有限的时间周期内不是个理智的选。 第二,监控组件是随着统一的基础框架来发布,同时,由另一团队牵头开...阅读全文

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

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

本文从 Redis 的基本特性入手,通过讲述Redis的数据结构和主要命令,对 Redis 的基本功能进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行进一步的介绍。本文适合使用Redis的普通开发人员,以及对Redis进行选型、架构设计和性能调优的架构设计人员。 目录 概述 Redis的数据结构和相关常用命令 数据持久化 内存管理与数据淘汰机制 Pipelining 事务与Scripting Redis性能调优 主从复制与集群分片 Redis Java客户端的选 概述 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。 Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图...阅读全文

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

Kafka 3.0新特性全面曝光,真香!

仲裁。在kafka3.0的新的版本当中,使用了新的KRaft协议,使用该协议来保证在元数据仲裁中准确的复制元数据,这个协议类似于zk当中的zab协议以及类似于Raft协议,但是KRaft协议使用的是基于事件驱动的模式,与ZAB协议和Raft协议还有点不一样在kafka3.0之前的的版本当中,主要是借助于controller来进行leader partition的选举,而在3.0协议当中,使用了KRaft来实现自己选leader,并最终令所有节点达成共识,这样简化了controller的选举过程,效果更加高效。(二)kakfa3 Raft前面我们已经知道了在kafka3当中可以不用再依赖于zk来保存kafka当中的元数据了,转而使用Kafka Raft来实现元数据的一致性,简称KRaft,并...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

王垠:如何掌握所有的程序语言

很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是编程初学者,不知道该选什么程序语言来入门。 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种程序语言争...阅读全文

博文 2017-07-10 10:13:17 debian.cn

Apache Flink 1.14 新特性预览 - OSCHINA

在引擎层面,API 层面和算子的执行层面上做到了真正的流与批用同一套机制运行。但是在任务具体的执行模式上会有 2 种不同的模式: 下图是不同的执行模式: 对于无限的数据流,统一采用了流的执行模式。流的执行模式指的是所有计算节点是通过 Pipeline 模式去连接的,Pipeline 是指上游和下游计算任务是同时运行的,随着上游不断产出数据,下游同时在不断消费数据。这种全 Pipeline 的执行方式可以: 通过 eventTime 表示数据是什么时候产生的; 通过 watermark 得知在哪个时间点,数据已经到达了; 通过 state 来维护计算中间状态; 通过 Checkpoint 做容错的处理。 这两种各有优劣,可以根据作业的具体场景来进行选。 对于有限的数据集有 2 种执行模式,我...阅读全文

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

aptitude 与 apt

update。如果apt-file search filename输出的内容太多,您可以尝试使用, apt-file search filename | grep -w filename 只显示指定字符串作为完整的单词出现在其中的那些文件名,类似方法还有 , apt-file search filename | grep /bin/ 只显示位于诸如/bin或/usr/bin这些带有/bin字段的文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的。 典型应用 我是个赛车发烧友,想装个赛车类游戏玩玩。有哪些赛车类游戏可供选呢?apt-cache search racing game出来了一大堆结果。看看有没有更多关于torcs这个游戏的信息。apt-cache show torcs...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

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

maintainers: 很多开发人员没有申请 DM/DD,而是选通过一位 DD 来协助上传软件包。他们对于自己的软件包和其他开发人员没有任何更多的区别,同时又不必去经历相对繁琐的申请流程。 4. Non-uploading DD: Debian 为迎接那些不参与打包,但是参与文档、翻译、网站和设施维护等工作的人进入 Debian 社区所设立的 DD 类型,与其他 DD 的区别是没有上传软件包的权限。(参考文档) 5. Sponsor: 协助其他没有上传权限的开发人员,检查软件包并将符合要求的上传到官方仓库的 Debian Developer。 6. NM Process: New Maintainer Process,一位 Sponsored Maintainer 或 DM 申请成为正式的 DD 的过程,需...阅读全文

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

,使用了很多叫做arena的memory pool,缺省配置在64bit下面是每一个arena为64M,一个进程可以最多有 cores * 8个arena。假设你的机器是4核的,那么最多可以有4 * 8 = 32个arena,也就是使用32 * 64 = 2048M内存。 当然你也可以通过设置环境变量来改变arena的数量.例如 export MALLOC_ARENA_MAX=1 hadoop推荐把这个值设置为4。当然了,既然是多核的机器,而arena的引进是为了解决多线程内存分配竞争的问题,那么设置为cpu核的数量估计也是一个不错的选。设置这个值以后最好能对你的程序做一下压力测试,用以看看改变arena的数量是否会对程序的性能有影响。 mallopt(M_ARENA_MAX, xxx)如果...阅读全文

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

如何在 Debian 下配置邮件服务器

户和它们各自的邮箱。创建一个用户是很容易的。 root@mail:~# adduser fourbyte 安装和配置SMTP 服务: postfix 配置文件路径 /etc/postfix/ 执行脚本 /etc/init.d/postfix 日志文件 /var/log/mail.log 端口 TCP/25 SMTP:安装postfix Postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量级的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。 root@mail:~# apt-get install postfix 在安装过程中,需要指定电子邮件服务器和域名的类型。 由于此邮件服务器就会直接向目的地发送电子邮件,我们选Internet Site。 邮件服...阅读全文

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

Docker 17.06 社区版发布

加了对日志驱动器插件的支持。 Service日志 docker service logs从实验版本改进到了稳定版,你可以轻松地获取Swarm上运行的一个服务的完整日志。同时也添加了服务中单个任务日志的端点。 网络 Service中节点本地的网络支持 Docker支持很多的网络选。在Docker 17.06 CE中,可以将服务追加到节点本地的网络(node-local networks)。这包括如Host、Macvlan,IPVlan,Bridge和本地作用域的插件。例如对于一个Macvlan网络,可以在worker节点上创建一个节点特定的网络配置,然后在manager节点上创建一个加入了这些配置的网络: [Wrk-node1]$ docker network create —config...阅读全文

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

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

年谷歌是否退出中国市场这件事情上,因为施密特在2011年计划卸任 CEO(据说这是三人间的十年之约),两位创始人的意见占据了主动(他们从未造访过中国,所以对这一市场缺乏认识),最后谷歌不得不退出。 世界属于年轻人 不过事实证明,施密特只担任十年谷歌 CEO 是正确的选,他在2011年卸任,并转而担任谷歌董事会执行主席,很多人不理解这背后的原因,但下面的故事已经足以证明,施密特的经验在21世纪,只有十年的保质期。 施密特曾经主动承认过自己的两个失误,一个是对于 AI 技术缺乏远见,在施密特在任时他曾经判断这项技术不会取得大规模的成功, 并认为 AI 只能够在具体任务中作为一个特定的工具,至于广泛应用则需要几十年事件。这一系列的决策使得谷歌在人工智能领域被苹果、Facebook 等企业甩开了身...阅读全文

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

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

近日,百度两年前的一桩诉讼案终于有了答案。中国裁判文书网显示,百度运维员工“安某”从 2018 年1 月底到 5 月底,以技术手段在公司服务器上部署“挖矿”程序,非法控制 150 余台服务器以获取比特币、门罗币等虚拟货币,共获利人民币 10 万余元。 事发后,“安某”不仅被没收了所有获利金额,罚款 11000 元,还背上了三年牢饭,有点惨。 4 个月,占用 155 台服务器,获利 10 万余元。 2017 年“安某”正式入职百度,彼时,比特币的价格飙升到了近 2 万美元,按照当时的汇率,一枚比特币人民币价格将近 13 万。虽然后续的币价有所降低,但挖到一枚,还可以挣几万块,这样的诱惑或许没有几个人会选无视。 2018 年初,“安某”开始打起了挖矿的主意。 挖矿,是指利用服务器CPU的运算...阅读全文

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

树莓派 9 周年:你不知道的树莓派冷知识

。 5. 树莓派总共能跑 20+ 个操作系统树莓派可以运行的操作系统多达 20 余种。其中,基于 Debian 定制的 Raspberry Pi OS 是树莓派官方的操作系统。但到目前为止,它并不是最受树莓派用户们青睐的选。对于喜欢 DIY 的树莓派用户来说,为其适配 Ubuntu 和 FreeBSD Linux 版本,以及非官方的 Android 和Chrome OS 端口等显然更具有挑战性。开源社区中已经有大量不同的操作系统适配树莓派的实现方案。一些最有趣的包括: LibreELEC:运行 Kodi 开源媒体软件的轻量级操作系统。 RISC 操作系统:此独特的操作系统专为 ARM 芯片而设计,号称拥有比 Linux 更快的运行速度。 Chromium 操作系统: Chromium OS 在...阅读全文

博文 2021-03-11 17:03:55 diablo4

在TKE上使用Kubecost进行成本管理

的资源。例如,如果您的集群的利用率仅为25%,以资源的最大使用量和 Request 来衡量,则 Allocate idle costs 会按比例增加每个 pod/NS/Deployment 的成本到原来的4倍。 6. **图表选**: 切换到条形图视图以查看所选窗口的汇总成本,或切换到时间序列视图以查看成本随时间的变化。 7. **附加选项**: 查看其他选项以将成本数据导出为 CSV 或查看帮助文档。 ### Assets ![img](https://main.qcloudimg.com/raw/275c22510f157d3b3710aa147eb2f69f.png) Kubecost Assets 视图显示了按集群中单个资源细分的 Kubernetes 集群成本(例如,按节点、磁盘...阅读全文

WebAssembly:无需容器的 Docker (上)

得在最小打包的上下文下运行应用程序配置变得更加容易,而不会影响主机操作系统上的任何其他应用程序。 但是,仍然需要分发与其运行时和必要的库捆绑在一起的应用程序。 安全边界由 Linux 内核提供。现在有了 WebAssembly。 它的技术特性和可移植性使得分发应用程序成为可能,无需 ship 操作系统级别的依赖项,并且可以在严格的安全约束下运行。鉴于所有这些,开发者通常将 WebAssembly 视为容器的 “继承者”,以及基础设施部署的自然而然的下一步。然而,另一种看待 WebAssembly 的方式是将其作为 Docker 工具的另一个 “后端” 选。 可以使用相同的命令行工具和工作流,替代 Linux 容器,使用基于 WebAssembly 的容器等同等的东西来实现。 本文的其余部分...阅读全文

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