下载重定向器当前状态

27. Dec 2021 | Hanjingxue Boling | CC-BY-SA-3.0

下载重定向器当前状态

下载重定向器当前状态(download.opensuse.org

介绍

软件包更新在 openSUSE 世界中是一个有点争议的点,有时与有问题的用户体验有关,尤其是对于欧洲和美国以外的用户。

重要的是要了解与其他发行版中的经验进行比较是有争议的,因为 openSUSE 基础设施不仅负责下载 Leap 和 Tumbleweed 软件包,还可能负责任何受支持架构/操作系统上的任何其他 OBS 项目。这使得 openSUSE 基础设施需要关注约 95000 个各种项目,每个项目都可以随时接收更新;相比之下,在其他 Linux 供应商的典型基础架构中,只有5-8个项目有或多或少确定的发布时间表。

现在,有人可以指出 openSUSE 可以拆分这些挑战,为 Leap 和 Tumbleweed 等选定项目提供更一致的体验,并为其他 OBS 项目提供单独的解决方案。这种方式可以最大限度地减少大多数用户和新手体验不佳的几率。这将是一个正确的观点,只是它不会使整体技术挑战变得更简单,并且可能需要更多资源来启用和支持这两种解决方案。无论如何,本文无意深入讨论此类讨论,其主要目标是服务一般 OBS 下载和 Leap/Tumbleweed 下载作为其中的一部分。

MirrorBrain

在历史上,download.opensuse.org 背后的下载重定向器是 MirrorBrain 项目。我在 2020 年 5 月左右开始为它做出贡献,在那年早些时候有一些故障排除经验。我引入了一个 CI 环境,修复了一些 bug,还有一些其他的计划。 但是,考虑到部署和故障排除 —— 通过大量的 cron 作业日志来描绘正在发生的事情是一种令人懊恼的经历。如果没有在如此繁忙的环境中任何部署和维护 MirrorBrain 的经验 —— 我几乎没有机会快速成功改进 openSUSE 基础设施。此外:

  • 由于镜像扫描期间发生死锁,SQL 模式需要返工;
  • MirrorBrain 是 python/Perl/C(apache2 插件)/cron 的混合体,感觉有点散乱;
  • 使用额外的 WebUI 来管理镜像、管理任务、报告等的需求很可能会引入额外的框架并使项目更加复杂。

为了控制和排除信息流故障,我迫切需要一个合适的作业队列。由于我之前的项目与 OpenQA 相关 —— 我清楚地了解如何使用 Mojolicious 框架,必要时重用 OpenQA 的部分代码来应对挑战。

所以我打算在 MirrorBrain 中添加一个作业队列,但是一种新的感觉很快就产生了 —— 看起来我试图在同一个 git repo 中管理两个项目,事情变得更加复杂。所以我决定拆分成一个新项目,看看进展如何。

MirrorCache

因此,目前发送到 download.opensuse.org 的 SSL 加密流量(https 请求)被重定向到新的重定向器服务 —— mirrorcache.opensuse.org。这是一个明显的开始,因为 MirrorBrain 缺少 http / https 路由,并且当前 https 负载量比 http 小几倍,这提供了一个很好的机会在较小的负载下测试性能。

此外,北美镜像由 mirrorcache-us.opensuse.org 管理,大洋洲镜像由 mirrorcache-au.opensuse.org(又名 mirrorcache.firstyer.id.au —— 感谢 William Brown!)管理,因此来自这些地区被送到 mirrorcache.opensuse.org 的请求被相应地重定向。已有一些计划让 zypper 了解区域实例,但它们处于早期设计阶段。

因此,如果你在大洋洲或北美地区 —— 请考虑直接使用你当地的镜像缓存实例,而不是进行跨大陆请求。也可以考虑调整访问权限以使用 https download.opensuse.org。(不像 https 大大提高了安全性,但是无论如何它是一个很好的做法)。

特权用户现在可以选择使用 https://mirrorcache.opensuse.org/app/server 上的 WebUI 编辑镜像的详细信息,并且计划引入单独的镜像管理员,以便每个人都可以添加和维护自己的镜像。

请继续关注有关从 MirrorBrain 到 MirrorCache 的完全切换以及更多区域性镜像缓存实例的更多消息。

有用的链接

  • 为你的机器明确配置 MirrorCache:https://en.opensuse.org/MirrorCache#Setting_up_MirrorCache_for_your_machine
  • 故障排除:https://en.opensuse.org/MirrorCache#Troubleshooting
  • 寻求帮助:https://en.opensuse.org/MirrorCache#How_to_get_help

原文:Download redirector current state,作者:Andrii Nikitin

分享帖子: