InfraPub 为您找到相关结果 386

Golang 应用集成 Prometheus 统计数据支持

Prometheus 客户端公开了在暴露服务指标时能够运用的四种指标类型。查看 Prometheus 的文档 以获得关于各种指标类型的深入信息。 Counter(计数器 一种累加的 metric,典型的应用如:请求的个数,结束的任务数,出现的错误数等。随着客户端不断请求,数值越来越大。例如api_http_requests_total{method="POST", handler="/messages"} Gauge(计量器) 一种常规的 metric,典型的应用如:温度,运行的 goroutines 的个数。返回的数值会上下波动。 例如 go_goroutines{instance="172.17.0.2", job="Prometheus"} Histogram(分布图) 可以理解为柱图,典型的应用如...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

Go 1.12 正式版发布,初步支持 TLS 1.3

在 trace 工具加入了 Mutator Utilization 图的支持,它可以方便发现 GC 性能受限的情;不再支持 go tool vet;go tool tour 不再包含在主二进制发行版中,需要手动安装;Go 1.12 是最后一个支持 binary-only packages 的版本;……Runtime 方面,Go 1.12:提升了大量堆(Heap)活跃态情下的扫除(Sweeping)性能,这减少了垃圾回收之后的分配延迟,可以更好地将内存释放回操作系统;Runtime 的 timer 和 deadline 代码随着 CPU 数目的增加,会有更好的表现。这提升了网络连接最后期限(deadline)相关操作的性能;通过大型堆分配的相关修复,提升了内存配置文件的精确性;……平台相...阅读全文

Debian 如何修改默认网卡为 eth0

Debian 系统安装以后,可能会遇到网卡设备名不是常见的 eth0 的情。我们有没有办法统一网卡设备名称呢? 在服务器环境中,统一网卡设备名是很有必要的。标准化的配置会节省我们大量的时间,这些时间可能会花在排障、监控的配置、态收集脚本的调整等。 这里我们介绍如何把 Debian 系统中的网卡从非 eth0,调整为 eth0,这个设备名是各 Linux 系统中比较通用的网卡设备名。下面我们以设备名 ens3 为例,介绍在Debian 系统中,如何修改网卡设备名为 eth0 的具体步骤。 首选,我们需要编辑 grub 的配置文件,修改启动参数。使用编辑器打开 /etc/default/grub, 查找: GRUB_CMDLINE_LINUX="" 找到这行,并修改为...阅读全文

博文 2019-07-12 13:59:08 debian.cn

Windows Lite 对微软来说意味着什么?

实际上比 Apple 的设备更慢,电池寿命更短。 因此,Windows Lite 有明显优势:它有一个新界面,只能运行 Microsoft Store 中的应用程序。它还将能在各种硬件上运行,包括骁龙和 ARM ,这些手机和平板电脑中的常用芯片类型可提供更好的电池寿命和即时启动功能。从目前来看,Windows Lite 直接的竞争对手似乎偏向于 Chrome OS 。但从长远来看,它可视为是基于一种名为 Core OS 的技术的全新 Windows 版本,一款从头开始构建的现代操作系统。 实际上,“很快” 这个词已被许多人用于对 Windows 系统的“嘲讽”。要改变这种,微软也确实需要推出新的操作系统了。【编译自:The Week】...阅读全文

nginx 1.18.0 稳定版发布

nginx 1.18.0 已发布,这是继 1.16 系列之后的最新稳定版本。 1.18.0 加入了 1.17.x mainline 分支中的新功能和 bug 修复,包括 limit_req 和 limit_conn 中的 dry run 模式,limit_rate, limit_rate_after 和 grpc_pass 指令中对变量的支持,以及支持 auth_delay 指令等。 auth_delay 指令位于 ngx_http_core_module 模块中,用法如下: 语法:auth_delay time; 默认值:auth_delay 0s; 上下文:http, server, location 通过 401 响应态码来延迟处理未经授权的请求,以防止因密码、子请求结果或 JWT...阅读全文

博文 2020-04-23 09:18:27 debian.cn

Debian 安装 fail2ban 方式SSH爆破攻击

使用 Debian 这么久,影响最深的小软件莫过于 fail2ban 了。对多数服务器而已,对外开放的服务中,风险相对较高的莫过于 SSH 服务了, fail2ban 是一个轻量、有效、便捷的保护服务器免受暴力攻击的工具。 Fail2ban 使用 iptables 来阻止攻击者。 Fail2ban 的安装非常简单。Debian 及衍生版,可以直接从软件源安装: apt-get install fail2ban 安装结束后便进入可用态,默认的设置就足够使用了。这就是 Debian 的风格,不需要不必要的人工干预,在不知不觉中就提升了你的效率。我们还是来看一下 fail2ban 的配置文件 /etc/fail2ban/jail.conf ,默认区段如下: [DEFAULT]ignoreip...阅读全文

博文 2019-03-27 16:45:58 debian.cn

Eric Raymond:Windows 10将成为Linux内核上的仿真层

微软的财务做为证据,比如Linux系统已经是Windows的子系统(Windows Subsystem for Linux - WSL),以及即将发布 Ubuntu Linux系统下基于Chromium内核的Edge浏览器正式版。后者很容易理解,微软花了很少时间就把浏览器市场抢到了领先位置。 “微软开发者将Linux内核引入Windows功能,这表明让人超级感兴趣的技术方向。”Raymond如是说。WSL让Linux二进制文件无需仿真就可以在Windows 10系统下运行。 另外的因素是Proton,可以在Linux上运行Windows二制流游戏,Raymond认为,Windows可以像在Linux内核的Proton一样成为仿真层,老的游戏程序和旧版软件都将位于该仿真层。 Windows...阅读全文

博文 2020-09-30 11:07:43 debian.cn

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

欧盟一般数据保护条例(GDPR)和加州消费者隐私法案(CCPA)是欧美两大经济体所出台的两部具有代表意义的个人数据保护方面的法规,代表欧美监管机关对于个人数据保护两种不同的管控取向。 本文选取了“个人数据或信息的类型与范围界定”、“法律的管辖范围”、“数据跨境传输管控”、“儿童数据的保护”、“数据主体的反对权和被遗忘权”等关键概念,对GDPR和CCPA的部分要点进行比较分析。 1. “个人数据”或“个人信息”的范围界定 1.1 GDPR对个人数据的定义——侧重用抽象概念定义,实践中存在很大解释空间 除了对少数“特殊种类个人数据”(如宗教信仰、种族、工会成员信息、等)进行了零星列举以外,《欧盟一般个人数据保护条例》(GDPR)主要用抽象概念对其所管辖的“个人数据”的范围进行界定。 根...阅读全文

Debian Linux下安装配置 Pure

PureFTPd 是一款专注于程序壮和软件安全的免费FTP服务器软件(基于BSD License)。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、FreeBSD、Solaris、Darwin等。PureFTPd 还有Android移植版本。 本篇文章,我们介绍如何在 Debian 系统中,安装配置 pure-ftpd。 首选在系统中安装 pure-ftpd:sudo apt-get install pure-ftpd 1. 在系统里增加一个不能登录的用户及用户组,用于映射ftp虚拟用户 sudo groupadd ftpgroup sudo useradd -g ftpgroup -d /usr/sbin/nologin ftpuser 说明: ftpuser...阅读全文

博文 2021-01-28 17:50:24 ftpd

RabbitMQ 3.8.8 发布:引入维护模式

RabbitMQ 3.8.8 已经发布。RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、壮以及可伸缩性出名的 Erlang 编写而成,因此它也继承了这些优点。 此版本最大亮点是引入了一种新的节点操作模式,称为维护模式。 当将节点放下进行维护并处于维护模式时,该节点将无法用于服务客户端流量,并且将尝试尽可能实际地转移其职责使其安全。当前,这涉及以下步骤: 挂起所有客户端连接侦听器(不接受新的客户端连接)关闭所有现有的客户端连接:应用程序应重新连接到其它节点并恢复所有经典镜像队列的主副本托管在传输目标节点上所有仲裁队列的主要副本托管在传输目标节点上,并阻止它们参与随后触发的 Raft 选举将节点标记为关闭以进行维...阅读全文

博文 2020-09-04 09:46:57 debian.cn

阿里巴巴版 JDK 首发 GA 版 生产环境可用

增强和安全修复,主要针对的场景是数据中心大规模 Java 应用部署情下,Java 应用稳定性、效率以及性能的优化与提高。从目前公开的功能和披露的规划上来看,Dragonwell 8 具有下述三大重要特性: JwarmUp JwarmUp 是为了解决双十一抢购场景下,阿里巴巴 Java 系统 warmup 的痛点。以普通的 Java 应用举例,JVM 需要经过解释执行 (interpreter) 找到热点,然后通过 JIT 编译器来加速热点方法的运行。对于高并发场景,应用启动之后会有很长时间处于寻找热点、编译热点的态。这时,很多性能指标 (CPU 使用率、TPS 吞吐量、 RT 响应时间) 不是非常理想。换句话说,当 Java 应用启动并提供服务之后,在相当长的时间内处于 warmup ...阅读全文

博文 2019-07-11 10:24:52 debian.cn

分布式任务调度平台 XXL

任务,”CommandJobHandler”);业务方只需要提供命令行即可; 6、任务态优化,仅运行态”NORMAL” 任务关联至 quartz,降低 quartz 底层数据存储与调度压力; 7、任务态规范:新增任务默认停止态,任务更新时保持任务态不变; 8、IP 获取逻辑优化,优先遍历网卡来获取可用 IP ; 9、任务新增的 API 服务接口返回任务 ID,方便调用方实用; 10、组件化优化,移除对 spring 的依赖:非 spring 应用选用 “XxlJobExecutor” 、spring 应用选用 “XxlJobSpringExecutor” 作为执行器组件; 11、任务 RollingLog 展示逻辑优化,修复超时任务无法查看的问题; 12、多项 UI 组件升级到最新...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

