InfraPub 为您找到相关结果 483

译:Kubernetes 最佳实践

本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译者:文章中作者从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经。有误的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译者注:还有启动探针)使用自动缩放使用资源请求和约...阅读全文

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

WebAssembly:无需容器的 Docker (下)

数直接传递给 php.wasm 明确声明运行时,而不包括二进制文件本。 拉到上面可以看到我们可以使用传统的 PHP 容器明确编写完整的命令,包括 php 二进制文件(不是必需的)。最后一点,即使使用 Docker,Wasm 也加强了运行 index.php 的安全性,因为暴露给它的要少得多。docker run --rm \ --runtime=io.containerd.wasmedge.v1 \ -v $(pwd)/images/php/docroot:/docroot \ ghcr.io/vmware-labs/php-wasm:7.4.32-cli-aot \ -f /docroot/index.php

Hello from PHP 7.4.32...阅读全文

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

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

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

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

玩转 AWS 的必备工具

生成可视化工具 PackerPackerbyHashiCorp 虽然AWSAMIMarketplace给予了还可以立即运用的各种各样电脑操作系统镜像系统,可是许多状况下,这种实用的镜像文件AMI并无法彻底满足客户的要求,例如目前的镜像文件的缺乏某一内核模块,或是默认设置的镜像系统缺乏一些必须的包智能管理系统,或者缺乏客户自的一些专用工具。如果我们每一次都采用规范的AMI来建立資源,则这种資源每一次都需要历经一个繁杂的配制全过程能够实现消费者的规定,那样不但提升了資源建立的开机时间,也增多了许多附加多余的花费花销。 一般在AWS上建立客户订制的AMI的流程非常繁杂,客户最先应用一个主要的AMI运行一个EC2Instance随后登陆到该Instance对该資源开展一系列的手动式配备,随后...阅读全文

玩转 AWS 的必备工具

PackerPackerbyHashiCorp 虽然AWSAMIMarketplace给予了还可以立即运用的各种各样电脑操作系统镜像系统,可是许多状况下,这种实用的镜像文件AMI并无法彻底满足客户的要求,例如目前的镜像文件的缺乏某一内核模块,或是默认设置的镜像系统缺乏一些必须的包智能管理系统,或者缺乏客户自的一些专用工具。如果我们每一次都采用规范的AMI来建立資源,则这种資源每一次都需要历经一个繁杂的配制全过程能够实现消费者的规定,那样不但提升了資源建立的开机时间,也增多了许多附加多余的花费花销。 一般在AWS上建立客户订制的AMI的流程非常繁杂,客户最先应用一个主要的AMI运行一个EC2Instance随后登陆到该Instance对该資源开展一系列的手动式配备,随后再用AWS的建立镜像工具转化成一个订制的AMI。那样手动式建立的...阅读全文

六个开源软件开发的潜规则

代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。 为什么要在优雅地写代码前做这些呢?这是一种信任,更重要的是,不要只关注自己开发的功能,而是要关注整个社区的动向。 博闻强识,敦善不怠 当你在某个社区中建立起自己的声望,那么很有必要全面了解该项目和代码。不要停留于任务状态上,而是要去钻研项目本,理解那些超出你擅长范围之外的知识。不要只把自己的理解局限于开发者,这样会让你着眼于让你的代码有更大的影响,而不只是你那一亩三分地。 打个比方,你已经完成了一个网络模块的测试版本。你测试了一下,觉得不错。然后你把它开放到社区,想要更多的人测试。结果发现,当它以特定的方式部署时,有可能会破坏安全设置,还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解,而不是...阅读全文

博文 2017-05-20 10:27:11 debian.cn

Jono Bacon: GPL 没落了吗?

