InfraPub 为您找到相关结果 437

journalctl 清理journal日志 - 九重霄

--vacuum-time=2d journalctl --vacuum-size=500M 如果要手工删除日志文件,在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl restart systemd-journald.service 检查journal是否运行正常以及日志文件是否完整无损坏 journalctl --verifyjournal配置参考 [Journal...阅读全文

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

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

解释,否错误很容易产生,事情很容易被拖延。 以下是在选择框架时的一些设计考虑因素: 强类型 - 消息是否是强类型的?如果通过服务边界发送的消息清晰可见,那么可以消除由于类型而造成的设计和运行时错误。 打开解释 - 能够直接从服务API规范生成客户端库,减少了误解的问题。错误条件 - 有一套明确定义的错误代码可以更容易一致地交流问题。 文档 - 服务API应该是易读易懂的。定义服务API的格式应该尽可能清楚,确地描述端点。 版本控制 - 更改是不可避免的,这是一个很好的选择,在某些时候,服务API将需要修改。所使用的消息传递格式和服务定义可以影响修改API并将其部署到生产的容易程度。是否有明确的路径来增加版本及其相应的库,并推出更改? 微服务最佳实践,为什么可扩展性是重要的 除了上面列出的...阅读全文

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

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

域名,是用以简化记录服务器IP地址的马夹,所以,域名只有通过解析到具体的IP地址才能访问网站,就相当于给IP地址穿上的一件马夹,避免我们去记那一长串的数字。可以说,域名的价值是依托于服务器的,没有域名的服务器,可以用IP地址访问,而不解析的域名,就仅仅只是一串字符而已。 商标,是用以区分商品(或服务)来源的一种显著标志,不同公司提供的相同商品,对于大众而言,商品上印刷的标志,代表的就是不同公司。商标的价值,是依托于产品和公司的。 由这一点来看,商标和域名是有其相似性的,广义上来说,它们都是一种指代的符号而已。 但是,域名由于其技术特性,它是虚拟的和全球唯一的,同样的域名不可能同时被两个人注册,它遵循着先注先得的原,而商标,允许在不同领域,由不同的人持有相同的商标,比如中国的“中华...阅读全文

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

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

服务。如果cortex有许多的查询,可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标数据出现间断,即使发生机器故障and/orpod被驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的整个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在自托管或云提供商支持的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

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

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

正如体育界不成文的规定一样,这些规基本上不会出现在官方文档和正式记录上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲,这些东西很难懂,甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说,这些都是理所当然的。 软件开发,特别是开源软件开发中,也有一套不成文的规定。和其它的团队运动一样,这些规定很大程度上决定了开源社区如何看待一名开发者,特别是新加入社区的开发者。 按部就班,循序渐进 在参与社区之前,比如开放源代码或者其它什么的,你需要做一些基本工作。对于有眼界的开源贡献者,这意味这你需要理解社区的目标,并学习应该从哪里起步。人人都想贡献源代码,但是只有少量的人做过备,并且乐意、同时也有能力完成这项艰苦卓绝的工作:测试补丁、复审...阅读全文

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

项目总结报告应该怎么写

了10个工作日的延期,那我们会针对这个问题抽取指标分析原因,但如果下个版本此问题不存在,指标取消。当然,如果目前的指标集不能反映当前问题,我们会根据实际情况扩充指标集。固定通用指标是指业界认可的一些评定标,如开发代码千行代码bug率;或者对于项目人员关注的指标信息我们也会将这类指标抽取出来作为通用指标,如线上遗留问题原因等。以输入法为例,下图是输入法项目总结中的指标集。总结:1)制定的指标可以通过定量的数据衡量;2)制定的指标要项目组三方认知达成一致,且三方都认可。3. 项目数据分析在第二步中选取指标后,我们就要根据指标进行数据分析。在数据分析过程中我们要注意异常数据,对于异常数据我们要进行深入分析,直到找到问题的根本,数据的分析才算到位。总结:1) 对通用指标的数据分析时,一般不少于三...阅读全文

Web前端知识体系精简