处理器架构消亡史

扩展到完整的64位体系架构。于是,Alpha架构应运而生。Alpha于1992年末推出,是专为高端台式机,工作站和服务器设计的微处理器架构,这也使得他们成为首批实现64位体系架构的企业之一。Alpha对于产业的贡献或许不是有多少产品采用了这种架构,而是他在理论上为产业的发展提供了一种新思路。有人认为,Alpha,MIPS两种RISC架构都比较早的考虑了64位、和引入了很多超前的微架构设计概念,以至于影响了以后英特尔在微架构(uops)、超线程方面的发展,这些在英特尔处理器微架构设计隐约能看到Alpha架构的一些影子。除此之外,艾电脑公司于1983年开始的开发项目——ARM也是值得一提的架构。1980年代晚期,苹果电脑开始与艾电脑合作开发新版的ARM核心。由于这项目非常重要,艾电脑甚至于...阅读全文

Monit:开源服务器监控工具

[0.0%] data collected Sat, 18 Feb 2017 10:09:56 或者浏览器输入http://localhost:2812登录网页版查看实时态。 设置错误提醒 Monit默认情下如果一个服务失败只发送一个通知: alert foo@bar 如果您希望在服务保持处于失败态时每十个周期通知一次,您可以使用: alert foo@bar with reminder on 10 cycles 同样,如果您想在每个失败的周期获得通知,您可以使用: alert foo@bar with reminder on 1 cycle 要禁止某些用户和服务的警报,可以在服务检查的局部配置里添加语句: noalert mail-address 服务类型 首先需要理解在monit里什么是...阅读全文

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