系、构建联盟,找到并解决行业问题。 在这个峰会上,有一个分组研究,在其中,与会者被分成小组,被要求给一个真实存在的核心的开源技术推荐一个开源协议。每个小组都给出了回应。不到十分之一的小组推荐了宽容许可,没有人推荐 GPL 许可。 我看到了开源行业对于 Apache 协议以及 MIT 协议的逐步认可,但是他们却对花时间理解、接受和熟悉 GPL 这件事高高挂起。 在这几年里,这种趋势仍在蔓延。除了 Black Duck 的调查之外, 2015 年 GitHub 上的开源协议调查 也显示 MIT 是人们的首选。我还能看到,在我工作的 XPRIZE (我们为我们的 Global Learning XPRIZE 选择了开源协议),在我作为社区领导顾问的工作方面,我也能感觉到那种倾向,因为越来越多的...阅读全文

博文 2017-08-04 08:03:43 debian.cn

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

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

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

理解 Linux 的虚拟内存

前不久组内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,一些概念还...阅读全文

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

Docker 快速入门之 Dockerfile

在容器环境中,我们可以通过容器创建一个我们自定义过的镜像,那么我们是否可以直接通过基础的镜像直接自定义镜像呢?答案当然是可以的,在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本语法以及基本知识。 1 Dockerfile 是什么? Dockerfile 其实是一文本文档,里面包含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell script。 2 Dockerfile 示例 接下来先看一个 Dockerfile 示例: FROM centos LABEL maintainer="Locez " ENV...阅读全文

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

2016年Linux领域的十条大新闻,你关注了吗?

应用相结合,但也有人认为微软是在以怀柔政策弱化开源社区并将借此引导Linux走向毁灭。 4. 慕尼黑市计划放弃Linux 2004年,德国慕尼黑市开始大规模利用LiMux这款定制化Linux发行版取代Windows,同时利用OpenOffice.org及后来的LibreOffice替换微软Office。然而令人惊讶的是,尽管该市曾于2013年宣布Linux与开源技术转移已经取得成功,但慕尼黑如今正试图重新回归微软怀抱。不过值得庆幸的是,LiMux未来将与Windows并存且继续得到更新。 5. 俄罗斯大力推广 Linux 与慕尼黑市相反,俄罗斯正积极拥抱Linux与开源项目。俄罗斯议会国家杜马起草了一法案,要求在政府采购活动中优先考虑开源软件。这一决定在很大程度上是为了提升安全水平。俄罗斯...阅读全文

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

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Java 12 / JDK 12 正式发布

CDS Archives 默认类数据共享归档文件344Abortable Mixed Collections for G1 可中止的 G1 Mixed GC346Promptly Return Unused Committed Memory from G1 G1 及时返回未使用的已分配内存 下边分别来看看: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) Shenandoah:低暂停时间的 GC(实性功能) 新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java 线程同时进行 evacuation 工作来减少 GC 暂停时间。使用 Shenandoah 的暂停时间与堆大小无关,这意味着无论堆是...阅读全文

博文 2019-03-20 12:46:27 debian.cn

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

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

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

,MongoDB企业集群解决方案 5. 性能优化 JVM性能优化:剖析JVM整体结构,详解垃圾回收机制GC,JVM性能调优与工具排查Nginx调优:Nginx项目架构,Nginx核心配置,Nginx负载算法配置Tomcat调优:Tomcat运行机制及框架,Tomcat线程模型,Tomcat性能调优MySQL性能优化:SQL执行计划,AQL优化,索引优化 6. 电商项目实战 项目的介绍,系统的架构设计,电商平台技术解决方 作为一名合格的架构师,必须懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优…了解各种技术及应用场景,有足够的工作经解决集成中遇到的各种奇葩问题。...阅读全文

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

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

Vsftpd的安装: aptitude update //更新数据源列表 aptitude install vsftpd //安装vsftpd Vsftpd的文件结构: /usr/sbin/vsftpd —- VSFTPD的主程序 /etc/init.d/vsftpd —- 启动脚本 /etc/vsftpd.conf —- 主配置文件 /etc/pam.d/vsftpd —- PAM认文件 /etc/ftpusers —-记录不允许访问FTP服务器的用户名单 /home/ftp —-Vsftpd的根目录 此外VSFTPD的日志文件为/var/log/vsftpd.log。 Vsftpd的管理控制。 /etc/init.d/vsftpd start //启动vsftpd /etc...阅读全文

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

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

