InfraPub 为您找到相关结果 256

GlusterFS 和 Ceph 比比看

Ceph 中,情况下将数据复制到三个不同的节点,这确保备份始终可用。 商品化硬件。GlusterFS 和 Ceph 是在 Linux 操作系统之上开发的。因此,对硬件唯一的要求是这些产品具有能够运行 Linux 的硬件。任何商品化硬件都可以运行 Linux 操作系统,结果是使用这些技术的公司可以大大减少在硬件上的投资——如果他们这样做的话。然而,实际上,许多公司正在投资专门用于运行 GlusterFS 或 Ceph 的硬件,因为更快的硬件可以更快地访问存储。 去中心化。在云环境中,永远不应该有中心点故障。对于存储,这意味着不应该用一个中央位置存储元数据。GlusterFS 和 Ceph 实现了元数据访问去中心化的解决方案,从而降低了存储访问的可用性和冗余性。 现在来谈谈 GlusterFS 与...阅读全文

博文 2017-08-09 10:35:29 debian.cn

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支持 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

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

下 : microcode_ctl 和 linux-firmware —— CentOS/RHEL 微码更新包 intel-microcode —— Debian/Ubuntu 和衍生发行版的适用于 Intel CPU 的微码更新包 amd64-microcode —— Debian/Ubuntu 和衍生发行版的适用于 AMD CPU 的微码固件 linux-firmware —— 适用于 AMD CPU 的 Arch Linux 发行版的微码固件(你不用做任何操作,它是安装的) intel-ucode —— 适用于 Intel CPU 的 Arch Linux 发行版微码固件 microcode_ctl 、linux-firmware 和 ucode-intel —— Suse...阅读全文

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

AWS IAM 基本概念介绍

ListBucket 操作,它将返回有关存储段中项目的信息。任何您没有显式允许的操作都将被拒绝。 资源:您允许对哪些资源执行操作。例如,您将允许用户对哪些特定 Amazon S3 存储段执行ListBucket 操作?用户不能访问任何您没有显式授予许可的任何资源。 效果:当用户请求访问权限时将产生什么效果(允许或拒绝)。因为设置为拒绝用户访问资源,因此您通常需要指定您将允许用户访问资源。 AWS IAM 最佳实践 隐藏您的 AWS 账户根用户 访问密钥创建单独的 IAM 用户使用组向 IAM 用户分配权限授予最低权限利用 AWS 托管策略开始使用权限使用客户托管策略而不是内联策略使用访问权限级别查看 IAM 权限为您的用户配置强密码策略为特权用户启用 MFA针对在 Amazon EC2 实例上运行的应用程...阅读全文

博文 2019-06-04 20:22:31 debian.cn

3个 Linux 命令让你看起来很忙:摸鱼的技巧

。它播放的序列由你决定,但情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检查得太仔细,你就可以花整个下午的时间等待电脑完成进度条。 Genact 有 linux、os x 和 Windows 版本,Rust 源码可以在 github 上找到。 Hollywood Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。 Hollywood 的源代码可...阅读全文

博文 2019-09-28 15:48:43 debian.cn

Harbor 1.9 发布:新增多项企业级功能

的数据并对其所含信息采取相应的操作。例如,您可以将 Harbor 配置为在成功推送镜像后向 Webhook 侦听器发送一个 POST 请求,从而触发 Kubernetes 应用程序的部署,以执行您的测试套件,或者仅仅更新您的 CMDB。 配额(Project Quotas) 配额有助于项目管理员对资源的使用加以控制。具体而言,您可以限制项目所含 tag 的数目,以及项目可占用的存储容量。您可以设置适用于所有项目的全局配额,也可以为个别项目设置配额以覆盖系统设置。镜像容量会根据其实际大小进行计算,并会在同时推送多个镜像时考虑所有相关镜像之间的层共享情况。配额可以与其他机制无缝协调工作,例如重新 tag、在线垃圾数据回收和保留策略,从而可始终合理管理各个工件,并且不会浪费空间。 Tag 保留...阅读全文

博文 2019-10-09 12:12:04 debian.cn

PostgreSQL 13 正式版发布

