InfraPub 为您找到相关结果 671

谷歌开源 Pigweed:用于提升嵌入式开发效率

中的经典挑战是减少从运行 git clone 到在设备上执行二进制文件的时间。对于生产嵌入式项目,往往通常需要一整套工具。而 Pigweed 能够通过虚拟环境提供简化设置的工具,具体来说,Pigweed 的 pw_env_setup 模块中的引导脚本可设置当前的 shell 以访问一组标准化工具——包括 Python 3.8、clang 格式以及 ARM 编译器。所有这些都是在虚拟环境中完成的,因此无需修改系统的默认环境。 在典型的嵌入式开发中,即使添加很小的更改也需要一些额外的手动步骤。而 Pigweed 的 pw_watch 模块直接解了这种效率低下的问题,它提供了一个监视者(watcher),该监视者可以在保存文件时自动调用构建,还可以运行受代码更改影响的特测试。这大大缩短了更改的...阅读全文

博文 2020-03-22 08:35:14 debian.cn

Linux 基金会与 RISC

,2010年诞生于加州大学伯克利分校,当时的Krste Asanovic教授希望寻找一个合适的CPU指令架构,但X86架构复杂臃肿、ARM架构需要授权费、开源的OpenRISC架构又太老旧了,所以他最终自己做个开源CPU架构,在2015年最终成立了RISC-V基金会,专门推动RISC-V发展,现在的RISC-V基金会成员也扩大到了80多人,包括Google、HP、西数等公司都开始支持RISC-V架构。 RISC-V指令集灵活、高效、开源还免费,非常适合做移动处理器、IoT物联网、网络处理器等等低功耗、嵌入式设备,对ARM的威胁也是最大的,而且国内的公司也开始积极参与RISC-V生态系统,今年10月份在中国上海成立了中国RISC-V产业联盟,包括芯原微电子、北京君正、安徽华米、上海小蚁、苏州国芯...阅读全文

博文 2018-12-01 09:45:27 V 基金会合作推广开源芯片

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解方案是额外绑一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发缓冲区溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始化程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设启动各种服务。其安全的重要性不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

Oracle Linux 8.0 发布

使崩溃内核和 initramfs 尽早加载,以便它可以捕获 vmcore 信息,包括早期内核崩溃。 容器与虚拟化 新的容器工具:Podman、Buildah 与 skopeo 现在在 Oracle Linux 8 上可用:Podman:Podman 是 Libpod 的一部分,它的义可以简单用这个命令表示:`alias docker=podman`。Buildah:Buildah 是一个用于构建 OCI(Open Container Initiative)镜像的工具。skopeo:skopeo 是一个命令行工具,用于对容器镜像和镜像库执行各种操作,支持使用 OCI 镜像与原始的 Docker v2 镜像。Q35 机型是一种更现代的 PCI Express-based 机器类型,现在可用于...阅读全文

博文 2019-07-20 22:39:32 debian.cn

历数2017年五大Linux痛点

问题被频繁提及,这不免令人有些惊讶。如果你不运行主流的发行版,这个问题会更严重。也许你在使用中没有更多的体会,但越来越多人在使用AppImage、Flatpak或者Snaps,这让我们意识到问题的存在,笔者很想更多地了解软件不兼容的问题,如果你最近遇到了,请在评论中告诉我们。 3.UEFI和安全引导 UEFI(UnifiedExtensibleFirmwareInterface)全称"统一的可扩展固件接口",是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。尽管随着部署更多支持的硬件,UEFI和安全引导问题仍在改善,许多用户表示,他们仍然存在与UEFI安全启动相关的问题。使用一个完全支持UEFI安全启动开箱分配是最好的解之道。 4.32位操作系...阅读全文

博文 2017-11-25 12:27:56 debian.cn

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

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳的和高度可制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的范围。 1.先条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

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

Docker v1.13.0 正式版发布