单独存储,除了减轻配置中心与注册中心的工作压力之外,还为将来 更丰富的服务治理 打下基础。未来,Dubbo 会基于元数据中心提供服务测试、服务 Mock 以及服务 API 管理等特性。针对三个中心的分离,Dubbo 还会配套发布全新设计的 Dubbo Ops 控制台 。另外,2.7.x 会是 Dubbo 在 Apache 软件基金会 毕业的版本 ,安装包包名正式切换到了 org.apache.dubbo,为了保向前的兼容性,我们还在这个版本中提供了 com.alibaba.dubbo 的兼容包。 Dubbo 2.7.0 具体更新内容 如下: (环境要求:需要 Java 8 及以上版本支持) 新增功能 服务治理规则增强。更丰富的服务治理规则,新增应用级别条件路由、Tag 路由等治理规则与注册...阅读全文

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

Debian Live 项目的剧变

一个一直不为人所知的计划。从 Banumann 的角度来说,他当然不是完美的,他因为上传个不合适的 syslinux 包导致了 wheezy 的延迟发布,并且从那以后他被从 Debian 开发者暂时降级为 Debian 维护者。但是这不意味着他应该受到这种对待。当然,这个项目还有其他人参与,所以不仅仅是 Baumann 受到了影响。 Ben Armstrong 是其他参与者中的一位,在这个事件中,他很圆滑地处理了一些事,并且想从这个事件中全而退。他从一封邮件13开始,这个邮件是为了庆祝这个项目,以及他和他的团队在过去几年取得的成果。正如他所说, Debian Live 的下游项目列表是很令人振奋的。在另一封邮件中,他也指出了这个项目不是没有生命力的: 如果 Debian CD 开发团队通过...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon 桌面 Cinnamon目前的最新版本为3.2。Cinnamon可用于多种发行版,其中包括Debian、Arch、Gentoo、Mint、Fedora以及OpenSUSE等。 使用Cinnamon的理由 1. 集成度。桌面的选择与应用可用性并无关联。事实上,我所用过的任何应用都能够在任意桌面环境中运行良好,Cinnamon自然也不例外。不过,Cinnamon确实能够为各类面向KDE与GNOME乃至任何其他桌面编写的应用提供全部必要库,且带来良好的无缝化体。 2. 外观。Cinnamon拥有清晰、简洁的外观设计,且字体与颜色组合适于阅读。大家可以通过System Settings -> Desktop菜单轻松完成图标显示设置,也能够借此指定桌面图标应该仅显示在主显示器上、副显示器上或者同时...阅读全文

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

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

动安装升级的软件包,或者如果没有看到问题,只需借助apt-get dist-upgrade来升级。 1. apt-listbugs 通常,通过看看某软件包在Debian的“稳定”代码库、“测试”代码库还是在“不稳定”代码库,就可以判断其可靠性。然而,Debian衍生版常常缺少这种指引,拥有最新的信息始终是明智的。 apt-listbugs从Debian缺陷跟踪系统显示了软件包的最新信息。结果可按优先级来过滤,让你可以选择风险级别。用apt-get安装前先运行它,对于尽量减少系统上的问题大有帮助,如果你深入“不稳定”或“试型”软件包代码库,更是如此。 选择工具 上述工具没有一款对Debian软件包管理来说是绝对必不可少的。许多用户只需用apt-get就能轻松搞定,偶尔使用dpkg清除系统上的...阅读全文

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

图解 Debian 系统通用安装教程