PostgreSQL 原生类型。此外,UUID v4 生成函数 gen_random_uuid() 现在无需安装任何扩展即可使用。 PostgreSQL 分区系统更加灵活,因为分区表完全支持逻辑复制和 BEFORE 行级触发器。 PostgreSQL 13 中的FETCH FIRST语法现已扩展为可包含WITH TIES子句。 指定时,WITH TIES包括基于ORDER BY子句的结果集中最后一行相匹配的任何其他行。 安全性增强 在之前的版本中,新扩展只能由数据库超级用户安装。为了更容易利用 PostgreSQL 的扩展性,PostgreSQL 13 增加了“可信扩展”的概念——允许数据库用户安装超级用户标记为“可信”的扩展。某些内置扩展被标记为“可信”,包括pgcrypto, tablefunc和...阅读全文

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

Systemd 及 Service 文件含义解析

在服务(service)而不是(target)上,所以上述的 httpd 所依赖的仅仅是一些 target,因而也就没有 Requires 和 Wants 出现。 [Service] 可选择几种不同的服务启动方式,启动方式通过Type参数进行设置。 * Type=simple(值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。 * Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程...阅读全文

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

亚马逊12个月免费云服务

恢复有要求的用户;希望轻松管理系统的用户。支持互联网应用,如电子商务、论坛、社交网络、企业网站和办公自动化系统;4.与租用物理服务器相比,云服务器的主要优势是什么?云服务器的租赁价格低于传统物理服务器,不需要押金。凭借快速供应和部署的能力,用户在提交租赁申请后,可以实时打开云主机并立即获得服务。支持业务平滑扩展,当用户业务规模扩大时,可以快速实现业务扩展。5.云服务器可以申请多个IP吗?云服务器将根据用户选择的不同线路配备不同数量的IP地址。情况下,单线会有一个独立的IP,双线会有两个独立的IP。由于IP的增加,带宽无法限制,所以暂时不会增加IP。6.云服务器出租产品是为了赋予产权吗?不送产权。云服务器是基于云计算平台的主机产品。用户实际上为云计算平台的计算和存储能力以及高质量的网络带宽...阅读全文

AWS EKS 添加IAM用户角色 - SRE运维博客

和 system:nodes。有关更多信息,请参阅 Kubernetes 网站上的角色和角色绑定。 {{< /notice >}} 创建 rbac.yaml --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: reader rules: - apiGroups: ["*"] resources: ["deployments", "configmaps", "pods", "secrets", "services"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind...阅读全文

博文 2022-12-19 21:15:27 博客园

Linux 中使用 Fio 测评硬盘性能

Fio(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件。它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。 Fio 接受一种非常简单易于理解的文本格式的任务描述。软件包含了几个示例任务文件。 Fio 展示了所有类型的 I/O 性能信息,包括完整的 IO 延迟和百分比。 它被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持...阅读全文

博文 2018-08-15 19:18:24 debian.cn

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

。 仪表板的发布在进行中,工程团队将Bugsnag的后端功能分解成称之为管道(pipeline)的微服务体系。将管道扩展到支持发布,意味着增加新的服务,并修改现有服务,也可预见到许多新的服务器和客户端的交互。为了处理上述架构的变化,需要采用一致性的方式来设计,实施和集成企业的服务。Bugsnag是一家多语言的公司,服务是用Java,Ruby,Go和Node.js等多语言编写,因此企业需要一种与平台无关的方法。 本文将介绍为什么我们最终选择了gRPC作为Pipeline的通信框架。 达到REST API设计的极限 现有系统传统上使用具有JSON有效载荷的REST API进行同步通信。这种选择是基于占压倒性比例的成熟度、熟悉度和工具的可用性做出的,但是随着跨洲际工程团队的增长,企业需要设计一致的...阅读全文

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

深入学习golang — channel

可以提供一个可选的整型参数,用于设置该channel的缓冲区大小。该值缺省为0,用来构建的“无缓冲channel”,也称为“同步channel”。 Channel作为goroutine间的一种通信机制,与操作系统的其它通信机制类似,一般有两个目的:同步,或者传递消息。 2. 同步 c := make(chan int) // Allocate a channel. // Start the sort in a goroutine; when it completes, signal on the channel. go func() { list.Sort() c <- 1 // Send a signal; value does not matter...阅读全文

博文 2021-01-25 12:39:17 博客园

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以...阅读全文

博文 2015-07-25 16:33:04 debian.cn

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

和使用 sudo 为 – >使用当前密码 – >OK ->使用当前密码 ->OK。 完成以上操作后,接着我们来重启系统,此时它将从你的硬盘驱动器启动。 注意: 我们不建议在任何电脑上永久安装 Kodachi Linux,因为它会将所有的设置保存在硬盘上,这就违背了该系统反取证的初衷!了解更多关于取证内容,请点击 这里 。 Kodachi 是一个基于 Debian 的实时 DVD / USB 操作系统,因此所有软件包,也都基于纯 Debian 存储库。 Kodachi 是 Apache License 2.0 下的开源项目,所有在系统上使用的代码都是纯文本 bash 脚本,并且包含在 ISO 包中,没有编译过的二进制代码, 也没有隐藏的 Kodachi 代码,这些代码都可在 GitHub...阅读全文

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

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

ATOM feeds 使用 Django,你可以通过创建一个简单的Python类来快速创建 RSS 和 ATOM feeds。 在数据库中自动创建表 如果你的数据库中缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的数据迁移 数据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个数据库模式。同样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所做的命名能够帮助你进行版本控制,还有很多选项可以用来合并版本和进行修改。 安全性 Django非常安全,该框架情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。 Django有一个...阅读全文

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

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

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

博文 2017-11-25 10:23:56 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

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

"192.168.0.50 kmaster" | sudo tee -a /etc/hosts echo -e "192.168.0.51 knode1" | sudo tee -a /etc/hosts echo -e "192.168.0.52 knode2" | sudo tee -a /etc/hosts 部署主节点 在部署主节点前,我们你已经完成树莓派操作系统的安装,注意使用最新的 Raspbian,这个步骤可以参考网上的其他文章,这里不展开介绍。在主节点上,启动 SSH 服务,将主机名设置为 kmaster,并调整 IP 地址为 192.168.0.50。 通过 ssh 连接主节点,并安装 k3s: local$ ssh pi@kmaster kmaster$ curl -sfL https...阅读全文

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

nsenter 及 Linux命名空间 简介

, --setgid gid:设置运行程序的gid -S, --setuid uid:设置运行程序的uid -r, --root[=directory]:设置根目录 -w, --wd[=directory]:设置工作目录 -F, --no-fork do not fork before exec'ing -h, --help display this help and exit -V, --version output version information and exit For more details see nsenter(1). 如果没有给出program,则执行$SHELL。 示例:运行一个nginx容器,查看该容器的pid:docker inspect -f...阅读全文

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

Terraform 学习总结 — Terraform 简介

能生成相关图表的数据(dot 格式的数据),我们通过 dot 命令来生成可视化的图表,先通过下面的命令安装 dot 程序: $ sudo apt install graphviz 然后生成一个图表: $ terraform graph | dot -Tsvg > graph.svg 上图描述了我们通过 azurerm 驱动创建了一个 Resource Group。 使用 apply 命令完成部署操作 在使用 apply 命令执行实际的部署时,会先执行 plan 命令并进入交互模式等待用户确认操作,我们已经执行过 plan 命令了,所以可以使用 -auto-approve 选项跳过这些步骤直接执行部署操作: $ terraform apply -auto-approve 到 Azure 站...阅读全文

玩转 AWS 的必备工具

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

CentOS停止维护后,我们应该用什么操作系统?

持 100% 自由。每个人都能自由使用、修改,以及分发。这是我们对我们的用户的主要承诺。它也是免费的。Debian 稳定且安全。Debian 是一个广泛用于各种设备的基于 Linux 的操作系统,其使用范围包括笔记本计算机,台式机和服务器。 我们为每个软件包提供合理的配置,\并在软件包的生命周期内提供常规的安全更新。Debian 具有广泛的硬件支持。大多数硬件已获得 Linux 内核的支持。这意味着 Debian 也会支持它们。如有需要,也可使用专有的硬件驱动程序。Debian 提供灵活的安装程序。希望在安装前尝试 Debian 的用户可以使用我们的 Live CD。它同时包含了 Calamares 安装程序,使得从 Live 系统安装 Debian 变得十分容易。经验更加丰富的用户可以...阅读全文

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

spec: hosts: - httpbin.org secret: name: httpbin namespace: ingress-apisix --- # 定义访问后端的路由 apiVersion: apisix.apache.org/v2beta1 kind: ApisixRoute metadata: name: httpbin namespace: ingress-apisix spec: http: - name: httpbin match: paths: - /* hosts: - httpbin.org backends: - serviceName: httpbin servicePort: 80 接下来访问服务 apisix-gateway。注意,情况下该服务的类型为...阅读全文

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

玩转 AWS 的必备工具

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

协议介绍之深入了解 gRPC

...) ... +---------------------------------------------------------------+ Length:也就是 Frame 的长度,最大长度是 16KB,如果要发送更大的 Frame,需要显式的设置 max frame size。 Type:Frame 的类型,譬如有 DATA,HEADERS,PRIORITY 等。 Flag 和 R:保留位,可以先不管。 Stream Identifier:标识所属的 stream,如果为 0,则表示这个 frame 属于整条连接。 Frame Payload:根据不同 Type 有不同的格式。 可以看到,Frame 的格式定义还是非常的简单,按照官方协议,可以非常方便的写一个出来。 Multiplexing HTTP/2 通过 stream 支持了连接的多路复用,提高了连接的利用率。Stream 有很多重要特性: 一条连接可以包含多个...阅读全文

博文 2017-06-22 11:08:48 debian.cn

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

较多:字符串(String),哈希(Hash),列表(List),集合(Set),有序集合(Sorted Set), Bitmap, HyperLogLog和地理空间索引(geospatial)等,需要根据业务场景选择合适的类型。 常见的如:String可以用作普通的K-V、计数类;Hash可以用作对象如商品、经纪人等,包含较多属性的信息;List可以用作消息队列、粉丝/关注列表等;Set可以用于推荐;Sorted Set可以用于排行榜等! 9.命名规范 虽然说Redis支持多个数据库(32个,可以配置更多),但是除了的0号库以外,其它的都需要通过一个额外请求才能使用。所以用前缀作为命名空间可能会更明智一点。 另外,在使用前缀作为命名空间区隔不同key的时候,最好在程序中使用全局配置...阅读全文

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

RabbitMQ 高可用实现镜像队列

master 中未被同步的消息将会丢失。 镜像队列消息的同步: 将新节点加入已存在的镜像队列时,情况下 ha-sync-mode=manual,镜像队列中的消息不会主动同步到新节点,除非显式调用同步命令。当调用同步命令后,队列开始阻塞,无法对其进行操作,直到同步完毕。当 ha-sync-mode=automatic 时,新加入节点时会同步已知的镜像队列。由于同步过程的限制,所以不建议在生产的 active 队列(有生产消费消息)中操作。 rabbitmqctl list_queues name slave_pids synchronised_slave_pids #查看那些slaves已经完成同步rabbitmqctl sync_queue name #手动的方式同步一个...阅读全文

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

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

Dragonwell JDK 尽快在生产环境中可用。该版本同步了 OpenJDK 上游社区 jdk8u212-b04 的最新更新,并通过了阿里巴巴内部生产环境测试。该项目最初开源时,阿里云智能基础产品事业部资深技术专家李三红在接受 InfoQ 独家专访时反复强调一个观点: Alibaba Dragonwell 一定是 OpenJDK 的下游,每个 Alibaba Dragonwell 发行版都会同步上游最新更新,并经过阿里巴巴内部大规模的应用集群测试。同时,阿里巴巴也会积极将 AJDK 上的技术积累贡献到 OpenJDK,积极参与社区的项目更新和维护。 除了同步上游社区,Dragonwell 8.0.0 还修复了一些在阿里巴巴场景下发现的重要 Bug。同时,该版本提供了安全证书,并会随时更新维护。 此外...阅读全文

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

Git 介绍与使用详解

前言 Git是目前非常流行的协同开发工具,很多开源网站都使用Git作为代码管理仓库(例如 开源中国,GitHub),不管是开发还是产品、设计师,Git都很适合,而且很多IDE集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文

博文 2017-02-25 09:00:27 程序员

Docker 核心原理

Jan 20 12:19 user -> 'user:[4026531837]' lrwxrwxrwx 1 root root 0 Jan 20 12:19 uts -> 'uts:[4026531838]' 可以看到进程,文件系统,网络,进程通信,主机名都是不同的 namespace。 网络模式 Docker 虽然可以通过命名空间创建一个隔离的网络环境,但是如果我们的应用需要对外提供服务,不能与外界进行通信是没有意义的。Docker 提供了多种网络模式来实现容器和外部的通信。 我们重点介绍一下 docker 的网络模式 bridge 守护进程会创建一对对等虚拟设备接口 veth pair,将其中一个接口设置为容器的 eth0 接口(容器的网卡),另一个接口放置在宿主机的命名空间中,以类似...阅读全文

博文 2021-02-25 09:14:23 lxkaka

分布式运行时 Dapr 知多少

,并支持通过选项设置并发和一致性行为。 存储:POST http://localhost:/v1.0/state/读取:GET http://localhost:/v1.0/state//删除:DELETE http://localhost:/v1.0/state// 以下是保存状态的举例: concurrency用于指定并发选项:first-write-wins/last-write-wins(以第一次写入为准/以最后一次写入为准),以最后一次写入为准。consistency用于指定一致性选项:strong/eventual(强一致性/最终一致...阅读全文

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

Prometheus已成为cloud-native世界中的监控应用程序和系统。对于真是使用案例,Prometheus应该是高可用的,这是有挑战的。一旦在高可用性模式下运行Prometheus,就会遇到很多问题,例如数据重复,为重复数据实现single pane等。为了解决此问题,Cortex诞生了。Cortex是一个CNCF sandbox project,旨在为使用Prometheus 收集的指标提供长期存储和全局指标视图。首先让我们看一下Cortex的主要目标,然后看一下它为Prometheus解决的一些问题。水平可伸缩性– Cortex可以分成多个微服务,每个微服务都可以独立地水平伸缩。例如,如果许多Prometheus实例正在向Cortex发送数据,则可以扩展Ingester微...阅读全文

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

Golang 操作 Kafka 样例

broker-0、broker-1等…… Topic:消息的主题,可以理解为消息的分类,kafka的数据就保存在topic。在每个broker上 都可以创建多个topic。实际应用中通常是一个业务线建一个topic。 Partition:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞 吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的⽂件夹! Replication:每一个分区都有多个副本,副本的作用是做备胎。当主分区(Leader)故障的 时候会选择一个备胎(Follower)上位,成为Leader。在kafka中副本的最大数量是10 个,且副本的数量不能大于Broker的数量,follower和leader绝对...阅读全文

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

开源社区的运作模式:Debian Vs. Ubuntu

指由Ubuntu团队支持的、在Ubuntu发行版中列入标准配置的自由开源软件;Restricted指的是Ubuntu发行版中配置的专有软件,主要是硬件驱动;Universe主要是来自第三方、不由Ubuntu团队负责的开源软件;Multiverse则是来自第三方的专有软件。) Ubuntu现在可以为每个包授予上传权限,也可以用相同的粒度进行权限委托,于是就诞生了新的“单包上传者(PPU,Per Package Uploader)”身份——他们是仅对一组有限的包具有上传权限的Ubuntu成员。Ubuntu开发者身份现在包含多个不同的开发团队,分别被委托以不同包集合的上传权限。目前,已经有Ubuntu Desktop,Mythbuntu,Kubuntu和Edubuntu四个团队,每个团队可以规...阅读全文

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

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| Context context 包...阅读全文

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

在TKE上使用Kubecost进行成本管理

看所有原生 Kubernetes 概念的分配支出,例如 NS、Label、Service。 Cost Allocation 还允许将成本分配给 team、product/project、department、or environment 等组织概念。 3. **时间窗口**: 用于衡量成本的指定时间窗口。情况下会缓存 1d、2d、7d 和 30d 查询的结果。 4. **过滤**: 按 NS、clusterId 、lable、Pod prefix 过滤资源,以更密切地查询成本支出的关键位置。 5. **Allocate idle costs(分配空闲成本)**: Allocate idle costs 按比例将空闲或空闲集群成本分配给租户。具体来说,这适用于已配置但未被租户完全使用或请求...阅读全文

WebAssembly:无需容器的 Docker (上)

,实现 WASI 和 WebAssembly 应用程序的标准化。🚀 快速 —— 它可以通过大多数运行时的 JIT/AOT 能力提供类似原生的速度。 与启动 VM 或启动容器不同的是,它没有冷启动。🔒 安全 —— 情况下,Wasm 运行时是沙箱化的,允许安全访问内存。 基于能力的模型确保 Wasm 应用程序只能访问得到明确允许的内容。软件供应链更加安全。💼 可移植 —— 几个主要的 Wasm 运行时支持大多数 CPU(x86、ARM、RISC-V)和大多数操作系统,包括 Linux、Windows、macOS、Android、ESXi,甚至非 Posix 操作系统。🔋 高效 —— 最小的内存占用和最低的 CPU 门槛就能运行 Wasm 应用程序。🗣️ 支持多语言 ——40 多种编程...阅读全文

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

Redis 命令、特性介绍与性能调优

: save [seconds] [changes] 意为在[seconds]秒内如果发生了[changes]次数据修改,则进行一次RDB快照保存,例如 save 60 100 会让Redis每60秒检查一次数据变更情况,如果发生了100次或以上的数据变更,则进行RDB快照保存。 可以配置多条save指令,让Redis执行多级的快照保存策略。 Redis开启RDB快照,的RDB策略如下: save 900 1 save 300 10 save 60 10000 也可以通过BGSAVE命令手工触发RDB快照保存。 RDB的优点: 对性能影响最小。如前文所述,Redis在保存RDB快照时会fork出子进程进行,几乎不影响Redis处理客户端请求的效率。 每次快照会生成一个完整的数据快照文件,所以可...阅读全文

博文 2018-10-27 10:37:55 debian.cn

理解 Linux 的虚拟内存

。 在 Linux 中,内存设置被映射为 /dev/mem,root 用户通过对这个文件读写,可以直接操作内存。 JVM 进程占用虚拟内存过多 使用 TOP 查看系统性能时,我们会发现在 VIRT 这一列,Java 进程会占用大量的虚拟内存。 导致这种问题的原因是 Java 使用 Glibc 的 Arena 内存池分配了大量的虚拟内存并没有使用。此外,Java 读取的文件也会被映射为虚拟内存,在虚拟机配置下 Java 每个线程栈会占用 1M 的虚拟内存。具体可以查看 为什么linux下多线程程序如此消耗虚拟内存。 而真实占用的物理内存要看 RES (resident) 列,这一列的值才是真正被映射到物理内存的大小。 常用管理命令 我们也可以自己来管理 Linux 的虚拟内存。 查看系统内存状...阅读全文

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

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

: yes become_user: sammy shell: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml >> pod_network_setup.txt args: chdir: $HOME creates: pod_network_setup.txt 这是这个戏剧的细分: 第一个任务是通过运行kubeadm init初始化集群。 传递参数--pod-network-cidr=10.244.0.0/16指定将从中分配pod IP的私有子网。 法兰绒使用上述子网...阅读全文

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

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

项目)仍应由各自的所有者负责,但重要的是情况应该是相反的。 Debian缺乏管理重大变更的工具:很难用程序的方式处理包和存储库(请参见下一小节的内容)。最近一次发送过来要求审核的更改是一个附带补丁的bug报告。我认为接受bug报告更改的流程太复杂,然后开始尝试mergebot,但只有Guido曾经表示对该项目感兴趣。 在文化方面,Debian的评论和反应都很慢。凡事都没有截止期限。有时我会收到电子邮件,通知我说我在几年前(!!)发送的补丁现在终于合并了。只有短短数周的项目拖到了数年,对我来说这是一个巨大的消极影响。 有趣的是,你可以看到缓慢的线上活动也影响到了线下的文化:我不想在第一次听到systemd后,过10年之久再讨论它。 最后,如果有人坚持拒绝合作,那么你做出的变更很容易就会被一...阅读全文

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

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