和undefined是JS中的两个特殊类型,object是引用类型。 Javascript可以通过typeof来判断基础数据类型,但不能够确判断引用类型, 因此需要用到另外一个方法,那就是Object的toString,关于数据类型及其判断可以参考以下博客:数据类型详解 和 判断JS数据类型的四种方法 JS常用的内置对象有Date、Array、JSON,RegExp等。 一般来讲,Date和Array用的最频繁,JSON可以对对象和数组进行序列化和反序列化,还有一个作用就是实现对象的深拷贝。 RegExp即正表达式,是处理字符串的利器。 关于数据类型和正表达式的介绍可以参考博客:ES5对数组增强的9个API 和 JS正表达式精简 1、函数原型链 Javascript虽然没有继承概念...阅读全文

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

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

添加工作节点,您的群集现在已完全设置并正常运行,工作人员可以备好运行工作负载。 在安排应用程序之前,让我们验证群集是否按预期工作。 第6步 - 验证群集 集群有时可能在安装过​​程中失败,因为节点已关闭或主服务器与工作服务器之间的网络连接无法正常工作。 让我们验证集群并确保节点正常运行。 您需要从主节点检查群集的当前状态,以确保节点已备就绪。 如果从主节点断开连接,可以使用以下命令通过SSH将其重新连接到主节点: ssh sammy@master_ip 然后执行以下命令以获取集群的状态: kubectl get nodes 您将看到类似于以下内容的输出: OutputNAME STATUS ROLES AGE VERSION master Ready master 1d v1.14.0...阅读全文

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

提问的智慧 – 全文

。 不要请求私下回复 黑客们认为问题的解决过程应该公开、透明,这样就会有更多的人参与到此问题的解决,如果有知识渊博,经验更丰富的人发现了这个问题,他们就会留意到回答中不完整或不确的地方,那么原来的回答就会被纠正修复。同时,这些人的能力和学识也会被其他同行看到而得到赏识。 而当你要求私下回复时,以上的纠正过程就会被中止,所以,不要请求私下回复,要让回复者来决定是否私下回复。实际上,如果他真的私下回复你了,通常是因为他认为问题太差或者太肤浅,自己给出的答案对其它人也毫无意义,那就发给你吧。 这条规也有一个例外,如果你确定该提问可能会带来大量雷同的回复时,那么你可以主动表示:「请向我发电子邮件,我将为论坛统一归纳这些回复」。你这个举动是非常值得赞扬的,因为你将论坛从洪水般雷同的回复中解救出来。最后...阅读全文

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

Debian、Ubuntu安装源配置文件说明

版本的发行说明,并未做好升级的备。 Debian 的仓库自 squeeze 起与 Ubuntu 基本相同。除主仓库外,有: 「security」,Ubuntu 用于指安全性更新。即影响系统安全的 bug 修补。Debian 特殊一些,见下文。 「updates」,非安全性更新。即不影响到系统安全的 bug 修补。 「proposed-updates」,预更新。小 beta 版。过后会进入「updates」或「security」。Ubuntu 仅用「proposed」,无后缀「updates」。 「backports」,后备。Debian stable 发布后,Ubuntu 某版本正式发布后,其所有软件版本号便已被冻结,所有软件只修 bug,不增加任何特性。但有人可能需要新特性,甚至某些较新...阅读全文

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

全民HTTPS时代:盘点免费SSL证书那些事儿

根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 备采取下一步措施:将所有 HTTP 网站标记为不安全。 随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。 一、Let’s Encrypt 官方网站:https://letsencrypt.org/ 点评:毫无疑问,Let’s Encrypt 是目前使用范围最为广泛的免费 SSL 证书,而且官方博客宣布,自 2018 年开始提供通配符 SSL...阅读全文

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

可以及时地发现问题并解决问题。 开源除了源代码开放外,开发的过程也是透明的,因此,你可以检查供应商是否遵循 ISO27001,云安全原等基行业标开发流程。 4、更多的用户导向 开源能使顾客和用户直接看到并参与到产品开发中来,这比闭源软件开发更能了解客户的需求。供应商可能只关注产品的某一特定方面,而一个社区能致力于开发出更多的功能,能创造出对用户更有价值的产品。 5、更好的支持 专有供应商是在产品遇到问题时,唯一可以给你提供帮助的一方。如果他们无法提供你所需要的服务,或者需要对额外的服务收费,那事情就麻烦了。而软件一旦开源,如果供应商无法提供相应的服务或支持,可以有其他人来填补空白,这就是自由市场的优势,能保证你得到最好的服务。 6、更有利的许可 典型的软件许可充斥这一些不公平条例,它通...阅读全文

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

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标 HTTP 模块 标 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文

博文 2018-05-01 23:10:47 debian.cn

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

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 中文开源技术交流社区

C++ 20 准备发布 C++ 23 提上议程

根据 Reddit C++ 版块上的信息,C++ 20 已经正式通过委员会草案,这意味着 C++ 20 可以备发布。“在近期 ISO C++ 委员会会议上,我们完成了 C++ 20 委员会草案,并投票决定将国际标草案(DIS,Draft International Standard)发送出去,以进行最终批和发布”。 帖子介绍:“在程序上,DIS 可能会被拒绝,但是由于我们的程序和过程,这种情况极不可能发生。这意味着 C++ 20 已经完成,并将在几个月后发布该标。” C++ 20 是近十年来影响最大的一个版本,新的特性众多,包括: 模组(Modules)协程(Coroutines)标库 Concepts 的概念范围(range)constexpr支持:new/ delete...阅读全文

博文 2020-02-16 10:46:16 debian.cn

InfluxDB 的 percentile 函数详解

官方文档的说明并不详细: https://jasper-zhang1.gitbooks.io/influxdb/content/Query_language/functions.html 实际百分位取第几位的值参考如下 PERCENTILE(field_key, N) 选取某个字段中大于N%的这个字段值。 如果一共有4条记录,N为10,10%*4=0.4,四舍五入为0,查询结果为空。N为20, 20% * 4 = 0.8,四舍五入为1,选取的是4个数中最小的数。如果N为40,40% * 4 = 1.6,四舍五入为2,选取的是4个数中第二小的数。 由此可以看出N=100时,就跟MAX(field_key)是一样的,而当N=50时,与MEDIAN...阅读全文

Kubernetes源码探疑:Pod IP泄露排查及解决方法

UK8S是UCloud推出的Kubernetes容器云产品,完全兼容原生API,为用户提供一站式云上Kubernetes服务。我们团队自研了CNI(Container Network Interface)网络插件,深度集成VPC,使UK8S容器应用拥有与云主机间等同的网络性能(目前最高可达10Gb/s, 100万pps),并打通容器和物理云/托管云的网络。过程中,我们解决了开源kubelet创建多余Sandbox容器导致Pod IP莫名消失的问题,确保CNI插件正常运行,并备将修复后的kubelet源码提交给社区。 深度集成VPC的网络方案 按照我们的设想,开发者可以在UK8S上部署、管理、扩展容器化应用,无需关心Kubernetes集群自身的搭建及维护等运维类工作。UK8S完全兼容原生...阅读全文

C++20 标准草案全票批准通过

9月4日,C++20 的国际标草案(DIS, Draft International Standard)投票结束,最终获全票批通过。 这意味着 C++20 已获得了最终的技术批,并完成了 ISO 的投票,预计在完成最后一轮 ISO 的编辑工作后,C++20 将在2020年底正式发布。 与上个版本 C++17 相比,C++20 是一次重大的更新,引入了许多新特性: 模块 (Modules)协程 (Coroutines)范围 (Ranges)概念与约束 (Constraints and concepts)指定初始化 (designated initializers)操作符 <=> != ==constexpr支持:new/ delete、dynamic_cast、try/ catch、虚...阅读全文

博文 2020-09-08 10:51:13 debian.cn

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

证:我们通过一系列广泛的验证器运行每个生成的incarnation。大多数验证器会验证incarnation的一致性,而有些验证器使用外部数据库交叉检查内容。备一系列的验证器是极其重要的——损坏是非常常见的配置问题,验证器可以有效地检测损坏并防止错误配置进入生产环境。在添加新的asset类型或插件时,我们几乎总会同时添加多个验证器。存储:一旦验证了某个incarnation,结果就会存储到Spanner里。虽然特定的incarnation很少使用很长时间,但是在事后保留结果以辅助问题的调试是很有价值的。服务:通过查询服务器访问存储的incarnation。消费者可以请求最新的incarnation,特定的incarnation,或者其他的。它们还可以过滤出想看到的asset,这在处理有上...阅读全文

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

