InfraPub 为您找到相关结果 277

Docker更名Moby,也是无奈之举

、containerd、InfraKit以及最新刚刚发布的LinuxKit)当中拆分出来,仍然导致人们很难对容器技术及命令行中的奥秘进行深入探索,更遑论弄清各活动部件间的彼此关联。 对于Moby的误解,部分源自该公司决定直接将访问者重新定向至Docker客户端的GitHub库(用于保留Docker客户端的开源代码),但却未对此举作出任何解释。 GitHub连接问题的出现进一步扩大了对Docker项目凭空“消失”的误会。Docker公司技术人员PatrickChanezon表示,GitHub更代理商造成了一系列技术性问题,可能需要GitHub方面的支持人员介入并加以解决。 Docker公司联合创始人兼CTO SolomonHykes在他的pull请求中对目前的状况给出了非常简单的答案:“Docker公司正在将所...阅读全文

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

不与版本帝争,16 年后 SciPy 1.0 版终发布

SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 10月25日,SciPy 团队成员 Ralf Gommers 在 Python 官方邮件组发文宣布 SciPy 1.0 终于发布了。 Ralf 称,很高兴宣布 SciPy 1.0 的发布,自从 0.1 版面世 16 年后,1.0 版姗姗来迟。这是一次漫长而富有成效的旅程,期待在未来有更多令人激动的特性。 为什么现在才发布 1.0 版呢? Ralf 认为版本号应当体现出项目的成熟程度,SciPy 是一个成熟且稳定的库,已经在生产环境长期大量使用很久了。从这个角度来说,1.0 版来晚了。 最...阅读全文

博文 2017-10-26 13:54:33 debian.cn

Ruby 2.5.0 稳定版发布