Debian的版本号及distributions

Code name debian archive里真正的distribution目录用的是code name,比如sarge、etch,其他名字的distribution目录如stable/testing/unstable、debian 3.1等都是指向code name目录的符号连结。用code name的好处是可以一致地指定一个distribution,而不管该distribution release的态,譬如当前处于testing的etch distribtuion在release后仍然可以用etch来引用它。 sid是一个特殊的code name,它的distribution永远处于unstable态,永远不会release。 Release testing指向下一个要...阅读全文

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

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

关,该操作不会影响到系统的稳定运行。这种对资源隔离的重视也体现在 Controller 本身的设计中:Controller 不能对自己没有明确拥有的资源进行操作,它们应该选择对资源的所有权,互不干涉,互不共享。 有时系统中也会出现孤儿(orphaned)资源,通常由以下两种途径产生: 父级资源被删除,但子级资源没有被删除垃圾收集策略禁止删除子级资源 当发生这种情时,Controller 将会确保孤儿资源拥有新的 Owner。多个父级资源可以相互竞争同一个孤儿资源,但只有一个会成功(其他父级资源会收到验证错误)。 Informers 你可能已经注意到,某些 Controller(例如 RBAC 授权器或 Deployment Controller)需要先检索集群态然后才能正常运行。拿...阅读全文

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