Docker v1.13.0 正式版发布了。需要注意的是,在 Docker 1.13 中,与在 Docker 1.12 中引入的实验版本相比,管理插件 api 发生了变化。在升级到 Docker 1.13 之前,必须卸载使用 Docker 1.12 安装的插件。可通过 docker plugin rm 命令卸载插件。 如果已经升级到 Docker 1.13 而不卸载先前安装的插件,则当 Docker 守护程序启动时,可能会看到此消息 Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv 要手动删除所有插件并解此问题,请执行以下步骤: 从 /var/lib...阅读全文

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

Canonical 宣布临时关闭 Ubuntu 17.10 下载通道

鉴于众多联想笔记本用户报告尝试安装最新Ubuntu 17.10(Artful Aardvark)导致BIOS损坏的问题,Canonical 公司于今天宣布撤下最新版本的下载镜像。为了解这个问题,Canonical计划在Linux Kernel 4.13内核中关闭英特尔SPI驱动,在重新构建和打包之后公司将会推出全新的ISO镜像。目前尚不清楚整个过程需要多久时间,但相信修正版应该会尽快发布。 令人感到遗憾的是,如果你的联想笔记本出现BIOS损坏的问题,严重的可能需要更换设备主板。根据报道,部分Yoga和IdeaPad系列产品线受到影响,此外部分Acer、戴尔和东芝笔记本同样收到影响。 联想B40-70,联想B50-70,联想B50-80,联想Flex-10,联想G40-30,联想G50...阅读全文

博文 2017-12-21 20:15:44 debian.cn

开源堡垒机 Jumpserver 1.4.7 发布

Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解方案,交互界面美观、用户体验好。 Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。 下载地址: Source code(zip)Source code(tar.gz)...阅读全文

博文 2019-02-02 10:36:34 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 程序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn

社交巨人Facebook使用Linux和Btrfs的姿势

被我们称之为“影子层”的地方进行——我们可以在一个非生产环境重放生产网络的流量,这样我们能够在一个非常安全的地方检测系统的稳性和性能。我们可以像做实验那样一边加大流量一边说:“好了,我先给它(测试环境)5%的生产网络流量,然后一路增加到100%,看看会有什么发现吧。”像做A/B测试那样,我就能得到两个内核在整个实验过程中对比鲜明的数据。 我们有工具能验证内核并帮助测试上游内核。这样比较容易发现上游内核新的有意思的bug,而非只是找到已经被上游内核修复过的bug。 Linux.com:您比较担心什么问题? Chris Mason:就运行Linux内核或者文件系统而言,我们还没遇到什么问题;况且有这么多的社区在支持Linux,我也没有必要担心什么。 Linux.com:您参与Linux开发也有...阅读全文

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

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

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

statefulset.apps/apisix-etcd 2/3 57m NAME COMPLETIONS DURATION AGE job.batch/cert-manager-startupapicheck 1/1 6m24s 45m Kubernetes Controller Manager 的机制了 Pod 名称会有所不同。 步骤四:申请证书并测试 首先我们需要配置证书颁发对象。 # issuer.yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: issuer namespace: ingress-apisix spec: selfSigned: {} 并创建自签名证书颁发者。 kubectl apply -f...阅读全文

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

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

就不足为奇了。但是,有一些关键差异可能会帮助您使用哪个。tbody>Thanos>Cortex演练让我们通过安装一个真实的示例并通过多个Prometheus和Grafana对其进行配置以可视化数据来试用Cortex。git clone https://github.com/kanuahs/cortex-demo.git cd cortex-demo Prometheus and Cortex with Docker Compose为了简单设置,我们将使用docker-compose启动以下服务:三个Prometheus容器Consul三个Cortex容器Grafana为了简单起见,我们将使用多功能的cortex配置。这将cortex作为一个独立的应用程序运行。我们将运行它的三个实例来检查...阅读全文

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

Monit:开源服务器监控工具