, stringio, strscan, webrick, zlib 从标准库中提升到默认 gem。 升级 Onigmo 到 6.1.3。 添加 缺位运算符。 注意,Ruby 2.4.1 也包含这项改动。 把 bundler 纳入标准库。 更新到 Psych 3.0.2。 更新到 Rubygems 2.7.3。 更新到 RDoc 6.0.1。 词法分析程序由 IRB 更为 Ripper,极大提升了生成文档的速度。 修正过去这些年存在的缺陷。 支持近些年 Ruby 的新句法。 更新到 Unicode 10.0.0。 Thread.report_on_exception 默认值现为 true,这对调试多线程程序很有帮助。[功能 #14143] IO#write 现接受多个参数 [功能 #9323] 详见...阅读全文

博文 2017-12-25 21:59:41 debian.cn

Angular 6.0 即将发布 承诺更小更快更易用

依赖项的版本。 根据 Fluin 的说法,它可以执行代码修改和转,使代码符合最新的最佳实践。 “我们想回到平衡稳定性和创新的核心理念上,因此,要在这些工具的工作方式和更新代码方面突破界限。”Fluin 说。 该团队还添加了 ng add 命令 ,可以执行诸如将应用程序转变为 Progressive Web App 或将 NativeScript 添加到现有项目等功能。 版本 6 的另一个预期功能是用于 Angular Material 和 Component Dev Kit 的树组件。 除了 6.0 版之外,该团队正在重写视图引擎并增加对 Bazel 的支持。...阅读全文

博文 2018-04-24 09:41:33 debian.cn

GitHub 发布10月21日系统故障分析报告

GitHub 刚刚通过官方博客发布了 21 日“挂掉”的事件分析。GitHub 指出此次事件发生的原因是在 10 月 21 日 22:52 UTC 进行日常维护——更发生故障的 100G 光学设备时导致美国东海岸网络中心与美国东海岸数据中心之间的连接断开。 更具体地,GitHub 分析,虽然两地的连接在 43 秒内恢复,但这次短暂的中断引发了一系列事件,这才导致了长达 24 小时 11 分钟的服务降级。 为了大规模提高性能,GitHub 的应用程序将直接写入每个群集的相关主数据库,但在绝大多数情况下将读取请求委派给副本服务器的子集。GitHub 使用 Orchestrator 来管理 MySQL 集群拓扑并处理自动故障转移,Orchestrator 在此过程中考虑了许多变量,并在...阅读全文

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。句话说,一个人...阅读全文

不可变基础设施 (immutable infrastructure) - 云原生定义解析

Your Code: Immutable Infrastructure and Disposable Components”, Chad Fowler, 2013“Phoenix Server”, Martin Fowler, 2012不可变基础设施里的“不可变”非常类似于程序设计中的“不可变”概念。程序设计中不可变变量(Immutable Variable)就是在完成赋值后就不能发生更改,只能创建新的来整体替旧的。由于具有这样的特性这种变量可以在并发环境下安全的使用。对于基础设施的不可变性,最基本的就是指运行服务的服务器在完成部署后,就不在进行更改。在过去依赖传统的高可靠性基础设施的时代,服务的可靠性依赖于高可靠性的服务器。然而,这些基础设施具有很高的拥有成本,并且初始化,配置的成本也非常高...阅读全文

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

OpenJDK 14 已于近日 GA,其在性能方面是否有改进、以及有哪些改进引起了不少开发者的关注。本文将会介绍通过运行新的基准测试以考察从 OpenJDK 8 至 14 的所有主要发行版本,同时考察跨多个工作负载的 JVM 性能,以及 OpenJDK 14 与 JVM 先前版本相比性能如何。 此次测试通过在被测试的每个发行版上使用相同的 Java 字节码编译的 Java 程序来查看 JVM 的性能,并使用被测软件包的参考/上游编译版本。为了保证测试受干扰的因素将降至最低,每次都使用相同的选项,除了交用于测试每个发行版的 OpenJDK x86_64 Linux 构建之外,没有进行任何其他更改。 通过使用 Phoronix 的测试套件,测试内容包含从 SPECjbb 到 Java 2D...阅读全文

博文 2020-03-22 08:46:01 debian.cn

Debian 8 (Jessie)下面如何安装卸载docker

文件 /etc/apt/sources.list.d/docker.list 文件,加入以下内容: deb https://apt.dockerproject.org/repo debian-jessie main 然后执行命令 apt-get update,更新源索引。如果是 Debian Stretch/Sid 系统,只需更上面这一行中的 jessie 为 stretch 就可以了。 为使用Docker源做准备 由于 Docker 源使用了 https 协议,需要做两步准备。安装相关的包确保 apt 能在 https 模式下工作,导入 Docker 安装源的密钥。CA 证书库也需要, $ apt-get update $ apt-get install apt-transport...阅读全文

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

Linux内存buffer和cache的区别

理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。有关linux内存机制参考: Linux 内存机制 Mem:表示物理内存统计。 -/+ buffers/cached:表示物理内存的缓存统计 Swap:表示硬盘上交分区的使用情况。只有mem被当前进程实际占用完,即没有了buffers和cache时,才会使用到swap。 Mem 行(第一行)数据说明: Total:1035108KB。表示物理内存总大小。 Used:1008984KB。表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。 Free:26124KB。表示未...阅读全文

Debian瞻前 微软顾后:安全改进是否会产生负面影响

关于添加TLS 1.2的博文中都没有提到PCI。它表示,它想要删除“弃用旧的安全协议”的障碍,并致力于“一流的加密”。 但是,如果更好的安全性是真正的目标,为什么微软忽略增加其他现代功能?为了公平起见,Windows Server 2008的TLS支持不是过于差劲。由于ECDHE支持,它至少具有PFS(完全正向保密)密码。 有时候,强行优化一个老系统可能会带来更多安全和生态上的落差。因为它使企业和用户有借口坚持早就该被替或升级的系统。 这也是为什么去年Chrome把整个Diffie-Hellman密码类都移除掉的部分原因。尽管它可以只保留支持更强的2048位参数,直接取消全部更为简单安全。 Debian放出的仅支持TLS1.2的消息可能不是最终决定,但这种胆识确实值得赞许。与此同时,在...阅读全文

博文 2017-08-11 09:54:18 debian.cn

腾讯在贵州有个山洞:放置腾讯业务最核心数据

干嘛的?“如果把腾讯比作一个工厂,那么数据中心就是车间,信息需要在这里集中处理、存储、交。”腾讯技术工程事业群任职数据中心技术总监朱华说。 那个名叫T-block的技术,是腾讯数据中心自主研发的第四代技术。 腾讯数据中心的技术发展,总共经历四个阶段: 第一代(2006-2009),基本是沿用了传统电信机房的解决方案(厂房改造,风冷,N+1冗余),只在局部做了点优化,比如冷热通道隔离; 第二代(2007-2011),从天津开启数据中心的大而全模式,10万量级、大型离心冷水机组、10KV Switch Gear、变压器上楼、中压油机、UPS、STS、AHU、MAU、封闭热通道、预作用水消防、水侧Free cooling、Air side economizer; 第三代TMDC(2011...阅读全文

博文 2018-04-06 08:44:38 debian.cn

提问的智慧(精简版)

用替一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。问题解决后,加个简短的补充说明补充说明不必很长或是很深入。简单的一句 你好,原来是网线出了问题!谢谢大家。 比什么也不说要来的好。事实上,除非结论真的很有技术含量,一句话就够了:说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。对于有深度的问题,张贴调试记录的摘要是有帮助的。但请记住,先描述问题的最终状态,说明是什么解决了问题,在此之后才指明踩坑的地方。在即时聊天软件里问问题为了避免重复答疑,你应该在群里询问常见问题。由于部分聊天软件没有话题串的功能(或着实现很差),同时群里还可能有多个同时讨论的...阅读全文

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

使用 nvme-cli 工具来了解你的 NVMe 驱动器

Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0这为你提供了硬盘的当前温度、到目前为止的使用时间、不安全的关机次数等等。格式化一个 NVMe 驱动器你可以用 nvme-cli 格式化一个 NVMe 驱动器,但要注意。这将删除驱动器上的所有数据!如果你的硬盘上有重要的数据,你必须在这样做之前将其备份,否则你将会丢失数据。子命令是 format:$ sudo nvme format /dev/nvme0nX(为了安全起见,我用 X 替了驱动器的实际位置,以防止复制粘贴的错误。将 X 改为 1 或 nvme list 结果中列出的实际位置。)安全地擦除...阅读全文

博文 2021-09-26 15:12:24 joseph

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 详解(上)

RabbitMQ 高可用实现镜像队列

队列机制,将 queue 镜像到 cluster 中其他的节点之上。在该实现下,如果集群中的一个节点失效了,queue 能自动地到镜像中的另一个节点以保证服务的可用性。 在通常的用法中,针对每一个镜像队列都包含一个 master 和多个 slave,分别对应于不同的节点。slave 会准确地按照 master 执行命令的顺序进行命令执行,故slave 与 master 上维护的状态应该是相同的。除了 publish 外所有动作都只会向master 发送,然后由 master 将命令执行的结果广播给 slave 们,故看似从镜像队列中的消费操作实际上是在 master 上执行的。 一旦完成了选中的 slave 被提升为 master 的动作,发送到镜像队列的 message 将不会再丢失...阅读全文

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

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

写给五年陈的自己 写周报,写的兴起,编写周报,还边用虎跑泉,泡铁观音喝。自己写周报的**惯还是要改一改,自己是个性情中人,写个周报也透露了太多情感在周报里。有很多人肯定觉得不好,也许以后我也会改,改的越来越干练,掏心的话少说。 兴奋了,喝了茶,睡不着了。灵感闪动,本周是个值得纪念的日子,写个文章纪念下过去。 回想这一路路走来,还是很感恩收获的一,我渐渐从一名菜鸟,成长为一位架构师,记得毕业的时候我给自己定的目标是:五年要成为一方面的专家。虽然,实际的成长比这个慢了两年,但是我还是庆幸自己当初果断的裸辞,然后进入支付宝。 每个架构师都是独立无二的,每个架构师都应该有自己的情怀,这些情怀是你的世界观。 我是如何成长为一个架构师的,我姑且给自己定的 title 就是架构师,不要认为有架构师的...阅读全文

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

处理器架构消亡史

,X86依旧屹立不倒,但对抗他的玩家却了一批,这一轮与他竞争的是ARM和RISC—V两个阵营。从后两者的发展来看,近些年来,他们都在积极向PC市场做扩展。同时,在大数据时代的推动下,他们也有有意向服务器市场方向发展。但对于这一块市场来说,英特尔在该领域已经建立起了强大的优势,除了产品外,生态也是他们能够固守城市的一个有利武器。IBM所推出的POWER被视为是在现在的服务器市场占有一定地位的架构,但POWER架构也没有在通用市场打过英特尔,POWER架构在例如银行、航空公司、公安系统等高端应用中较为广泛,采用这种架构的产品作为小型机,封闭系统,其设计更加完整紧凑,综合起来性能强于X86。在特定的市场中发展的思路,让POWER架构得以在竞争激烈的处理器架构竞争中存活了下来。而这或许也为后来的挑战者...阅读全文

Cortex: 高可用和水平扩展Prometheus监控系统

高可用性。使Prometheus高可用的一种方式是运行多个实例去scraping相同的作业。这些实例在抓取指标时会因微小的时间间隔差异而在数据中产生细微差异。此外,如果其中一个实例宕机了几个小时,那么当查询转发到该实例时,将会出现数据空白。如果我们使用grafana这样的工具将指标展示为图形,我们可能会得到不同的样本值或有数据缺失的图形。可以将Cortex配置为从多个HA Prometheus实例读取数据。它从一个主实例main接受指标,并从其他实例放弃该度量。一旦这个副本掉线,Cortex会无缝到另一副本并将其标记为主副本main。为此,Cortex着眼于两个标签,一个共同的标签与一个集群(或一组Prometheus)相关联,另一个识别副本。全局指标视图可以将Prometheus实例配...阅读全文

博文 2021-10-09 17:00:22 知乎

利用 NAT VPS 进行流量中转

TCP 转发,编辑服务文件,可根据需要自行调整此文件名,本文以 socat-tcp 为文件名作例:1sudo vim /etc/systemd/system/socat-tcp.service添加以下内容,注意替其中的 本机端口号、目标地址、目标端口号,其中,目标地址 可以是 IP 地址,也可以是域名地址:/etc/systemd/system/socat-tcp.service1234567891011121314[Unit]Description=Socat TCP Forwarding ServiceAfter=network.target[Service]Type=simpleCapabilityBoundingSet...阅读全文

博文 2021-03-11 21:16:11 Silearner

互联网协议正在发生变化

。 现在,核心互联网协议的重要改变已经开始了。虽然它们意图与互联网大部分兼容(因为,如果不兼容的话,它们不会被采纳),但是它们可能会破坏那些在协议中没有规定的地方,或者根本就假设那些地方不存在变化。 为什么我们需要去改变互联网 有大量的因素推动这些变化。 首先,核心互联网协议的局限性越来越明显,尤其是考虑到性能的时候。由于在应用和传输协议方面的结构性问题,网络没有得到高效使用,导致终端用户认为性能不能满足要求(特别是,网络延迟)。 这就意味着人们有强烈的动机来演进或者替这些协议,因为有 大量的经验表明,即便是很小的性能改善也会产生影响。 其次,演进互联网协议的能力 —— 无论在任何层面上 —— 会随着时间的推移变得更加困难,这主要是因为上面所讨论的对网络的非预期使用。例如,尝试去压缩响应的...阅读全文

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

容器要求。句话说,即使有一个未使用的节点可以在其中运行应用程序容器,但如果初始化容器具有该节点可以处理的更高资源先决条件,则Pod也不会部署到该节点。因此,在定义初始化容器的请求和限制时,您应尽可能严格。最佳做法是,除非绝对必要,否则请勿将这些参数设置为高于应用程序容器的值。 标准容器和Sidecar容器 在k8s1.18 之前,这两种容器从k8s管理的角度来看,并没有什么区别。只不过人为从功能上做了区分。 使用sidecar容器(模块化)具有的优点 加速应用程序开发,因为容器可以在团队甚至更大的社区之间重复使用 整理专家知识,因为每个人都在一个容器化的实现上进行协作,该实现反映了最佳实践,而不是无数种功能大致相同的自家生产的不同容器 启用敏捷团队,因为容器边界是自然边界,是团队职责的契约...阅读全文

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

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

、Hyperledger 项目执行董事以及 Docker、红帽等企业;还有Open Networking Foundation 网络方面一些项目的代表;中国企业华为、阿里巴巴、百度等以及国外Google、IBM、亚马逊等顶尖企业及开发者,共同探讨开源方面的商业和技术。 一个开发者精英和一个普通软件开发者的区别,就如毕加索和一个普通画家的区别一样大。LC3 大会给大家提供了和世界上最优秀的开发和计算方面的专家共同探讨问题的机会,我们也希望通过这次活动让大家了解到怎么样更好地利用开源来开发新的产品和服务,我们也是致力于和中国的开发者、行业进行密地合作,开发出来更多的可以带来价值的开源的代码。” 【转自开源中国】...阅读全文

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

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

我们很高兴在今年之内进行第四次——也是最后一次版本更新公告,即Kubernetes 1.9的诞生! 今天发布的版本在发展水平方面更加突出,功能越来越丰富,稳定性更为强大,社区贡献也更加令人瞩目。作为今年年内的第四次成果发布,我们希望借此机会回顾Kubernetes项目在各个关键性领域取得的进展。其中特别值得一提的是Apps Workloads API正式发布通用稳定版。这将确保潜在用户实获得运行关键性任务工作负载时所必需的功能稳定性。项目的另一大重要里程碑则在于以测试版本形式提供Windows支持能力,这为众多仅面向Windows的应用程序与工作负载开启了一扇通往Kubernetes的大门,从而显著扩展了Kubernetes的实施场景与企业就绪水平。 Workloads API通用版本...阅读全文

博文 2017-12-17 01:00:00 debian.cn

打破IP协议重塑互联网 华为能做到吗

效率;二是新 IP 的灵活性使地址分割简化了边界路由器的设计,边界路由器不需要维护地址映射指令。 目前,New IP 网络架构技术已在建设中,将于 2021 年开始测试。 New IP 是否会带来垄断? 正如一新事物在诞生初期都往往会招致人们的质疑和误会一样,New IP 也正深处这样的困境当中。 对于华为提出的 New IP 提案,沙特阿拉伯、伊朗、俄罗斯等国家均表示了支持。不过,有部分学者对这一“新事物”怀有质疑,主要有两方面立场: 一是关于绝对控制权。哈佛大学的社会科学家 Shoshana Zuboff 认为,华为提出新 IP 是为了通过技术基础设施赋予他们政治上的绝对控制权; 二是关于安全和人权。网络安全公司牛津信息实验室认为,New IP 虽能对网络基础进行细粒度控制,但网络协议...阅读全文

博文 2020-03-31 06:40:15 debian.cn

改善 Debian Linux 软件包管理的七款工具

了十个速度最快的镜像,然后把它们写入到你的软件包源列表。apt-spy执行类似的功能。 3. apt-transport-tor 你可能也知道了,Tor是一款匿名浏览工具。然而,即便你注重安全,下载软件包有可能让别人跟踪你的活动,进而一路跟踪你的系统。 apt-transport-tor让你可以堵住这个安全漏洞,它通过Tor来传输软件包管理指令。 2. cron-apt 如果你注重安全,或者只想要最新软件包,cron-apt可以帮助你确保版本最新。顾名思义,cron-apt可以为你的系统调度定期下载,并通知可用更新版。用户往往每天更新一次。 然而要注意:cron-apt下载但不安装更新的软件包。这个限制是有意设置的,因为在无人照看的情况下安装一会导致系统问题。检查什么更新版可用后,你可以手...阅读全文

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

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

。 在 2019 年,将会发生从 CI 管道到 DevOps 装配线的转变。DevOps 装配线专注于自动化和连接多个团队执行的活动,例如开发人员的 CI,运维人员的基础架构配置和配置管理,测试人员的测试自动化,SecOps 的安全补丁,发布负责人的语义版本控制和部署到多种环境,等等。 下图展示了单个应用程序或服务的典型装配线: 自动化将成为主要焦点 关于 DevOps,我们谈论了很多自动化方面的内容。如果可能的话,零接触(zero-touch)自动化就是未来的发展方向。这并不是说你一定要自动化一,只是说如果有必要,你就应该能够做到。了解 DevOps 周期的六个“C”,并确保在这些阶段之间应用自动化,这才是关键,这将是 2019 年的主要目标。 测试人员要学习编码 DevOps 对知道如何编...阅读全文

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

如何在 Debian服务器 上启用双因子身份验证

-interactive" 在重新加载 SSH 服务器之前,最好检查一下在配置中没有出现任何错误,执行以下命令测试: sshd -t 如果没有标识出任何错误,用新的配置重载 SSH: systemctl reload sshd.service 现在一都应该开始工作了。现在,当你登录到你的服务器时,你将需要使用 SSH 密钥,并且当你被提示输入: Verification code: 打开 Authenticator APP 并输入为您的服务器显示的 6 位代码。...阅读全文

博文 2018-12-05 11:44:56 debian.cn

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

且将元数据保存在kafka自己的服务器当中,大大提高了kafka的元数据管理的性能。KRaft运行模式的Kafka集群,不会将元数据存储在Apache ZooKeeper中。即部署新集群的时候,无需部署ZooKeeper集群,因为Kafka将元数据存储在Controller节点的KRaft Quorum中。KRaft可以带来很多好处,比如可以支持更多的分区,更快速的Controller,也可以避免Controller缓存的元数据和Zookeeper存储的数据不一致带来的一系列问题。在新的版本当中,控制器Controller节点我们可以自己进行指定,这样最大的好处就是我们可以自己选择一些配置比较好的机器成为Controller节点,而不像在之前的版本当中,我们无法指定哪台机器成为...阅读全文

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

开源软件对于商业机构的6大好处

持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文

博文 2017-11-15 23:41:11 debian.cn

使用 tmate 分享你的终端会话

ssh 命令之类的共享信息。 tmate 是怎么工作的? 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。 tmate.io 服务器的 ssh 密钥通过 DH 交进行校验。 客户端通过本地 ssh 密钥进行认证。 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌。 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。 使用 tmate 的必备条件 由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,每个系统都要有自己的 SSH 密钥。 $ ssh-keygen -t...阅读全文

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

Stackstorm 入门介绍

。 有通用触发器(例如定时器,webhooks)和集成触发器(例如,Sensu告警,JIRA问题更新)。 通过编写传感器插件可以定义新的触发器类型。动作(Actions)StackStorm出站集成。 有通用动作(ssh,REST调用),集成(OpenStack,Docker,Puppet)或自定义操作。 动作是Python插件或任何脚本,通过添加几行元数据将其消耗到StackStorm中。 动作可以由用户通过CLI或API直接调用,或者作为规则和工作流程的一部分使用和调用。 规则(Rules)将触发器映射到动作(或工作流),应用匹配条件并将触发器加载到动作输入中。 工作流(Workflows)将动作拼接成“超级动作”,定义顺序,转条件以及传递数据。 大多数自动化不止一步,因此需要多个动作...阅读全文

PostgreSQL 13 正式版发布

-ahead logs)之前将其删除,现在可在 PostgreSQL 13 中进行调整,以指定要保留的 WAL 文件的最大数量, 有助于避免磁盘空间不足错误。 PostgreSQL 13 还增加了更多让管理员可以监控数据库活动的方法,包括从 EXPLAIN 中查看 WAL 使用情况的统计信息、流式基础备份的进度,以及 ANALYZE 命令的进度。此外,可以使用新的 pg_verifybackup 命令验证 pg_basebackup 命令输出的完整性。 应用开发 PostgreSQL 13 对来自不同数据源的 PostgreSQL 数据类型进行了优化。此版本在其 SQL/JSON 路径支持中增加了datetime()函数,它可以将有效的时间格式(如 ISO 8601 字符串)转为...阅读全文

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

Systemd 及 Service 文件含义解析

Systemd 是 Linux下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。Systemd 的特性有:支持并行化任务;同时采用socket式 与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 其中的监视和控制功能的主要命令就是systemctl。 Systemd 有很多不同类型的使用单元,主要包括:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交分区(.swap)、文件路径(.path)、启动目标(.target)。一般我们常用的是其中的系统服务。 对于系...阅读全文

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

亚马逊12个月免费云服务

买单。用户只需要为实际使用的资源付费,这也是用户选择云主机可以大幅降低成本的一个主要因素。7.用户可以选择安装操作系统吗?当然可以。云主机与传统物理服务器在产品使用上没有明显区别,用户可以根据自己的需求灵活选择或更操作系统。8.如果你想购买这项服务需要多长时间?扩张需要多长时间?注册用户->在线支付->购买云服务器,实时打开。打开后,登录用户管理区→云服务器管理→管理→预装操作系统。可以选择Windows 2008、Windows 2012、Cent OS 6.5等操作系统。系统安装需要10~25分钟。系统安装完成后,您可以通过远程连接执行其他应用程序操作。9.租用云服务器需要交押金吗?与传统的物理服务器租赁不同,云服务器租赁用户无需支付押金即可享受服务。10.如何查看租用主机的配置?由于...阅读全文

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

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一就像变魔术一样,但你并不知道这一的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

务间通信会花费大量时间,从后勤和财务角度看这很不实际。花时间从一开始就考虑正确的框架,可以省去很多未来的浪费。 我们花了大量的时间来制定评估标准和研究、选择。Bugsnag到底长什么样子呢? 技术标准 在研究可用选项时,使用了一些特定的标准来评估。要考虑的事情是基于微服务架构的最有效的方法。主要目标是自由地使用通信,消除通信的复杂性,了解每项服务的责任所在。其中的一些技术问题是: 速度 - 对于大量的请求/响应API调用,需要将调用本身的延迟作为性能和用户响应速度的最小因素。延迟的主要组成部分是连接成本,传输成本和消息编码/解码时间。 基础架构兼容性 - 框架在基础架构中扮演的角色如何?主要是关于负载平衡和自动扩展?我们使用托管在Google云端平台上的Kubernetes服务,因此需要框...阅读全文

博文 2018-03-19 17:51:32 debian.cn

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

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

为保护隐私而生 反取证操作系统:Kodachi

免费内置 VPN DNSCrypt 多个 Tor 出口节点转器 多个 DNS 选项 Vera 加密 PeerGuardian(P2P网络安全软件) Bleachbit、Nautilus-wipe、Keepass2xdotool、Seahorse、Gpa、Gnupg2、Enigmail、ufw、gufw、firejail Komodo / Geany 开发环境,Krusader 文件管理器、Meld 代码对比、Shutter 多媒体、FileZilla、Audicity 音频处理、Terminator、Transmission、VirtualBox APPS Htop 进程浏览器、Rdesktop、Gksu、Ncdu、Xtrlock、Nmap、Pcmanfm、Cairo-dock、Geoip...阅读全文

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

nsenter 及 Linux命名空间 简介

, argv[1]); setns clone用于创建新的命令空间,而setns则用来让当前线程(单线程即进程)加入一个命名空间。语法: #define _GNU_SOURCE /* See feature_test_macros(7) */ #include int setns(int fd, int nstype); fd参数是一个指向一个命名空间的文件描述符,位于/proc/PID/ns/目录。nstype指定了允许进入的命名空间,一般可设置为0,表示允许进入所有命名空间。 因此,往往该函数的用法为: 调用setns函数:指定该线程的命名空间。调用execvp函数:执行指定路径的程序,创建子进程并替父进程。 这样,就可以指定命名空间运行新的程序了。代码示例: #define...阅读全文