-through-cloudflare-gateway 经测试,Cloudflare Spectrum 也可以配置 IPv6 的源站地址,然后 ssh 连接是 IPv4,同样可以中转。 最后如图,点击 “Create” 保存。 图片下方的 +++ — 是网卡配置文件(/etc/network/interfaces)的 diff。 重启来使更改生效。 重启后,可以正常通过 IPv4 的地址来 ssh,不过 curl ip.sb 返回的是 IPv6 的地址。 硬盘在开始创建 VM 前,还需要配置一下存储。 服务器硬盘配置 SSD: /dev/sda 240G HDD: /dev/sdb 3T 安装出来是,VM 需要的系统镜像文件存放目录 /var/lib/vz 在 SSD 里面,这样有点浪费,因为镜像不是...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

“Debian 章程有毒” - OSCHINA

的权限,并可以参与社区投票(比如一年一次的选举等)。 一方面,DD 完全掌握自己的工作,可以做任何技术性和非技术性的决定,几乎不受任何限制。也就是说,Debian 社区里没有领导。 另一方面,这些拥有投票权的 DD 们,通过一般决议流程(General Resolution),成为了 Debian 群体中的权力主体。他们可以任命或者罢免 DPL;对于 DPL 或者代表的任何决定觉得不爽都可以推翻;可以用 3:1 的多数票修改 Debian 章程;还可以处置 Debian 的信托财产等等。 除此之外,为了保障所有的开发者声音都被尊重,Debian 章程还特立独行地将“None Of The Above”(以上都不是)设为选项。也就是说,当你觉得以上的选项你都不想投票,你可以另开一栏,写上你...阅读全文

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

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