并记牢,超级管理员账户啊。 建立新用户,这个只是个昵称,不是登录时的用户名,可以根据自己喜好填。 这玩意就是登录时的用户名了,设置时要多注意,并且一定要记住(其实记不住也没事,还有root呢)。 设置用户密码。 接下来该磁盘分区了,我用的虚拟机,但是方法上都一样的。 有空闲分区的话推荐使用安装程序进行自动分区,当然也可以手动分区。自动分区的话如果是新手推荐“将所有文件放在同一个分区中”,有经的就根据自己喜好调整吧。 手动分区的话一定要记住挂载/根目录,否则会报错。Swap分区(交换分区)推荐大小为物理内存的两倍,比如我的实际内存为2G,swap给上4G就行了。 完成调整后保存分区表即可。需要注意的是需要记住挂载 根目录/ 的分区号,方便后面安装grub, 选是。 对于软件安装,教程既然写的...阅读全文

博文 2017-07-13 12:52:56 debian.cn

三星谈论下一代DRAM解决方案:GDDR7、DDR5、LPDDR5X和V-NAND

列。Exynos 2200采用最先进的4纳米(nm)EUV(极紫外光刻)工艺,ISOCELL HP3的像素尺寸比上一代产品的0.64μm小12%,可以使摄像头模块的表面积减少约20%,使智能手机制造商能够保持其高端设备的纤薄。三星展示了其ISOCELL HP3的实际应用,向技术日的与会者展示了用20万像素传感器相机拍摄的照片质量,并展示了System LSI用于生物识别支付卡的指纹安全IC的工作原理,该IC结合了指纹传感器、安全元件(SE)和安全处理器,为支付卡增加了额外的认和安全层。存储器业务亮点今年是三星在DRAM和NAND闪存领域分别领先30年和20年的一年,三星发布了第五代10纳米级(1b)DRAM以及第八代和第九代垂直NAND(V-NAND),肯定了该公司在未来十年继续提供最强大...阅读全文

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

开源社区是个独特的存在。它虽然结构松散但却又切实有效,为社会提供便利好用的产品却不以利益为目的,将志趣相同的人们聚集在一起但又完整地保存了每一个个体的独特性...... 这些开源社区就像是一场场风格迥异的社会实。 其中,Debian 社区是一个典型代表。作为 Linux 最早的发行版本之一,诞生于1993年的 Debian 可以算是开源社区中的“活化石”。这也令 Debian 在机制、行事和文化等方面都体现出了一定的“古典”特质。 最近,Debian 社区正在酝酿一件大事 —— 改革自己的决策机制。一直以来,Debian 的决策机制都饱受诟病,不少优秀的开发者因此离开,这样的变革或许不可避免。 01 离开 “长久以来,Debian 都难以作出改变。” 2014年的时候,Joey Hess...阅读全文

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

WebAssembly:无需容器的 Docker (上)

布与 WasmEdge 合作支持 WebAssembly。本文将解释什么是 WebAssembly(Wasm),为什么它与 Docker 生态相关,并提供一些实践示例供大家尝试。 我们假设你已经熟悉 Docker 工具。 我们将使用我们在 PHP 的 WebAssembly 端口上做的工作来演示如何构建 PHP 解释器,将其打包为 OCI 镜像的一部分,并使用 Docker 运行它。请注意,本文专注动手经,而不是讨论技术细节。WebAssembly 是什么?为什么选它?本节是对 WebAssembly 的基本介绍。 已经熟悉 Wasm 的小伙伴,可以快速重温一下,明天的文章将介绍更多实践。什么是 WebAssembly?WebAssembly 是一种定义二进制指令格式的开放标准,它支持从不...阅读全文

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

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

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直卡在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

博文 2018-12-31 20:44:06 debian.cn

Golang Context 探究

{ p.children = make(map[canceler]struct{}) } // 与父 context 关联 p.children[child] = struct{}{} } p.mu.Unlock() } else { // 如果没有找到可取消的父 context,新启动一个协程监控父节点或子节点取消信号 atomic.AddInt32(&goroutines, +1) go func() { select { case <-parent.Done(): child.cancel(false, parent.Err()) case <-child.Done(): } }() } context.propagateCancel 的作用是把子 context 和父 context 关联起来,保在...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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