系统分析工具 Sysdig 详解

Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下面我们以 Linux系统为例,举例说明 Sysdig 的用法,你也可以参考官方原文。 网络 查看占用网络带宽最多的进程:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文

博文 2020-08-09 14:09:05 debian.cn

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

地化工作也是做得非常到位,而凭借着架构简单,开箱即用的特点,CAT 也是我们得物使用的第一个应用监控系统。 二、 0x01 第一阶段 从0~1基于CAT的实时应用监控 在得物五彩石项目交付之前,系统仅有基础设施层面的监控,CAT 的引入,很好地弥补了应用监控盲区。它支持提供各个维度的性能监控报表,检测,异常统计,对故障问题排查起到了积极推动的作用,同时也提供简单的实时告警的能力。 CAT 拥有指标分钟级别的聚合统计的能力,从 UI 上不难看出,它拥有丰富的报表统计能力和问题排障能力。 但随着公司业务规模逐步扩大,微服务粒度也不可避免地变小,我们发现,CAT 已经逐步无法满足我们的使用场景了: 无法直观呈现全链路视图: 问题排障与日常性能分析的场景也越来越复杂,对于一个核心场景,其内部...阅读全文

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

美国东海岸大范围断网 谷歌、亚马逊等公司服务受影响 - 通信运营商

威瑞森是美国主要的宽带服务提供商。该公司之前曾提醒用户,布鲁克林的一条光纤被切断。发言人里奇·扬(Rich Young)说,公司“意识到了影响整个东北走廊宽带服务质量的问题”。他补充说,威瑞森“已经看到服务水平开始恢复”。与此同时,美国联邦通信委员会(FCC)正在审查有关网络中断的报告。联邦通信委员会代理主席杰西卡·罗森沃塞尔(Jessica Rosenworcel)在Twitter上表示,该监管机构下属的公共安全和国土安全局“正在努力弄清到底发生了什么”。故障监测网站Downdetector.com也显示,卡斯特公司(Comcast Corp)、Roblox Corp和Slack Technologies Inc.也出现了故障。亚马逊公司的云计算部门在其网站上表示,与其服务相关的连接问...阅读全文

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

-offline get apt-offline.sig --threads 5 --bundle apt-offline-bundle.zip 在这里的 -threads 5 代表着(并发连接的) APT 仓库的数目。如果你想要从更多的仓库下载软件包,你可以增加这里的数值。然后 -bundle apt-offline-bundle.zip 选项表示所有的软件包将会打包到一个叫做 apt-offline-bundle.zip 的单独存档中。这个存档文件将会被保存在你的当前工作目录中(LCTT 译注:即 tmp 目录)。 上面的命令将会按照之前在离线系统上生成的签名文件下载数据。根据你的网络,这个操作将会花费几分钟左右的时间。请记住,apt-offline 是跨平台的,所以你可以在任何操作系统上使用它下...阅读全文

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

Python 社区有了新治理模式