!= 0 then alert 控制台访问验证 访问Monit Web界面主要通过ALLOW选项进行控制,ALLOW选项用于指身份验证并仅授权特客户端进行连接。 如果正在使用Monit命令行界面,至少需要一个明文密码(见下文),否则Monit命令行界面将无法连接到Monit Web界面。 尝试连接到Monit,但提交错误的用户名和/或密码的客户端将使用其IP地址记录。 主机和网络允许列表 Monit维护允许连接的主机和网络的访问控制列表。您可以添加任意数量的主机,但只允许具有有效域名或其IP地址的主机。 Monit将查询名称服务器以检查任何尝试连接的主机。如果主机(客户端)正在尝试连接,但无法在访问列表中找到或无法解,Monit将立即关闭与客户端的连接。 配置文件示例: set httpd...阅读全文

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

Debian8安装TeamViewer远程协助软件

TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解方案。为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可,而不需要进行安装(默认是免安装方式运行)。该软件第一次启动在两台计算机上生成 ID。只需要输入你的伙伴的ID到TeamViewer,就会立即建立起连接。 由于TeamViewer的Linux版本很长时间都没有更新,所以在Linux系统安装TeamViewer时会碰到依赖问题。这篇教程介绍如何在Debian Jessie系统安装TeamViewer远程协助软件。 Debian 8安装TeamViewer 到 TeamViewer.com下载32位的deb安装包。(TeamViewer Linux版本...阅读全文

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

Debian 下轻松实现 PHP 多版本共存

PHP7 的发布废弃了部分特性,一些程序或者插件当前不能很好的运行在 PHP7 上,因此如果服务器上能同时运行多个 PHP 的版本,就可以很好的解过渡期的兼容性问题。在前面两篇文章中,我们介绍了如何在 Debian Stretch 中安装使用 PHP5,以及如何在Debian环境安装配置PHP 7.2。看完这两篇文章,细心的同学就会发现,两个版本的PHP共存,是很好实现的。 这里我们以同时安装 PHP-7.2 和 PHP-5.6 两个版本为例,说明Debian环境中如何配置实现Nginx中的PHP多版本共存。 一、根据安装配置PHP7.2教程安装 PHP-7.2 和 PHP-5.6: #先安装 PHP7.2 apt install -y php7.2-fpm php7.2-mysql...阅读全文

博文 2017-12-16 14:47:37 debian.cn

490MB/s 金士顿新款外置SSD发布:最高960GB

随着互联网的高速发展,云存储技术已经相当成熟了,网盘成了人们工作和学习中不可缺少的部分。尽管如此,离线存储技术也无法被取代,毕竟在没有网络的情况下,离线存储才是最佳的解方案。 而目前使用的最多的且最方便的离线存储设备就是U盘,凭借小巧便携的体型设计赢得了广大用户的喜爱,但随着数据的日益膨胀,小小的U盘无论是在读写速度还是在容量上已经无法满足我们日益增长的存储需求。 而今天,金士顿在CES大会上展示了一款离线存储设备——HyperX Savage EXO外置SSD。HyperX Savage EXO外置SSD外壳采用聚碳酸酯打造,存储颗粒为3D TLC NAND闪存,拥有480GB和960GB两种容量可供选择。 外置SSD的接口为USB3.1 Gen 2,带宽高达10Gbps,实际连续读写...阅读全文

博文 2018-01-08 20:54:57 debian.cn

Git 免用户名密码访问代码库

在使用 git 时,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置时也无法做到自动同步更新代码。那么如何解这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码 以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己创建的系统用户名目录)目录下,创建.git-credentials 文件。 文件内容为一行,样例如下: https://username:password@git.example.com 注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行, git...阅读全文

博文 2018-11-28 12:55:36 debian.cn

华为正式发布 openEuler 系商业发行版操作系统

统的实现,深度参与到社区的创新和实践。除标准组件外,此次openEuler社区还孵化了A-Tune和iSula两个开源子项目:A-Tune是智能性能优化系统软件,即通过机器学习引擎对业务应用建立精准模型,再根据业务负载智能匹配最佳操作系统配置参数组合,实现系统整体运行效率提升;iSula是一种云原生轻量级容器解方案,可通过统一、灵活的架构满足ICT领域端、边、云场景的多种需求。 开发者可以通过访问如下链接,获得相关代码和文档,供参考学习、了解openEuler操作系统的架构和源代码, https://gitee.com/openeulerhttps://gitee.com/src-openeuler...阅读全文