高性能缓存服务器 Nuster

Nuster 是一个基于 HAProxy 的高性能缓存服务器。Nuster 完全兼容 HAProxy,并且利用 HAProxy 的 ACL 功能来提供非常细致的缓存规,比如 请求地址为某某时缓存 请求参数中的 X 为 Y 时缓存 响应头中的 X 为 Y 时缓存 请求速率超过多少时缓存 等等 Nuster 性能评测 非常快, 单进程模式下是 nginx 的 3 倍,多进程下 nginx 的 2 倍,varnish 的 3 倍。详见benchmark 安装 Nuster git clone https://github.com/jiangwenyuan/nuster.git cd nuster make TARGET=linux2628 make install 详情请参照 HAProxy...阅读全文

博文 2017-12-15 22:17:31 debian.cn

Debian Policy更新:新增多样性systemd初始化系统投票内容

上个月 Debian 开发团队就是否支持非 systemd 初始化系统的问题进行了投票,最后达成的共识是“选择 systemd 但同时探索替代方案”,而 Debian Policy 近期的更新也反映了这一点。 Debian Policy 4.5 是最新的版本,其中包含对“选择 systemd 但同时探索替代方案”这一投票结果响应的指南。 最新的 Debian Policy 手册指出,带有系统服务的软件包应该包括 systemd 服务单元,如果没有 systemd 单元,鼓励使用 init 脚本,否是可选的。此外,手册还鼓励 init 脚本支持"status"参数。如果软件包包含 init 脚本,要求使用 update-rc.d。 Debian Policy 还有一个值得关注的更新是...阅读全文

博文 2020-01-24 16:55:45 debian.cn

UNTANGLE NG FIREWALL 13.0.0,基于 DEBIAN 的网关系统

可以创建策略和规来管理行为。类似于警报规,触发器规评估所有事件,并且可以根据所应用的规配置对实体进行标记或不标记。 一旦配置了标签和触发器,他们就可以主动管理主机,设备和用户,而无需网络管理员的干预。 更多信息可以在公司的发布公告和更新日志中找到。 下载地址 (MD5): untangle_1300_x64.iso (550MB, pkglist). 在线 Demo 站点: http://demo.untangle.com/admin/index.do...阅读全文

SK海力士进军PCIe 4.0 SSD:密度世界第一 轻松32TB

SK海力士今天正式发布了最新款的企业级SSD PE8000系列,包括PE8010、PE8030、PE8111三款型号,这也是其首款PCIe 4.0 SSD,无论存储密度、容量还是性能都是世界一流的,甚至是超一流的。 PE8010、PE8030都配备了SK海力士自产的96层堆叠4D TLC NAND闪存颗粒,搭配自研主控,最大容量8TB,兼容U.2、U.3接口,其中PE8010面向读取密集型应用,PE8030为读写混合应用而优化。 性能方面,持续读写速度最高均可达8.3GB/s、3.7GB/s,随机读写速度最高可达1100K IOPS、320K IOPS。 相比于去年的上代产品,持续读取性能提升103%,随机写入性能提升357%,另外最大功耗为17W。 PE8111是针对读取密集型负载...阅读全文

博文 2020-04-08 09:31:41 debian.cn

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

通道(就是两条PCI-E),而 M.2(Socket 3)的固态可以走 PCI-E 3.0×4 通道。 需要说的是每条 PCI-E 3.0 的带宽是 8Gbps,而 SATA 3.0 的带宽只有 6Gbps。 最后要说的就是经常被商家拿来当作卖点的 NVMe 了。其实 NVMe 跟 AHCI 都是一种规范,就像是在路上走如果没有交通规的限制,那么肯定是一团拥挤肯定都走不动了,而 NVMe 和 AHCI 就像是这种交通规。 AHIC 是针对 SATA 这种弯路的交通规。然后开发者发现,这种针对弯路的规范,数据只能一个一个通过的规用在宽敞的 PCIE 通道上面实在太浪费了,于是针对 PCIE 通道又开发出了 NVME 规范,可以让很多数据同时通过。 总结:M.2 跟 SATA 其实可...阅读全文