: PEP 8010:技术领导人治理模式维持现提案人: Barry WarsawPEP 8011:三巨头治理模式类似现,但三人决策提案人:Mariatta Wijaya、Barry WarsawPEP 8012:社区治理模式没有核心决策人提案人: Łukasz LangaPEP 8013:外部治理模式非核心监督提案人:Steve DowerPEP 8014:大众治理模式核心监督提案人:Jack JansenPEP 8015:Python 社区的组织模式将多数决策交给团队提案人:Victor StinnerPEP 8016:指导委员会模式引导治理的迭代提案人:Nathaniel J. Smith、Donald Stufft 在 PK 投票过程中,PEP 8016 分别战胜了其它 6 种模型(以及一...阅读全文

Rancher 2.2.2 发布:优化 Kubernetes 集群运维

Windows 节点正式提供生产级别支持的 Kubernetes 版本。 UI 和 API 的性能提升 Rancher v2.2.2 中,UI 和 API 的性格都得到了大幅优化。项目相关的资源 API 调用(特别是 pod)所需的加载时间大幅减短,页面在极短的时间内即可用。 其他的修复或更新 修复了无法为 AWS 中国区域添加节点模板的问题。出于稳定性考虑,暂时移除了项目级别的监控,将在下一个版本中重新添加;集群级别的监控不受此影响。修复了发布目录模板可能因证书错误而失败的问题。修复了用于与独立 Rancher 服务器通信的自签名证书可能过期的情。修复了 Rancher 配置集群态在带有前缀补丁的集群中被错误提取的问题。 更新详情可查阅 RancherLabs 的 发布公告 下载地址:https...阅读全文

博文 2019-04-22 13:49:38 debian.cn

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待解决方案。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

博文 2023-10-07 15:02:42 infras

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

引入的新的仲裁控制器确保元数据在整个仲裁中可以被准确复制。活动控制器将元数据存储在事件源日志主题中,仲裁中的其他控制器对活动控制器创建的事件做出响应。事件日志定期进行快照,确保日志不会无限增长。与基于 ZooKeeper 的控制器不同,如果出现了问题,仲裁控制器不需要从 ZooKeeper 加载态,因为集群的内部态已经分布在元数据主题中。这大大减少了不可用时间窗口,缩短了系统最坏情恢复时间。下图显示了使用新的仲裁控制器比使用 ZooKeeper 更快地关闭具有 200 万个分区的 Kafka 集群。​新的 KRaft 共识算法和仲裁控制器使得 Kafka 集群可以扩展到数百万个分区,不仅提升了稳定性,让 Kafka 变得更容易监控、管理和支持,而且让整个系统可以有一个单一的安全模型,使...阅读全文

Linux 容器 vs 虚拟机 — 谁更胜一筹

的,而虚拟机对于像运行 LAMP 堆栈这样的单一应用程序使用情是更好的。 Linux 容器 vs 虚拟机 – 安全性 与容器相比,虚拟机提供了更多的安全性。这并不是说容器不能被保护,而是说,默认的虚拟机提供了更大的隔离。请记住,容器可以共享系统资源而虚拟机不行。 在运行容器时,可以采取一些措施来降低风险,包括避免超级用户权限,确保从可信来源获取容器,并且保持最新态。有些容器是数字签名的,这有助于确定您可以从可信来源获取容器。 最后,你需要保持容器的单一功能职责。一旦你开始在一个容器下结合软件职责,你会发现还是使用虚拟机最好。重申一下,容器是用于单一用途的应用程序,虚拟机用于多用途的应用程序。坚持这种做法,你将在安全性和整体功能方面处于更好的。 Linux 容器 vs 虚拟机 – 选择...阅读全文

博文 2017-11-25 10:23:56 debian.cn

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

存在本地的日志,大概就是类似于这个样子:上图显示,共有八条日志数据,其中已经提交了7条,提交的日志都将通过态机持久化到本地磁盘当中,防止宕机。日志复制的保证机制如果两个节点不同的日志文件当中存储着相同的索引和任期号,那么他们所存储的命令是相同的。(原因:leader最多在一个任期里的一个日志索引位置创建一条日志条目,日志条目所在的日志位置从来不会改变)。如果不同日志中两个条目有着相同的索引和任期号,那么他们之前的所有条目都是一样的(原因:每次RPC发送附加日志时,leader会把这条日志前面的日志下标和任期号一起发送给follower,如果follower发现和自己的日志不匹配,那么就拒绝接受这条日志,这个称之为一致性检查)日志的不正常情一般情下,Leader和Followers的日志...阅读全文

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

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

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

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

Gitlab CI 配置文件 .gitlab

内容,请查阅GitLab Runner。 缓存key GitLab Runner v1.0.0 开始引入。 key指令允许我们定义缓存的作用域(亲和性),可以是所有jobs的单个缓存,也可以是每个job,也可以是每个分支或者是任何你认为合适的地方。 它也可以让你很好的调整缓存,允许你设置不同jobs的缓存,甚至是不同分支的缓存。 cache:key可以使用任何的预定义变量。 默认key是默认设置的这个项目缓存,因此默认情下,每个pipelines和jobs中可以共享一切,从GitLab 9.0开始。 配置示例 缓存每个job: cache: key: "$CI_JOB_NAME" untracked: true 缓存每个分支: cache: key...阅读全文

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

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

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

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

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

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

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

Debian升级内核开启TCP_BBR 实现网络单边加速

自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验。但是呢,过高的价格和不再低端售卖。导致了我们并无法实现一个免费好用的单边加速功能。 但是谷歌为我们带来了干货 新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT)。 目前在 Linux Kernel 4.9 中加入了该算法,所以我们只要升级内核就可以爽一波了。难懂的技术说明,我们也不说了,TCP BBR 的目的就是要尽量跑满带宽,并且尽量不要有排队的情。 注: 更新内核有一定风险,请注意备份。 开启 TCP BBR 只要 Linux 发行版的 Kernel 即内核版本大于等于 4.9 即可开启,开启方法是通用的,如何升级至 Kernel 将在下面介绍。 修...阅读全文

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

