首页 文章 精选 留言 我的

精选列表

搜索[国产化替换],共10008篇文章
优秀的个人博客,低调大师

Ubuntu 24.04 将 Cheese 替换为 GNOME Snapshot

Ubuntu 24.04 计划将其默认网络摄像头应用程序从 Cheese 改为 Snapshot —— 一款现代 GTK4/libadwaita 摄像头工具,是 GNOME 核心应用程序集的一部分。 自 2010 年以来,Cheese 一直是 Ubuntu 默认软件阵容的一部分;最初是在 Ubuntu 9.10 Netbook Remix 中被引入,原因是当时笔记本电脑体积小、功率低,而且配备了 30 万像素网络摄像头(在此之前,网络摄像头在廉价笔记本电脑中并不常见)。 彼时,Cheese 因作为 Apple iBooth(后来的 Photo Booth)软件的 Linux 替代品而闻名,因为它包含大量由 GStreamer 提供的实时视频特效,在当时并不常见。但时至今日,Cheese 的独特性优势已不复存在。 这也是 GNOME 开发人员创建 Snapshot 的原因:它是一款真正的相机应用程序,而不是"Photo Booth"的克隆版。它的作用是拍照和录制视频片段,实时图像填充整个窗口,有一个显示构图线的切换开关,并且叠加了控件。和 Cheese 一样,用户可以使用 Snapshot 拍照(如果需要,可以定时)和录制短视频,但它没有视频特效功能。 值得一提的是,这一更改只会影响那些选择安装完整版 Ubuntu 的用户。目前,Ubuntu 的标准、默认最小安装程序不会安装 Cheese,而且在 Ubuntu 24.04 中也不会安装 Snapshot。对于想要继续使用 Cheese 的用户,也可以从软件库中选择安装。

优秀的个人博客,低调大师

Nginx替换apache的实施方案四

第五章灾难转移的备份建立 5.1构架nginx均衡服务器 5.2 HA+DRBD应用到mysql前段做冗余 5.3最后的访问关系 DNS去掉,利用nginx均衡效率更高更准,利用back功能转移到其他机房C3-C5,C1C2C11本机mysql全部去掉是单台性能最高化,C3-C5读本机写198. 正常线上使用的C1,C2,C11的nginx phpcgi,198写数据库,110读数据库,205备份机; HA的检测功能让198 110数据库出现灾难自动转移111上,205负责备份和蜘蛛抓出。 最后架构高效率搞冗余,实现了最终的目的。其实nginx均衡服务器可以增加varnish缓存服务器。 本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/560089

优秀的个人博客,低调大师

Curve 替换 Ceph 在网易云音乐的实践