博文 2020-03-27 11:10:15 debian.cn

Linux基金会宣布开放物联网ACRN管理程序

Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理程序。该项目得益于英特尔代码和工程的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理程序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解方案提供的,但嵌入式开发人员社区被邀请提供代码以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理程序选项。 ACRN针对资源受限设备进行了优化,并将重点放在隔离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文

博文 2018-03-20 08:33:38 debian.cn

Consul 1.6 GA 发布

Consul 1.6.0 已于近日 发布 GA 版本 ,Consul 是 HashiCorp 公司推出的开源工具,也是主流的用于实现分布式系统服务发现与配置的方案。HashiCorp 对 Consul 的介绍是一个多云服务网络平台,用于在跨任何运行时平台和公共云或私有云的场景连接和保护服务。 本次更新主要集中在 Consul Connect(为其增加了一些主要新特性)和 Consul 的服务网格解方案方面,此外还有一些改进和错误修复。 Consul 1.6 新特性 支持对 L7 层的流量管理 。1.6 使用了新的配置条目类型,可为服务到服务(service-to-service)的请求启用高级流量管理模式。其他配置条目类型如服务解析器、服务隔离器以及服务路由器通过高级服务故障转移和部署模...阅读全文

Apollo 配置中心简单介绍

本章将介绍如何在Apollo配置中心中删除已经发布的项目。 专栏目录: 携程 Apollo 配置中心 | 学习笔记 序章 欢迎关注个人公众号: Coder编程 欢迎关注个人网站:https://coder-programming.cn/ 一、前言 之前一直学习SpringCloud, 对于配置中心,一直也是采用的Spring Cloud Config,但是用久了,发现很多地方满足不了要求,同时也感觉很low(个人看法勿喷)。在学习Spring cloud config 的时候也有听到过携程的apollo,但一直没时间去弄。直到昨天看了一张图,如下:使我下心去看看携程的apollo配置中心。 这张图也算是综合对比了spring cloud config,netflix archaius...阅读全文

博文 2021-04-09 17:53:51 CSDN

译:Kubernetes 最佳实践

探针则不会生效。译者:还有一点尽量为 Pod 内的所有容器都义探针。使用自动缩放在适当的情况下,可以使用自动缩放来动态调整 pod 的数量(Pod 水平自动缩放器,HPA)、pod 消耗的资源量(Pod 垂直自动缩放器, VPA)或集群中的节点数量(集群自动缩放器,CA),具体取于 对资源的需求。Pod 水平自动扩缩器还可以根据 CPU 需求扩展复制控制器、副本集或有状态集。使用缩放也带来了一些挑战,例如不在容器的本地文件系统中存储持久数据,因为这会阻止水平自动缩放。相反,可以使用 PersistentVolume。当集群上存在高度可变的工作负载并且可能根据需求在不同时间需要不同数量的资源时,集群自动缩放器非常有用。 自动删除未使用的节点也是省钱的好方法!译者:更多自动缩放的内容,可以浏...阅读全文

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

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

,并且 toHexString()操作也进行了优化。重新使用 async-profiler 查看一下最新的火焰图信息。 之前的 toHexString() 耗时已经几乎看不到了,但是感觉日志append 的操作横轴还是略长,于是将日志输出关闭来看看极限处理速度。 将日志级别调整为 warn,并启动程序,观测到处理速度已经能够达到 18万/s了,这相当于 toHexString()优化前的快3倍了。 此时再将日志append 模式改为异步模式,然后启动程序,观察,处理速率也能够达到 18万/s。 十、参考链接 火焰图的介绍论文 火焰图官方主页 火焰图生成工具 https://www.ruanyifeng.com/blog/2017/09/flame-graph.html https...阅读全文