VS Code 公布 2018 路线图:生态改进 快乐编码

。 Workbench:改善导航页面和通知界面、支持垂直面板布局、实现多选及常见的操作、态栏管理等。 Editor:提高性能和可扩展性、支持语义着色、列选改进、原生 model layer 等。 Terminal:支持多终端分离和查看。 Source Control Integration:支持直接在编辑器中查看更改。 Node、 JavaScript 和 TypeScript Development 计划包括: Language Server Protocol:继续完善和改进语言服务器协议。 Debug Adaptor Protocol:继续完善和改进调试适配器协议,为 DAP 功能提供更多 UI 。 TypeScript (and JavaScript):功能改进。 Debug:支持非 JS 场景的热部署...阅读全文

博文 2017-11-02 11:50:40 debian.cn

Intel 再曝“幽灵”类漏洞:二四六代酷睿受影响

Bridge处理器、四代Haswell处理器和六代Skylake处理器都未能对该漏洞免疫。目前研究人员对AMD处理器的实验还在进行中。 不过与先前CTS-Labs实验室不同,这几位研究者已于更早些时间发现了漏洞,但他们给予了英特尔充足的时间,到最近才将其发表。 研究人员认为,BranchScope是目前首个良好的、直接攻击分支预测单元的手段。对分支预测单元在信道攻击上的漏洞,BranchScope扩展了处理器领域对此的认知。 他们认为,现存的安全补丁和微码更新智能防护部分来自BranchScope的攻击,但还需要进一步的措施才能完全免疫。但是英特尔则对漏洞的危害保持着乐观的态度。 英特尔表示:“我们一直在与这些研究人员合作,并已确定他们描述的问题与先前的信道攻击相似。因此我们认为,现有的软件修复方...阅读全文

博文 2018-03-30 08:48:47 debian.cn

Linux Mint 20 与 Debian 版本 LMDE 4 新特性

态图标等。 LMDE 3 中缺少的某些功能也从 Linux Mint 移植而来。LMDE 4 还将支持 Btrfs 子模块和主目录加密: 引导菜单中的 NVIDIA 驱动 一直以来在某些 NVIDIA 卡上存在 Nouveau(开源驱动程序)兼容性问题,在大多数情下,人们不得不使用 nomodeset,但是当 Nouveau 根本无法识别芯片组时,完全没有图形显示。LMDE 4 中,在启动菜单中添加了一个新条目,该条目可即时安装 NVIDIA 驱动程序,实时会话和已安装的 OS 均可立即使用: Cinnamon 4.6 显示设置 下一版本的 Cinnamon 将允许选择显示器的频率,这是一个呼声很高的功能。 同时 Cinnamon 4.6 还将引入分数缩放功能。目前,缩放比为 100...阅读全文

博文 2020-02-04 18:35:24 debian.cn

Apache Flink 1.14 新特性预览 - OSCHINA

有一定的提升。同时,在执行时候是经过分段去执行任务的,无需同时执行;在容错计算方面是根据 stage 进行容错。 Flink 1.14 的优化点主要是针对在流的执行模式下,如何去处理有限数据集。之前处理无限数据集,和现在处理有限数据集最大的区别在于引入了 "任务可能会结束" 的概念。这种情下带来了一些新的问题,如下图: ■ 在流的执行模式下的 Checkpoint 机制 对于无限流,它的 Checkpoint 是由所有的 source 节点进行触发的,由 source 节点发送 Checkpoint Barrier ,当 Checkpoint Barrier 流过整个作业时候,同时会存储当前作业所有的 state 态。 而在有限流的 Checkpoint 机制中,Task 是有可能提早结...阅读全文

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

Kong 1.3 发布:原生 gRPC 代理、上游 TLS 交叉认证

此版本在与上游服务握手时提供特定证书以提高安全性,这样做的意义包括: 能够使用证书与上游服务握手使得 Kong 在需要强大的身份验证保证的行业中更加出色,例如金融和医疗保服务。更高的安全性。通过提供可信证书,上游服务将确定传入请求是由 Kong 转发的,而不是恶意客户端。更简单的合规性。开发者友好。可以使用 Kong 将需要相互 TLS 身份验证的服务转换为更加开发者不相关的方法(例如,OAuth)。 此外,Kong 1.3 还开源了 Sessions 插件,此前它仅在 Kong Enterprise 中提供,该插件结合其它身份验证插件,允许 Kong 记住之前已经过验证的浏览器用户。 OpenResty 的版本升级到 1.15.8.1,该版本基于 Nginx 1.15.8。此版本在关闭上...阅读全文

博文 2019-08-22 14:54:57 debian.cn

提前尝鲜,从 Debian 10 升级到 Debian 11

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外部仓库...阅读全文

博文 2021-08-16 12:16:21 Debian升级

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的态,本文将简单介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启态。等待中(PodPending): 创建 Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

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

”、“梅花”等。从这一点上看,域名的独有性,似乎更好一些。 从商业的角度来看,域名因其独特性,可以把它当作一个企业的网上商标。不过,可以肯定地说,域名与商标没有绝对的联系。 在这个眼球经济时代,作为企业,最理想的态,当然是希望它的实物商标与网上商标保持高度一致的,以使大众无论从哪个途径,都能将目光聚焦在它的身上,为此,企业们也付出了巨大的努力,比如商标之争比较有名的当属“加多宝”和“王老吉”,域名方面,作为米农,所听到见到的域名仲裁案例也不在少数。 由于域名和商标分属不同领域的不同系统,再加上时间差的原因,一般企业想要达到理想态,是有难度的。比如说,自已注册的商标,其对应的域名不一定是未注册态,这个时候,域名权与商标权,甚至商号权、网站名称权等就形成了冲突。除了收购外,另外一个途径就是仲裁...阅读全文

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

分布式运行时 Dapr 知多少

/actors///reminders/ 6. Observability(遥测) Dapr记录指标,日志,链路以调试和监视Dapr和用户应用的运行。 Dapr支持分布式跟踪,其使用W3C跟踪上下文标准和开放式遥测技术,可以轻松地诊断在生产环境中服务间的网络调用,并发送到不同的监视工具,如Prometheus。 7. Secrets(安全) Dapr 提供了Secret管理,不过不同于K8S中的Secret,其支持与公有云和本地的Secret存储集成,以供应用检索使用。 What Can We Do With Dapr 了解了Dapr是什么,以及其提供的特性,那Dapr的应用场景就一目了然了。也就是官网首页的Slogan:Simplify...阅读全文

k8s 中发现很多为状态为 Evicted 的 Pod

背景 在查看k8s的环境的时候,突然发现存在n多个pod态为Evicted。差不多得有几百个。 解决 同事愉快的丢了个链接给我,让我自己看一波:What will happen to evicted pods in kubernetes? 查看了一下pod的信息。结果发现是磁盘满了。 kubectl describe pod {pode_name} -n {namespace} 但是得手动删除Evicted态的pod kubectl get pods --all-namespaces -o json | jq '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted...阅读全文

博文 2021-03-05 08:34:20 diablo4

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

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

kubelet 中垃圾回收机制的设计与实现

!= nil { errors = append(errors, err) } return utilerrors.NewAggregate(errors) }cgc.evictContainers在 cgc.evictContainers 方法中会回收所有可被回收的容器,其主要逻辑为:1、首先调用 cgc.evictableContainers 获取可被回收的容器作为 evictUnits,可被回收的容器指非 running 态且创建时间超过 MinAge,evictUnits 数组中包含 pod 与 container 的对应关系;2、回收 deleted 态以及 terminated 态的 pod,遍历 evictUnits,若 pod 是否处于 deleted 或者 terminated...阅读全文