graph 中的 node。注意此处使用的是 graph_node 结构,其中包含了本的 node(struct node* node)以及其相邻的 node。 struct graph_node vs struct node struct node 结构体的用法仅仅是用来描述对应的 node,和 graph 是没有关系的。而 struct graph_node 其实就是把 struct node 包装了一层,主要目的就是强调这个 node 在一个 graph 中。 struct rte_graph 接下来介绍 struct rte_graph(rte_*: runtime 时所用到的数据结构)的内存布局,建议先把先前的 graph walk 部分浏览一遍,以更好了解 rte_graph 是如何被...阅读全文

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

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。总结context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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

21款必不可少的Ubuntu桌面应用程序

、Shotcut和Lightworks。 8. Dropbox云存储 Dropbox提供一款官方的Linux客户软件,与Ubuntu桌面完美地整合起来,让你可以迅速有选择性地从其服务同步文件或同步到它的服务,立即备新文件和执行更多操作。 平时不用Dropbox?在Ubuntu 16.04 LTS及以后的版本上,可以直接在Ubuntu上使用Google Drive。 9. Franz通讯客户软件 使用多协议即时通讯软件的日子早已一去不复返,如今唱主角的大多是专有的移动型服务。 你想在Ubuntu上使用WhatsApp、Facebook Messenger、Telegram或者另一种知名的通讯服务来聊天?不妨试试Franz。 Franz让你可以连接至数量众多的服务,并提供一些基本的桌面整合功能。 10...阅读全文

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

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

了这里面的东西,每个程序员都应该可以做到这一点。嗯,但愿吧。 重视语言特性,而不是语言 很多人在乎自己或者别人是否“会”某种语言,对“发明”了某种语言的人倍加崇拜,为各种语言的孰优孰劣争得面红耳赤。这些问题对于我来说都是不存在的。虽然我写文章批评过不少语言的缺陷,在实际工作中我却很少跟人争论这些。如果有其它人在我边争论,我甚至会戴上耳机,都懒得听他们说什么 为什么呢?我发现归根结底的原因,是因为我重视的是“语言特性”,而不是整个的“语言”。我能用任何语言写出不错的代码,就算再糟糕的语言也差不了多少。 任何一种“语言”,都是各种“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或者“IBM”,或者“Dell”,或者“苹果”。那么,你可以说苹果一定比 IBM 好...阅读全文

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

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

+ openSUSE42.1,对了,还有一个 Windows10 Insider Preview。不过,日常使用的是Gentoo+kde5,其他系统很少用,只是偶而开机体一下。 工作电脑(Gentoo+kde5,wineQQ) 我觉得这也不算是折腾技术,只是装个系统罢了。许多技术只是了解一些皮毛,没有基础,也没有精力深入学习。 现在每天必做的事就是更新系统,Gentoo几乎每天emerge –sync若干次,强迫症,没办法。。。至于其他发行版,基本上都是在Gentoo下chroot进去更新。也深刻体会到更新linux比更新windows方便太多了,在不影响正常使用的情况下,就能把笔记本上的所有发行版更新了,而更新windows时,啥也干不了,干等着吧。。。 现在Linux能满足我的绝大多数需求:上网不用说...阅读全文

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

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

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

退出的时间进行排序优先删除退出时间最久的,MaxPerPodContainer 在上文已经提过,表示一个 pod 最多可以保存多少个已经停止的容器,默认为1,可以使用 --maximum-dead-containers-per-container 在启动时指定;4、若 kubelet 启动时指定了 --maximum-dead-containers(默认为 -1 即不限制),即需要为 node 保留退出的容器数,若 node 上保留已经停止的容器数超过 --maximum-dead-containers,首先计算需要为每个 pod 保留多少个已退出的容器保其总数不超过 --maximum-dead-containers 的值,若计算结果小于 1 则取 1,即至少保留一个,然后删除每个...阅读全文

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