Curve 块存储已在生产环境上线使用近三年,经受住了各种异常和极端场景的考验,性能和稳定性均超出核心业务需求预期 网易云音乐背景 网易云音乐是中国领先的在线音乐平台之一,为音乐爱好者提供互动的内容社区。网易云音乐打造了一个大型、富有活力且坚固、快速成长的业态,为用户提供以社区为中心的在线音乐服务及社交娱乐服务。其标志性重点产品包括“网易云音乐”及附属的社交娱乐产品,如“LOOK 直播”、“声波”及“音街”,通过科技驱动的工具让音乐爱好者自主发掘、享受、分享并创作不同的音乐和音乐衍生内容,并与他人互动。 云音乐云盘业务背景 云音乐使用云盘的业务主要包括主站、UGC、曲库等 Java 应用,其中主站是云音乐核心业务,需要提供最高等级的 SLA 保障(年可用率>=99.99%),面对提供上亿级用户量稳定的云音乐体验,这一直以来也是我们的重难点。2019 年之前云音乐主要使用 Ceph 云盘,众所周知,Ceph 在大规模场景下存在性能缺陷,且很难保证我们在各种异常(坏盘慢盘、存储机宕机、存储网络拥塞等)场景下云盘 IO 响应时延不受影响;Ceph 云盘的 IO 抖动问题,我们曾尝试花很多人力精力做优化改造,但都只是稍微有所缓解,无法彻底解决;性能问题也投入大量人力进行分析优化,但仍然不能达到预期,因此我们才立项了解 Curve 块存储分布式存储系统。 Curve 块存储介绍 Curve 块存储可以良好适配主流云计算平台,并且具备高性能、易运维、稳定不抖动等优势。我们在实际应用中,使用 Curve 块存储对接 Cinder 作为云主机云盘存储后端,对接 Nova 作为云主机系统盘,对接 Glance 作为镜像存储后端。在创建云主机过程中,Nova 会通过 Curve 块存储提供的 Python SDK 克隆出新卷作为云主机系统盘使用。在创建云盘过程中,Cinder 会通过 Python SDK 创建空卷或者通过已有的卷快照克隆出新卷,之后可以挂载到云主机上作为云盘使用。云主机使用 Libvirt 作为虚拟化管控服务,使用 QEMU/KVM 作为虚拟化引擎。Curve 块存储为 Libvirt/QEMU 提供了驱动库,编译后就可以直接使用 Curve 卷作为远端存储,不需要把 Curve 块存储卷挂载到本地。 为什么选择 Curve 1.业务侧 i. 根据我们云音乐应用场景,Ceph 云盘主要存在二大痛点: 性能差:由于单卷性能差(主要是 IO 时延高,IOPS 上不去,并且容易受到集群内其他高负载卷的影响),因此只能用于系统盘,或者作为云盘供应用打印日志,无法支撑中间件业务使用。 IO 抖动:经过我们观察发现 IO 时延超出 2s 就可能会导致磁盘 util 100%,业务就会大面积告警,请求堆积,严重情况下会引发雪崩效应;根据前 2 年的观察,Ceph 云盘 IO 抖动的非常频繁(基本每月都有),抖动时长也达分钟级,因此有很多核心应用都切换到了本地存储来规避类似问题。 ii. Curve 云盘优势: 抖动:自从使用 Curve 云盘后,磁盘 IO util 监控再也没有出现过因分布式存储系统导致的100%告警,业务运行的稳定性得到极大提升,核心业务也逐步迁回了 Curve 云盘(毕竟云盘的高空间利用率、可靠性、可迁移性、快速恢复能力也是业务非常看重的)。 性能:同等硬件下,Curve 单卷性能是 Ceph 卷的 2倍+,时延也大大低于 Ceph,具体性能对比可以参考下图: 2. 运维侧 i. 根据我们云音乐运维场景,Ceph 的痛点主要有如下: 服务升级:常见的需要升级客户端的场景包括 bug 修复、新功能增强以及版本升级这几个方面,我们遇到过一个 Ceph 社区消息模块 32 位序号溢出的 bug,该 bug 会在长期运行的客户端出现,造成 IO hang,客户端和服务端都需要更新版本才能解决。更新客户端的时候有两种选择,一是重启云主机的 QEMU 进程,二是对云主机执行热迁移操作 live migration,这两个操作在少量云主机场景下可行性比较高,但如果对成百上千台云主机进行类似操作,显然可操作性非常低,业务显然无法接受。另外服务端升级在重启 OSD 进程时也会造成一定的 IO 抖动,需要在业务低峰期操作,并且需要业务临时关闭磁盘 util 告警。 性能:运维人员主要关注存储集群整体性能,若集群总容量和总性能不匹配,容易导致容量充足的情况下性能却不足的问题,要么少创建卷导致容量浪费,要么继续创建卷但是会影响单卷的 IO 时延和吞吐,另外 Ceph 集群卷数量到达一定规模后,随着卷数量的增加,其集群整体性能也是逐渐下降的,这就导致单卷的性能受到更大的影响。 算法:受限于 CRUSH 算法限制,Ceph 的OSD之间数据分布非常不均衡,空间浪费严重,据我们观察,最高和最低的OSD空间使用率差值可以达到 50%,经常需要进行数据均衡操作,但在数据均衡过程中会产生大量的数据迁移操作,导致 IO 抖动,另外数据均衡也不能完美的解决OSD容量使用不均衡问题。 IO 抖动:坏盘换盘,节点宕机,高 IO 负载,扩容(不新增 pool,新增太多 pool 会导致 OpenStack 维护变复杂)数据均衡,网卡丢包,慢盘等等。 ii. 相对来说 Curve 在上述几个方面具备显著优势: 服务升级:客户端支持热升级,操作过程中 QEMU 进程不需要重启,也不需要迁移,毫秒级影响对云主机内业务几乎无感,热升级相关架构设计可以参考①。Curve 服务端升级时,得益于quorum 机制的一致性协议 raft,只要做到按副本域升级,就可以保证对业务 IO 的影响在秒级,IO 时延不超过 2s 就不会导致 util 100%。 性能:Curve 集群可以在同等容量规模下,创建更多的卷,并且保持稳定的性能输出。 算法:Curve 数据分配由中心化的 MDS 服务进行,可以保证非常高的均衡性,最高和最低的 chunkserver 空间利用率偏差不超过10%,也就不需要做数据均衡操作。 IO 抖动:Ceph 云盘容易发生 IO 抖动的场景下,Curve 云盘表现更稳定,Curve VS Ceph 具体如下图: 使用 Curve落地成果 Curve 块存储已在生产环境上线使用近三年,经受住了各种异常和极端场景的考验,性能和稳定性均超出核心业务需求预期,常见故障场景下未产生明显 IO 抖动,服务端及客户端版本升级也未影响业务正常运行,这充分证明我们当时的选择是正确的,另外还要感谢 Curve 团队的同学在我们使用的过程中给予的帮助。目前:云音乐使用 Curve 块存储作为云主机的云盘和系统盘,其中系统盘通常为固定容量 40GB 或 60GB 两种规格,云盘容量最小 50GB,最大支持 4TB(此为软性限制,Curve 云盘实际支持创建 PB 级卷)。 后续规划 结合 Curve 块存储方面: 探索基于 Curve 块存储的云原生中间件场景,例如将改造后的 Redis、Kafka、消息队列等服务运行在 Curve 块存储卷上,减少故障切换时间。 上线基于 CurveBS+PolarFS+MySQL 的云原生数据库。 其他存量使用 Ceph 云盘、本地存储的云主机切换到 Curve 块存储卷。 目前 Curve 团队也在全力开发共享文件存储服务,网易内部基于 OpenStack 的私有云 2.0 平台已经逐渐演进到基于 Kubernetes 的 3.0 平台,业务对于 ReadWriteMany 的类型的 PVC 卷的需求已经越来越迫切,Curve 团队开发了 Curve 分布式共享文件系统,该系统支持将数据存储到 Curve 块存储后端或者兼容 S3 协议的对象存储服务,后续也将尽快上线使用。 参考: ①https://github.com/opencurve/curve/blob/master/docs/cn/nebd.md GitHub:https://github.com/opencurve/curve 微信群:请搜索添加或搜索群助手微信号OpenCurve_bot