博文 2019-01-23 13:28:23 debian.cn

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

在微软宣布以 75 亿美元的价格收购 GitHub 后,这个在全球拥有超过 2800 万开发者的代码托管平台即将在微软庞大的云计算框架下进行独立运作。 微软 CEO Satya Nadella,CFO Amy Hood ,GitHub 联合创始人兼现任 CEO Chris Wanstrath ,以及即将上任的 GitHub CEO(也是 Xamarin 创始人)Nat Friedman 昨天在短暂的媒体电话会议中分享了有关此次收购和微软对 GitHub 的后续规划的更多细节。 微软在扩展 GitHub 的覆盖面,以及将平台融入微软生态上有着宏伟的规划,但所有的计划会基于以下两点原:GitHub 将保持自主性独立运营,GitHub 向所有开发者开放。 1、三大策略将 GitHub 融入微软...阅读全文

博文 2018-06-06 11:08:17 debian.cn

树莓派4发布:性能飙升 配件丰富 价格不变

树莓派是一款旨在通过超实惠的方式,来鼓励孩子们投身编程事业的奇趣开发套件。不过这款主板只有信用卡大小的装置,已经在教育系统之外培养出了一大票粉丝,首年就卖掉了百万台。 今天,树莓派在官网上宣布了 Raspberry Pi 4 正式开售的消息。作为一款改变游戏规的产品,其处理能力是前一代 Raspberry Pi 3+ 的三倍、多媒体性能为四倍。 树莓派的每一次迭代,都会引入一些新的卖点,比如 64 位处理器、802.11ac 双频 Wi-Fi、以及通过 HAT 的以太网供电(PoE)。 今天发布的树莓派 4,不仅在计算和多媒体性能上有所提升,还采用了运行频率为 1.5GHz 的四核 ARM Cortex-A72 处理器、千兆以太网、蓝牙 5.0、以及 USB 3.0 连接。 性能的提升...阅读全文

博文 2019-06-25 08:43:29 debian.cn

Debian下安装配置 Hadoop 3.1.3 集群

在这篇文章里,我将在 VMWare 里面虚拟四台 Debian 虚拟机,一个做master,三个slave。这四台主机的 hostname 分别是 master、slave1、slave2、slave3。下面的 JDK 和 Hadoop 安装配置操作都是使用普通用户 hadoop 来执行,并非 root。 集群环境备 1. 静态网络的配置 编辑/etc/network/interfaces文件,注释自动获取IP,并添加下面内容 # static IP address auto ens33 iface ens33 inet static address 192.168.20.101 netmask 255.255.255.0 gateway 192.168.20.2 dns...阅读全文

博文 2019-11-27 23:04:39 debian.cn

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

在许多互联网领域,尤其是Web PKI和SSL/TLS行业中,我们大多生活在过去的决定中。脆皮密码、差强人意的协议设计以及不怎么标的软件始终牵绊着前进的步伐。往往一个新操作系统或库的问世都会迅速被大量使用,然后整个生态系统需要花上很多年的时间处理各种遗留的设计缺陷。 随着互联网规模和重要性的增长,我们试图做出更明智的决定,以避免或至少缩短这一周期。最近,两个操作系统进行了更新,反映了两种不同的保持生态健康的做法: Debian推动了其预发行版本的更改,将只支持TLS 1.2;而微软开始在Windows Server 2008添加TLS 1.2支持。 这两个选择代表了相反的观点 - 一个展望未来,另一个回顾过去。 Debian发布了一个新版本的OpenSSL库,用于其不稳定的构建 - 一...阅读全文

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

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 语言贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内容在博客中分享,由于内容过长,他又写了一个简洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go简洁版:https://the-zen-of-go.netlify.com 这里简单翻译一下简洁版本的内容:编写简单、可读、可维护的 Go 代码的十个工程要点。 每个包实现单一目标 设计良好的 Go 软件包提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件包首先需要选择一个好名字,使用电梯法(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件包要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 debian.cn

