龙空技术网

PHP 依赖镜像出问题后,阿里程序员的一顿“神操作”令人叫绝

IT之眼小智 1327

前言:

此刻小伙伴们对“阿里云部署php项目”大概比较注意,我们都想要了解一些“阿里云部署php项目”的相关内容。那么小编同时在网络上收集了一些有关“阿里云部署php项目””的相关文章,希望姐妹们能喜欢,我们一起来学习一下吧!

对于PHPer来说,Composer的重要性不言而喻。Composer是 PHP 用来管理依赖(dependency)关系的工具,PHPer可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

阿里云上线的 Composer 全量镜像,PHP 开发者均可免费使用。在此以前,Laravel-China 可能是众多 PHP 开发者最常用的镜像之一,在得知阿里云上线Composer 全量镜像以后,Laravel China宣布关闭自己的 Composer 镜像,将重任交给了阿里云。

前几天,因为国际网络不稳定问题,近期国内各大Composer镜像都出现了间歇性无法访问情况,这对国内PHPer的生产工作造成了极大的影响。受此影响,国内各家Composer服务都出现了相同的问题,阿里工程师的这个解决方案堪称“简单粗暴”,效率高到没朋友!

第一时间在线响应,解决后开发者红包致谢

阿里云的PHP Composer最初研发灵感源自阿里内部一位 90 后工程师顾咏。作为负责开发阿里云产品的 PHP SDK的工程师,他在工作中经常遇到同一个问题:尽管已经根据 PHP 最新版本发布了新的 SDK,但由于镜像工具没有实时同步版本,导致用户安装不成功。 此外,云效平台企业开发者对镜像工具的使用体验,同样受到这个问题的困扰,为此,阿里技术团队一起设计开发并开源了这套阿里云版镜像工具。

此次国际网络不稳定导致的镜像问题,阿里工程师顾咏第一时间响应了PHPer的诉求,连夜排查问题。 “我们程序员都离不开这个,越早解决越好”,最后终于成功定位问题、完成系统更新,解决了大家的燃眉之急。群里的开发者主动发红包向其致谢,顾咏十分感动,然后拒绝了他:

“应该做的,红包不能收。”

虽然网络不稳定的情况时有发生,目前来看根本不可避免。但工程师就是这样一群不愿重复解决同类问题的人,阿里工程师们为了最大程度避免此类问题再次发生,与 Packagist 官方沟通,在得到同意后,立刻在距离 Packagist 源数据最近的城市部署了服务器,通过阿里云洛神网络不间断、不限带宽的直接将源数据同步回国,帮助开发者稳定获得最新 Composer 依赖包,这在业界来说,应该是只此一家,别无分号。

1秒内完成同步,强到没朋友

免费全量镜像站,开发者的福音

在中国技术圈的发展史中,个人站长、开发社区做出了巨大的贡献,就像前文提到的Laravel-China,就是由个人开发者Summer和禅师推出的,在阿里云Composer之前一直是众多PHP开发者最常用的镜像之一。在其受限于CDN资源有限、误杀率较高,最终不得不关站以后,阿里云Composer接过了功成身退的Laravel-China的交接棒,继续为国内广大的PHP开发者提供镜像服务。

阿里做镜像站的历史最早可追溯至2011年,从最开始阿里内部的需求,扩展到为更广大的开发者免费投入资源,提供更快、更稳定的镜像资源。从最初的几台设备,成长为现在覆盖主流语言和主流操作系统的全量镜像站。并且,在这个过程中,一直坚持免费为开发者提供镜像资源,不断追求更快、更稳定的服务。

目前阿里云镜像站不仅提供Centos、Ubuntu、 Fedora、Arch Linux、 Deepin 等10多个发行版的软件安装源和ISO下载服务, 还提供Python, Php 等多款开发语言的包管理镜像服务以及 nvidia-cuda, homebrew, kubernetes等 10 多款垂直仓库的镜像服务。每月下载包文件数量已经超过 7 亿次。

国内镜像所做的是缓存所有安装包和元数据到自己的服务器,并通过国内 CDN 进行加速,实现 Composer require/install/update 的操作,并达到最快速度。阿里云的 PHP Composer 全量镜像能够实现与 PHP Packagist 官方实时同步,通过自研的镜像同步系统,实现多协程分工同步、数据自我修复的能力,在保证快速同步的同时,也能快速修复因网络不稳定造成的数据错误,据说未来还计划开源出来。

众所周知,提供不间断、不限带宽的下载方式,对 ECS、CDN 方面的资源成本要求相当高,这也是为何个人开发者维护开源项目如此不易。但是总有人愿意做一些事,给广大开发者带来实际价值,为社区生态做出贡献,如此前维护Laravel-China的个人开发者,现在的阿里。

阿里云全量镜像站传送门:

你的使用体验如何呢?

标签: #阿里云部署php项目