优秀的个人博客,低调大师

Zig 0.9.1 发布,想要替换 C 的编程语言

Zig 0.9.1 已发布,Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。 此版本的更新内容只有 bug 修复,不引入任何新特性和改进。修复的 bug 涉及到编译器、标准库、C 翻译、zig cc / zig c++ 以及语言参考。 修复函数 Handle typedef 的无效返回类型 (#10356) 使用科学计数法修复浮点常量的宏定义问题 修复翻译十六进制浮点常量的宏定义问题 使用anyopaque替代涉及c_void的内容 添加有关隐式结构指针取消引用的文档 修复or示例中的优先级问题 …… 虽然这是一个 Bugfix 版本,不过 0.9.1 仍存在部分已知但未解决的错误,包括编译方面的错误。按照发布计划,0.9.1 是 0.9.x 的最后一个版本。 下一个主要版本 0.10.0 发布周期的主要目标则是稳定语言特性、创建语言规范的初稿和自托管编译器。 下一个发布周期中部分即将到来的里程碑: 自托管编译器可以使用LLVM 后端构建自身 所有行为测试和其他测试都通过LLVM 后端。此时可以发布自托管编译器而不是Bootstrap 编译器。 自托管编译器可以使用C 后端构建自身 对 ELF 的自托管链接器支持 对 PE/COFF 的自托管链接器支持 通过x86 后端或aarch64 后端的行为测试,在针对相应架构时释放完整编译速度 以下是 Zig 达到 1.0 的要求: 完成自托管编译器。 稳定语言特性,不再有语言特性变更 完成语言规范初稿 实现官方包管理器 提供稳定标准库 在没有任何重大更改的情况下进行一个完整的发布周期 最后标记 1.0。 Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc 轻量而简单,专注于调试应用而不是调试编程语言的知识 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃 ReleaseFast 模式和 ReleaseSafe 模式 泛型数据结构和函数 通过协程实现并发 导入 .h 头文件并直接使用 C 语言的类型、变量和函数 导出要依赖 C 语言代码的函数,变量和类型,自动生成 .h 头文件 可选类型而非空指针 交叉编译是主要用例

优秀的个人博客,低调大师

Zig 0.9.0 发布,想要替换 C 的编程语言

Zig0.9.0 已发布,Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。 此版本代表了团队近 6 个月以来的开发工作,共有 177 名不同的贡献者参与了进来,包含总计 2023 个 commit。 团队用一句话总结了 0.9.0 的主要变化:“工具链支持在更多场景中正常使用;修复了许多错误;自托管编译器完成了 44%;扩展了 Support Table;少量的语言特性变化;开始进行性能跟踪;标准库虽然尚未稳定,但变得更有用。” 根据 Roadmap,0.9.0 发布周期的主要目标是实现自托管编译器。现在,44% 的行为测试通过,并且该百分比正在迅速上升。 0.10.0 发布周期的主要目标则是稳定语言特性、创建语言规范的初稿和自托管编译器。 下一个发布周期中部分即将到来的里程碑: 自托管编译器可以使用LLVM 后端构建自身 所有行为测试和其他测试都通过LLVM 后端。此时可以发布自托管编译器而不是Bootstrap 编译器。 自托管编译器可以使用C 后端构建自身 对 ELF 的自托管链接器支持 对 PE/COFF 的自托管链接器支持 通过x86 后端或aarch64 后端的行为测试,在针对相应架构时释放完整编译速度 以下是 Zig 达到 1.0 的步骤: 完成自托管编译器。 稳定语言特性,不再有语言特性变更 完成语言规范初稿 实现官方包管理器 提供稳定标准库 在没有任何重大更改的情况下进行一个完整的发布周期 最后标记 1.0。 Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc 轻量而简单,专注于调试应用而不是调试编程语言的知识 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃 ReleaseFast 模式和 ReleaseSafe 模式 泛型数据结构和函数 通过协程实现并发 导入 .h 头文件并直接使用 C 语言的类型、变量和函数 导出要依赖 C 语言代码的函数,变量和类型,自动生成 .h 头文件 可选类型而非空指针 交叉编译是主要用例

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册