使用 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

分布式 NewSQL 数据库 TiDB

TiDB 3.1.0 GA 版本现已发布,该版本的更新集中在 Bug 修复。具体的更新有如下内容: 兼容性变化 TiDB支持 TiDB 在启动服务时,在开启 report-status 配置项情况下,如果发现 HTTP 监听端口不可用,直接退出启动 #16291ToolsBackup & Restore (BR)BR 不支持在 3.1 GA 版本之前的 TiKV 集群上进行恢复 #233 新功能 TiDB支持在 explain format = "dot" 中展示 coprocessor 任务的信息 #16125通过 disable-error-stack 配置项减少日志的冗余 stack 信息 #16182Placement Driver (PD)优化热点 Region 调度...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

80% 的 Oracle JDK 用户正在考虑替代方案

SDK 和 Azul。而在这 70% 的用户中,现在有 80% 在考虑替代方案。 Azul 董事会主席 Bill Coleman 称,“领先的行业分析师一致认为,Oracle 的大多数 JVM 客户都在寻找更具成本效益的开源解决方案,该解决方案可支持原本不受支持的较早版本。” Azul Systems 透露,在 2020 年 2 月发布的软件开发人员的类似研究结果显示,对 Oracle JDK 的首选使用率已从 70% 下降至 34%,大部分现有用户都选择了免费或受支持的基于 OpenJDK 的部署。2020 版本 Snyk 和 Oracle 的调查也显示了相似的结果。 2020 年 JVM 生态系统报告还发现,有 86% 的受访者没有为 Java 支持付费。7% 的受访者表示,他们愿意根据发...阅读全文

博文 2020-05-27 08:13:46 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

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

以太网技术联盟宣布800千兆以太网规格

近日,25千兆以太网联盟宣布更名为以太网技术联盟,并发布了800G以太网800GBASE-R规范,重用400G标逻辑。 以太网技术联盟表示,“25千兆以太网联盟最初成立是为了开发25、50和100 Gbps以太网规格,现更名为以太网技术联盟,是为了更好反映对新技术的关注”。该行业联盟包括Arista、Broadcom、Cisco、Dell、Google、Mellanox和Microsoft。 更快的以太网将加快数据中心内部和数据中心之间的通信。该规范现在已经可用,并打算作为最终IEEE的正式标工作的基础。以太网技术联盟(Ethernet Technology Consortium)正在重塑形象:该联盟成立于2014年,旨在推动网络速度的下一个突破,当时它采用了一个现在看来有些过时的名称...阅读全文

博文 2020-04-12 15:10:55 debian.cn

USB 4产品将于2020年末上市 提供40Gbps速率与100瓦供电

100W供电,在视频传输方面支持HDMI 2.0和Display 1.2(DP 1.2)标,可以连接一个5K显示器或者同时连接两个4K显示器。由于采用了USB Type-C物理接口,所以USB 4标可以让笔记本更加轻薄,并且向下兼容此前采用USB Type-C标的产品,考虑到目前的主流USB标基本都可以使用USB Type-C物理接口,所以基本不用担心兼容性的问题,只是部分用户可能需要额外购买一些采用USB Type-C规格的外设产品或者扩展坞。 USB规范与接口规范 作为USB标的制定者,USB-IF 对 USB 4 的发展表示乐观,认为相关具体规范能够在今年夏天完成,并在2020年底推出能够量产的相关设备。另一方面,因特尔不仅提供了USB 4相关的技术,并且也在积极推动相关产品的发展。...阅读全文

博文 2019-06-13 22:21:22 debian.cn

容器安全项目Falco

Falco 是云原生的容器运行时(Runtime)安全项目,主要有 Sysdig 为主开发,为 CNCF 项目,近日 Sysdig 宣布将底层的内核模块、eBPF 探针和库贡献给 CNCF。 Falco 可以轻松使用内核事件,并使用 Kubernetes 和其他云本机中的信息补充和丰富事件。Falco 具有一组专门为 Kubernetes,Linux 和云原生构建的安全规。如果系统中违反了规,Falco 将发送警报,通知到用户。...阅读全文

开源项目 2021-03-15 17:46:45