博文 2020-12-15 11:22:44 debian.cn

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

Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源工具,目前已经更新到 v1.3 版本,实现了如证书管理、负载均衡、金丝雀发布等功能。 长久以来,证书管理都不是一件简单的事情,虽然 Apache APISIX Ingress Controller 支持从 Kubernetes Secrets 资源中提取证书和私钥,并转为 Apache APISIX 可识别的 SSL 对象,但这只是整个证书管理链中的一部分,证书的颁发、轮转、吊销逻辑依然需要管理员执行,尤其当证书数量比较多时,工作量往往并不小,因而会占用管理员不少的时间。 Cert Manager 是一款致力...阅读全文

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

为什么 Django 能持续统治 Python 开发世界

等数据库都能做到开箱即用。 点击此处了解使用 Django 及其 ORM 进行数据处理的基础知识。 强大的内置模板系统 基于继承系统,Django 的模板允许开发人员通过非常少量的前端代码构建整个动态网站。这得益于使用其他上下文特定元素替模板的某些元素的选项。 想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。 现在,您首先需要在网站的基本模板中编写代码。 然后,您可以从应用程序的其他部分动态地更改这两个内容之间的组件。 简单可读的网址 很难正确阅读在PHP os ASP中开发的URL? 使用 Django,您可以创建简单易读的 URL,这对人和搜索引擎都有好处。 您也可以使用其他框架创建可读 URL,但没有一个与 Django 一样容易进行 URL 构造。 快速容易的创建RSS和...阅读全文

博文 2017-07-21 14:15:11 debian.cn

TLS1.3 正式版发布 — 特性与开启方式科普

互联网工程指导委员会(IETF)释出了传输层安全性协议的最新版本 TLS 1.3。TLS 被广泛用于创建安全连接,TLS 1.3 是基于 TLS 1.2,主要区别是移除了较少使用的弱加密算法,移除 MD5 和 SHA-224 哈希支持,请求数字签名,集成 HKDF,移除许多不安全或过时特性的支持,不再支持静态 RSA 密钥交,握手将默认使用前向安全 Diffie-Hellman,客户端只需要一次往返就能与服务器建立安全和验证的连接,等等。Firefox 和 Chrome 都已经支持 TLS 1.3 的草拟版本。 TLS 1.3是一种新的加密协议,它既能提高各地互联网用户的访问速度,又能增强安全性。我们把使互联网实现安全通信的基础性技术称为传输层安全协议(TLS)。TLS是安全套接层协议...阅读全文

博文 2018-08-14 14:40:05 debian.cn

为何说微软不会基于Linux内核重构Windows

(translation layer)转为 WSL 2 中的虚拟化内核,因此重新实现利用 Linux ABI 的数十种非标准方式是非常痛苦的事情。为微软拥有的 Linux 上的SQL Server 提供一个 NT 相关的兼容层是一回事,为其他数百万开发者的应用提供保证是另一回事。 3.微软投入巨大 近年来,微软在 Windows 上倾注的人力物力已经无法计算。微软在 Windows 10 的可用性、新功能、性能改进等多方面进行了优化投资,并取得了回报。在这些改进的基础上,通过和 OEM 厂商的合作,以及推出 Surface 品牌,已经帮助振兴了 PC 市场。 微软一直在努力使 Windows 成为一个优秀的开发平台,其项目包括 Windows Terminal、PowerToys、Windows...阅读全文

博文 2020-10-15 14:59:58 debian.cn

WebAssembly:无需容器的 Docker (上)

语言可以编译成 Wasm,有现代的、不断改进的工具链。服务器平台发展的下一步是什么?也许你已经看过 Solomon Hykes (Docker 的创始人之一) 这句话:如果在 2008 年已经有了 WASM + WASI,我们根本不需要创建 Docker。 Wasm 就有这么重要。 服务端的 WebAssembly 是计算的未来。事实上,WASM+WASI 似乎的确是服务端软件基础设施发展的下一步。最早,我们有物理硬件可以使用。 我们会给机房里每个服务器精心安装操作系统和应用程序,并一一维护。然后随着 VMware 开创的 VM 的采用,一变得更容易了。 人们可以跨硬件机器复制、克隆和移动虚拟机。 但这仍然需要在 VM 中安装操作系统和应用程序。随后出现了由 Docker 推广的容器,这使...阅读全文

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

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

返回一个空的记录集 。 Lookup 而没有索引支持 Lookup 的功能和 SQL 联合查询类似。为了获得良好的性能,作为外键的键值上需要有索引。这并不明显,因为其使用并没有在 explain() 中报告。这些索引并不包含在 explain() 记录的索引里,那些索引是供管道操作符$match、$sort 出现在管道开始时使用的。现在,索引可以覆盖聚合管道的任何阶段 。 不使用多条更新 db.collection.update() 方法用于修改一个已存在文档的一部分或全部,或者是整个替一个已存在的文档,这取决于你提供的 更新参数 。除非你设置 multi 参数,更新匹配查询条件的所有文档,否则它不会更新集合里的所有文档。这一点不是那么明显。 忘记哈希对象中键序的意义 在 JSON 中,一...阅读全文

Gitlab CI 配置文件 .gitlab

job名称和当前分支名称或者是tag作为存档名称,只存档没有被Git跟踪的文件: job: artifacts: name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" untracked: true 使用当前stage和分支名称作为存档名称: job: artifacts: name: "${CI_JOB_STAGE}_${CI_COMMIT_REF_NAME}" untracked: true 如果是使用Windows批处理来运行yaml脚本,需要用%替$: job: artifacts: name: "%CI_JOB_STAGE%_%CI_COMMIT_REF_NAME%" untracked: true artifacts:when GitLab...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)