627891 > 627891.svg -d N 分析持续时间(以秒为单位)。如果未提供启动,恢复,停止或状态选项,则探查器将运行指定的时间段,然后自动停止。 -i N 设置分析间隔(以纳秒或者毫秒等作为单位),分析间隔为10ms。 -o 转储文件的格式。 等待15s,就会产生结果,生成 627891.svg 文件。vim 627891.svg 并删除第一行,然后下载到本地并使用浏览器打开。 结果如下图,此图俗称火焰图,主要看每个方法的横轴长度,占用横坐标越长的操作,其占用的 cpu 即最长,很直观的。 9.2 性能黑点分析 我们首先发现下图红框内的代码存在严重的性能问题。在append的过程中,获取线程 stack 的过程耗时比较大。从火焰图中分析,耗时占据了接近50%的是,一个logger操作...阅读全文

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

WebAssembly:无需容器的 Docker (下)

。优化二进制码Wasm 是一个虚拟指令集,因此任何运行时的行为都是即时解释这些指令。 当然,这在某些情况下可能会让速度变慢。 因此,为了通过 WasmEdge 获得两全其美的效果,你可以创建一个 AOT(提前编译)优化的二进制文件,它可以在当前机器上原生运行,但仍然可以在其他机器上进行解释。要创建优化的二进制文件,请运行以下命令:wasmedgec --enable-all --optimize 3 \ build-output/php/php-7.4.32/bin/php-wasmedge \ build-output/php/php-7.4.32/bin/php-wasmedge-aot 我们在下面的例子中使用这个 build-output/php/php-7.4.32/bin/php...阅读全文

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

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