SonarQube 8.4 发布,分析时间最多可减少 80%

类别的覆盖范围:A2-身份验证失败、A3-敏感数据暴露、A4-XML 外部实体(XXE)和 A6-安全性错误配置。 XXE for C、C++ 和不安全函数的使用 除了 Python,C 和 C++ 中也添加了 XXE 检测功能。 Java 和 C# 不安全反序列化检测 添加了针对 C# 和 Java 的反序列化漏洞的检测。不过针对 Java,这是一项商业功能。 22 条新的 Python 规,更好的类型处理、Flake8 支持 Python 增加了 14 条新的 Bug 规和 8 条新的 Code Smells,其中包括 4 条有关类型检查的规。此外,Python 分析现在可以理解 TypeShed 类型,因此现有规变得更加智能。同时,Flake8 用户现在可以轻松导入这些问题...阅读全文

博文 2020-07-13 12:55:22 debian.cn

DDR5 内存加速:Keysight 首发完整测试验证系统

电子测量企业 Keysight Technologies 近日推出了业界第一个完整的 DDR5 DRAM 测试与验证系统“N6475A DDR5 Tx”,为新一代内存的研发打开了方便之门。 这套系统包括 Keysight N6475A DDR5 Tx 兼容测试软件、M8040A 64 Gbaud 高性能比特误码率测试仪 (BERT) 和 Infiniium UXR 系列实时示波器两种硬件,可对 DDR5 内存进行抖动、电子、时序、波形、眼图方面的测试,包括 DDR5 芯片、数据缓冲、寄存器芯片的发射器物理层。 程序会自动将测试结果与 DDR5 标规范的兼容标进行对比,展示产品是否通过每一项测试。 在此之前,DDR5 产品的开发者们必须自己设计软件,或者手动执行所有测试、分析,现在有了...阅读全文

Prometheus 2.13.0 发布

] Service discovery:为 kubernetes 添加新的节点地址类型 #5902[ENHANCEMENT] UI:如果查询返回了一些警告,显示警告 #5964[ENHANCEMENT] Remote write:减少系列缓存的内存使用量 #5849[ENHANCEMENT] Remote read:使用远程读取流传输以减少内存使用量 #5703[ENHANCEMENT] Metrics:添加了将远程最大/最小/所需分片写入队列管理器的指标 #5787[ENHANCEMENT] Promtool:在标签查询期间显示警告 #5924[ENHANCEMENT] Promtool:改进了解析错误规时的错误消息 #5965[ENHANCEMENT] Promtool:更多提示规 #5515...阅读全文

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有缓冲和无缓冲两种类型,无缓冲的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么待channel阻塞时表明条件未满足,需要等待其他数据结果返回。 本文列举几类常见的 channel 使用场景。 读写 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println("写:",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

Debian中文怎么读 如何正确发音

Debian 是 Debian 项目的创始人 Ian Murdock 和他的妻子 Debra 的名字缩写。值得一提的是,Debian 是第一个 Linux 发行版,它首次发布于 1993 年 9 月。 根据 Debian 的官方网站建议,它应该这样读:Deb'-ee-en ,“得比恩”,重音在第一音节。“得变” 有点接近,因为是重音,deb 应该发成类似“跌”的发音。 也就是“跌扁”,“蝶变”。 这里提供两种很标的 Debian 标发音,供参考。 第一个发音是带西班牙口音的 Debian 发音方式(MP3文件下载): 这一个是较美式的 Debian 读法(MP3文件下载):...阅读全文

博文 2018-01-02 18:36:25 debian.cn

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

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻无法登录 Kubernetes 集群,重整个集群异常。 为了解决证书过期的问题,一般有以下几种方式: 大幅延长证书有效期,短 10年,长 100 年; 证书快过期是自动轮换,如 Rancher 的 K3s,RKE2 就采用这种方式; 增加证书过期的监控,便于提早发现证书过期问题并人工介入 本次主要介绍关于 Kubernetes 集群证书过期的监控,这里提供 3 种监控方案: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期时间; 使...阅读全文

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

nsenter 及 Linux命名空间 简介

]] options: -t, --target pid:指定被进入命名空间的目标进程的pid -m, --mount[=file]:进入mount命令空间。如果指定了file,进入file的命令空间 -u, --uts[=file]:进入uts命令空间。如果指定了file,进入file的命令空间 -i, --ipc[=file]:进入ipc命令空间。如果指定了file,进入file的命令空间 -n, --net[=file]:进入net命令空间。如果指定了file,进入file的命令空间 -p, --pid[=file]:进入pid命令空间。如果指定了file,进入file的命令空间 -U, --user[=file]:进入user命令空间。如果指定了file,进入file的命令空间 -G...阅读全文

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