博文 2022-03-11 10:05:09 博客园

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

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

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

深入理解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 知乎

亚马逊12个月免费云服务

热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节点丰富,为网站的快速稳访问提供基础设施保障。配合亚马逊全球CDN节点,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方面的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现分布式部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来。qcount 表示当前缓冲区中有效数据的总量...阅读全文

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

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

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软件生态也十分丰富。 ​树莓派最初是剑桥大学计算机系的一个实验性项目,创始人 Eben Upton 召集了一群教师、学者和计算机爱好者,希望设计出一种能激励儿童参与编程的小型计算机。这个计算机的灵感来自 1981 年 Acorn 公司的 BBC Micro 计算机。第一台树莓派 ARM 原型机安装在一个与 USB 记忆棒大小相同的盒子里,它的一端是 USB 端口,另一端是HDMI 端口。2012 年 2 月 29 日,首批树莓派正式发售,价为 35 美元。 根据树莓派官方统计的数...阅读全文

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

RabbitMQ 高可用实现镜像队列

数据也是在三个节点之间同步,但 Queue 的实际存储只会在一个节点。我们发送消息到指 Queue,其实是发送消息到指节点下的 Queue。如下图所示,消息发送至队列 testQueue,无论发送者通过哪个 RMQ 节点执行发送,其最终的执行都会是在 MQ03 节点执行消息的存储。 说到这儿,可能有的小伙伴就要问了?说好的,RabbitMQ 集群提供高可用性呢?分析一下,RabbitMQ集群搭建完成后,如果不进行任何高可用配置,会有哪些问题呢? 单点故障会导致消息丢失:如果 MQ03 节点故障,那么 MQ03 中的消息就会丢失无法最大化的利用 RMQ 提升执行效率:既然每次发送到队列 testQueue 的消息都会在 MQ03 节点存储,那么何必搭建集群。 引入 RabbitMQ 的镜像...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没办法,没有位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解了一些慢SQL,但此次并没有位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Debian及衍生版自动安装系统更新

在本篇文章中,我们将介绍如何在 Debian 和其衍生版上,配置系统自动安装更新,并通过邮件通知系统管理员,每次升级的变更内容。本文中提到的多数命令,由于是系统层面的配置,需要用 root 来执行。 在配置系统更新前,我们需要安装这两个安装包,安装命令如下: # apt update && aptitude install unattended-upgrades apt-listchanges -y unattended-upgrades 是一个可以让系统保持自动更新的包。这些更新包含了安全更新和 Bugfix 等。启用 unattended-upgrades 后,我们还需要知道每次改动的内容,apt-listchanges 解了这个问题,它将会邮件通知我们升级过程中发生的改变。 依赖包...阅读全文

博文 2019-06-04 12:23:56 debian.cn

Redis 官网宕机:错误提示无法连接 Redis

这种情况只是由于实例的内存不足而导致的。所以他的解方案也十分直接,升级为 $20/月,4G 内存的实例。另外还为 allkeys-lru 策略配置了 1GB 内存的限制。 However lately I installed http://try.redis.io there. And apparently it does not garbage collect the session keys well enough or something like that. So memory accumulated and the instance quit for OOM, but this probably only happened because the instance is very...阅读全文

博文 2020-03-13 13:17:06 debian.cn

Raspberry Pi 4 发布 8G 内存版本

Raspberry Pi 4 发布了 8GB 内存版本,同时带来 64 位镜像(beta 中)。 去年 6 月发布的 Raspberry Pi 4,带来了可选内存 1GB、2GB 与 4GB DDR4 版本,官方博客介绍:“我们在 Raspberry Pi 4 上使用的 BCM2711 芯片可以寻址高达 16GB 的 LPDDR4 SDRAM,因此,我们提供更大内存版本的真正障碍是缺少 8GB LPDDR4 封装。”该问题最终由合作伙伴 Micron 解,于是有了目前 8GB 版本的诞生。 8GB 版本售价 $75。这么大的内存,对于打算编译和链接大型软件或运行繁重的服务器工作负载,或者只是希望能够一次打开更多浏览器选项卡的用户来说,都绝对够用了。 此次发布的版本,同时还从电路板右侧靠近...阅读全文