博文 2021-02-05 17:48:22 知乎

理解 Linux 的虚拟内存

态 查看系统内存情的方式有很多,free、 vmstat等命令都可输出当前系统的内存态,需要注意的是可用内存并不只是 free 这一列,由于操作系统的 lazy 特性,大量的 buffer/cache 在进程不再使用后,不会被立即清理,如果之前使用它们的进程再次运行还可以继续使用,它们在必要时也是可以被利用的。 此外,通过 cat /proc/meminfo 可以查看系统内存被使用的详细情,包括脏页态等。详情可参见:/PROC/MEMINFO之谜。 pmap 如果想单独查看某一进程的虚拟内存分布情,可以使用 pmap pid 命令,它会把虚拟内存各段的占用情从低地址到高地址都列出来。 可以添加 -XX 参数来输出更详细的信息。 修改内存配置 我们也可以修改 Linux 的系统配置...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Kubernetes 1.7:安全加固、有状态应用更新等

Kubernetes API在运行时一起提供服务。其他重点改进的地方包括可伸缩的准入控制器(admission controller),可插拔的云提供者,和容器运行时接口(CRI)。 新特性 安全: 网络策略 API(Network Policy API)提升至稳定态。网络策略通过一个网络插件实现,允许用户对管理哪些 Pod 可以彼此通信的规则进行设置和强制。 节点授权器(Node authorizer)和准入控制插件(admission control plugin)是新增用来限制kubelet基于节点对Secret、Pod和其对象的访问。 Secret的加密和其他etcd中的资源,现在可用并处于alpha态。 Kubelet TLS 启动现在支持客户端和服务端证书轮换。 由 API 服务器存储的审计日...阅读全文

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

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

定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。 安装 Chrony 从 Centos 7.x 开始的最小发行版中都已经预装并开启了 Chrony。如果你的系统上没有安装 Chrony,你也可以使用下面的命令轻松安装它。 $ apt -y install chrony # [On Debian/Ubuntu] $ yum -y install chrony # [On CentOS/RHEL] 安装完成后,你可以使用以下命令来检查 chronyd 的态。 $ systemctl status chronyd # [On SystemD] $ /etc/init.d/chronyd status # [On Init] 如果要在开机引导时自动启用 Chrony 的守护程序,你可以...阅读全文

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

RabbitMQ 高可用实现镜像队列

消息的同步方式,有效值为 automatic 和manual 2. 通过监控面板设置镜像队列 请注意一个事实,镜像配置的 pattern 采用的是正则表达式匹配,也就是说会匹配一组。 RabbitMQ集群节点失效,MQ处理策略: 如果某个 slave 失效了,系统处理做些记录外几乎啥都不做:master 依旧是master,客户端不需要采取任何行动,或者被通知 slave 失效。 如果 master 失效了,那么 slave 中的一个必须被选中为 master。被选中作为新的 master 的 slave 通常是最老的那个,因为最老的 slave 与前任 master 之间的同步态应该是最好的。然而,特殊情下,如果存在没有任何一个 slave 与 master 完全同步的情,那么前任...阅读全文

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

如何在 Debian 中安装 DHCP 服务器

动态主机配置协议(DHCP)是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。 DHCP 如何工作? 以下是 DHCP 实际工作原理的简要说明: 一旦客户端(配置为使用 DHCP 的机器)连接到网络后,它会向 DHCP 服务器发送DHCPDISCOVER数据包。 当 DHCP 服务器收到DHCPDISCOVER请求报文后会使用DHCPOFFER包进行回复。 然后客户端获取到DHCPOFFER数据包,并向服务器发送一个DHCPREQUEST包,表示它已准备好接收DHCPOFFER包中提供的网络配置信息。 最后,DHCP...阅读全文

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

如何在 Linux 上安装 Intel 微代码固件

微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情。这时它的输出可能是如下这样的: [ 0.952699] microcode: sig...阅读全文

博文 2018-03-07 19:37:47 debian.cn