表驱动节点调度(便于支持QoS)而不是 hardcode pipeline Graph 工作流程 现在来说一下整体上 graph 框架的工作流程。如上图所述的一样,一个 graph 是由不同的节点 (node) 所组成的。与传统的标量模型相比,两个框架其实都包含一样的逻辑。最大的不同是 graph 框架中 node 节点在运行时与其他 node节点的交互方式,或者具体地来说,是报文在node节点中的传递方式。 一个 node 中的 报文 传送到不同的 node,home run 情况 (优化案例) 以及正常 enqueue情况;动态增加 node 的 objects 队列 大小 Node 的 Object 队列大小 情况下,每个 node 都有一个...阅读全文

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

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

方出售该儿童的个人信息。 4.3 小结 欧盟GDPR倾向于13到16周岁儿童对个人信息的处理行为不具备完全认知能力,因而需要监护人的授权,企业方能处理其个人信息。 而CCPA倾向为13到16周岁的儿童具备一定的行为能力,即其作为消费者有权授权他人处理自己的个人数据。 5. 数据主体反对数据处理的权利 5.1 GDPR:数据的处理以数据主体“同意”为原则,数据主体有“撤回同意权”,并且对敏感数据的处理及直接营销、用户画像的行为拥有反对权,偏重于保护用户的数据 GDPR将“同意”规定为最重要的数据处理合法基础的前提下,做出了如下规定保护数据主体: (1)数据主体的“撤回同意权”:GDPR第7条第3款:数据主体有权随时撤回同意。同意的撤回不应影响在撤回前基于同意做出的数据处理合法性。 (2...阅读全文