博文 2020-05-30 12:19:06 debian.cn

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

。 更快地分析 C#、C、C++ 和 Objective-C 在此版本中,通过消除分析过程中不必要和多余的工作,加快了针对 C、C++、Objective-C 和 C# 的分析速度。对于 C、C++ 和 Objective-C,测试显示分析时间最多可减少 80%,具体取于项目使用的外部依赖项的数量,而 C# 分析显示,时间平均缩短了 25%。 热备份,更快的启动 现在可以进行数据库备份而无需关闭 SonarQube,不必担心数据损坏。SonarQube 在问题索引编制完成之前接受并处理分析报告。这意味着,即使在接口完全可用之前,Quality Gate 的状态也将被更新,并发送 webhooks 和拉取请求。同时,一旦索引了每个项目,就可以浏览每个项目。简而言之,当启动在后台进行时,开发生命周...阅读全文

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

Debian 10 Buster安装镜像发布 附下载地址

序)和 mipsel(小端序))64 位小端序 MIPS(mips64el)64 位小端序 PowerPC(ppc64el)IBM System z(s390x) 与Debian版本的情况一样,Debian 10带来了比以前更多的新软件包; 此更新包括13,370个新软件包,使总计达到了57,503个软件包。Debian 9中的35532个软件包获得升级,而7,278个软件包已从发行版中删除。删除的包将在包管理工具中标记为已过时。 部分重要的软件更新: Debian 10中的一些主要软件升级属于桌面环境,具体取于您下载的版本。以下是此升级包含的桌面版本:GNOME 3.30,KDE Plasma 5.14,LXDE 10,LXQt 0.14,MATE 1.20和Xfce 4.12...阅读全文

博文 2019-07-07 10:48:25 debian.cn

Go 语言发布 2.x 计划,或将不完全向后兼容

论 Go 2 了。 开发团队表示,Go 语言如今的目标与 2007 年相同,就是希望使程序员更有效地管理两种规模:生产规模和开发规模,其中又主要针对的是与许多其他服务器交互的并发系统,和许多工程师协调的大型代码库。Go 2 的目标就是解 Go 1 在规模化方面做的还不好的地方。 据 Russ 估算,目前全球的 Go 开发者至少有 50 万,这意味着有数百万个 Go 源文件和至少十亿行 Go 代码。那些程序员和源代码代表了 Go 的成功,但同时也是对 Go 2 的主要约束。只有在回报非常巨大时,才能让开发者改变原有的旧习惯,学习新用法。Go 2 必须修正 Go 1 的问题,带动所有的 Go 开发者, 也就必须带上所有现有的 Go 源代码,不能让生态系统分裂。 如果把 Go 2 要增加的特性分...阅读全文

博文 2017-07-22 19:50:05 debian.cn

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

%(正常模式)或 200%(HiDPI 模式),并且对所有显示器而言都是相同的。未来每个屏幕的缩放比将有所不同,用户可以将其设置为 100% 到 200% 之间的值。 绽放比模式可以解不少显示问题,比如因为 HiDPI 带来的清晰度问题和多显示器支持等。通过能够分别为每个显示器设置缩放比例,希望获得更高的像素密度,并允许 HiDPI 和非 HiDPI 显示器之间更好地兼容。 目前正在 Alpha 测试 Cinnamon 的这种比例缩放,并评估其在各种 GPU 上的兼容性以及优缺点。 关于 Linux Mint 20 与 LMDE 4 的更多信息,查看 https://blog.linuxmint.com/?p=3858...阅读全文

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

Facebook 以最高级别身份加入Linux基金会及其董事会