Debian 成为主流 Linux 操作系统的七个原因

的。许多基于Debian的发行版(包括Ubuntu)使用Testing或者Unstable软件包,不过在发布之前进行自己的一番测试。除非备进行技术方面的重大变化,比如上一个版本改用systemd,否Unstable通常来说足够安全,如果你借鉴的对象仅限于非核心元素(比如桌面环境),更是如此。 5.自由程度的选择 Debian软件库分为三个部分:Main、Contrib 和 Non-Free。Main完全包括免费许可证的软件,Contrib包括本身免费许可证的软件,但是依赖其他的非免费软件,而Non-Free包括采用专有许可证发布的软件。 Debian安装时只启用了Main,所以该项目的偏好显而易见。不过,添加另外两个部分只需要五分钟的时间来编辑/etc/apt/sources.list...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

以及QLC闪存? TLC = Trinary-Level Cell,即3bit/cell(每个Cell单元储存3个数据,有8个状态,具体如上图,有八种不同电压状态)。主要特点:成本低,容量大,但速度慢,寿命短,约500-1000次擦写寿命。但随着技术的成熟,寿命问题已经得到改善(约1500-2000次擦写寿命),并成为目前闪存颗粒中的最主流产品。 QLC=Quad-Level Cell,即4bit/cell(每个Cell单元储存4个数据,有16个状态,具体如上图,有十六种不同电压状态)。相比于TLC来说,成本比更低,容量更大,而可靠、稳定性及寿命更差些(此前几年预计的理论可擦写100-150次),不过目前东芝宣称,他们的QLC NAND拥有多达1000次左右的P/E编程擦写循环,几乎已经和...阅读全文

博文 2017-08-01 09:52:54 debian.cn

DDR5内存最大亮点是啥

美光于前日宣布已经开始向业界中的核心客户出样DDR5内存(RDIMM)了,目前他们在DDR5内存上面使用的是自家最新的1z nm工艺。 JEDEC于2016年就开始制定DDR5 SDRAM规范了,不过到目前为止,DDR5标仍然处于完善期,JEDEC还没有公布它的最终版本,预计它将会在今年正式完成DDR5标的制定。反而是LPDDR5快了一步,在去年2月份标就已经正式公布,并且有厂商已经推出了实际产品,并且在今年已经有移动处理器支持它了。 美光的DDR5技术文档也得以让我们一窥DDR5内存的特性。首先,在同样的等效频率下,DDR5内存能够提供更高的有效带宽,比如同样处于3200MT/s下,DDR5-3200的有效带宽比DDR4-3200的要高出36%;其次是DDR5(在JEDEC标范围...阅读全文

Go 1.8 正式发布 标准库有显著变化和性能提升

今天Go 团队很高兴地宣布Go 1.8发布了。现已提供下载。整个标库有了显著的性能提升和变化。该版本主要的更新内容如下: Go 1.7中为64位x86引入的编译器后端现在用于所有体系结构,这些体系结构将会有显著的性能改进。例如,我们的基程序所需的CPU时间在32位ARM系统上减少了20-30%。在此版本中,64位x86系统还有一些性能改进,编译器和链接器更快了,编译时间应该比Go 1.7提高约15%。但是在这一领域还有很长的路要走:我们希望在未来版本中实现更快的编译速度。 垃圾收集暂停时间明显更短,通常在100微秒以下,有时候甚至低至10微秒。 HTTP服务器添加对 HTTP/2 Push的支持,允许服务器抢先发送响应到客户端。这对于通过消除往返行程来最小化网络延迟非常有用。HTTP服...阅读全文

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

Stackstorm 入门介绍

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