项目使电信运营商可以轻松地在难以到达的区域部署移动网络,从而降低了建设和维护电信网络的成本。Facebook 的 “Data for Good” 计划用于共享地理数据,以解一些世界范围内的人道主义问题,包括在 COVID-19 疫情期间发挥作用。创建并维护 PyTorch 开源生态系统,为在计算机视觉、自然语言处理和其他学科中利用人工智能和机器学习贡献了很大一份力量;React.js 也由 Facebook 创建,它为世界上一些最受欢迎的网站提供支持,并且由于其简单性和灵活性而成为前端 Web 开发标准。 Linux 基金会会员分为银级、金级和白金级三种不同等级,白金级即最高等级,每年需缴纳会费 50 万美元,同时拥有董事会席位。AT&T、谷歌、华为、IBM、英特尔、微软、Oracle、腾...阅读全文

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

正确运行工作负载。 先条件 本地Linux / macOS / BSD计算机上的SSH密钥对。 如果您之前没有使用过SSH密钥,可以按照如何在本地计算机上设置SSH密钥的说明来学习如何设置它们。运行Debian 9的三台服务器,每台至少有2GB RAM和2个vCPU。 您应该能够以SSH密钥对的root用户身份SSH到每个服务器。Ansible安装在您的本地计算机上。 有关安装说明,请按照Ansible官方安装文档进行操作 。熟悉Ansible Playbook。 有关查看,请查看配置管理101:编写Ansible Playbooks 。了解如何从Docker镜像启动容器。 如果需要复习,请参阅如何在Debian 9上安装和使用Docker的 “第5步 - 运行Docker容器”。 第1步...阅读全文

博文 2019-05-13 22:47:39 debian.cn

如何使用 journalctl 清理 journal 日志

, 即可彻底屏蔽 /usr/lib/ 目录中的同名文件。 选项 所有选项都位于 "[Journal]" 小节: Storage= 在哪里存储日志文件: "volatile" 表示仅保存在内存中, 也就是仅保存在 /run/log/journal 目录中(将会被自动按需创建)。 "persistent" 表示优先保存在磁盘上, 也就优先保存在 /var/log/journal 目录中(将会被自动按需创建), 但若失败(例如在系统启动早期"/var"尚未挂载), 则转而保存在 /run/log/journal 目录中(将会被自动按需创建)。 "auto"(默认值) 与 "persistent" 类似, 但不自动创建 /var/log/journal 目录, 因此可以根据该目录的存在与否日志的保存...阅读全文

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

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

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

玩转 AWS 的必备工具

一个根据make的Map-Reduce解构架和一个轻巧的分布式存储。小编迄今依然仍在应用GXP开展日常的管理方法和规模性数据处理方法实际操作这些,有感兴趣的大家能够到GXP首页查询:qnu/gxp。 SaltStackSaltStackautomationforCloudOps,ITOps&DevOpsatscale SaltStack也是根据Python的一种系统软件布署管理系统软件。和Ansible相近,SaltStack也是根据ssh和服务项目上的SaltStack过程(minions)通讯并根据YAML叙述环境变量。可是有别于Ansible,SaltStack选用的是主从关系式的多级别系统架构,因而必须在服务端事先安裝一个SaltStackminion软件包。 系统架构图自动...阅读全文

玩转 AWS 的必备工具

SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到总体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解构架和一...阅读全文

如何在 Debian 中锁定软件包版本

在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁在一个特的版本。也就是说,可以将某个软件固维护在指版本,不让其随系统更新而更新。 为什么要锁软件包,防止软件包更新呢? 通常是用户对某个软件版本有特的需求,或更新期间、更新后可能会导致问题,所以需要维持特的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。还有部分服务依赖于系统中特的软件,比如指的 Linux 内核版本,这时就需要锁内核版本防止因内核升级导致服务异常。 我们这里介绍两种方式,防止软件包被更新。需要注意的是,如果软件包被其他软件所依赖,阻止其更新,可能会导致关联问题。建议将尽量少的的软件包锁...阅读全文

博文 2019-01-09 13:19:52 debian.cn