ZComposer 镜像发布 15 个月后的一些小总结

最近社区有人反馈 Composer 镜像的问题,结果看截图发现都是 phpcomposer 老大哥的这个镜像,其官网已发布暂停更新的维护说明。所以为了便于区分,我们的镜像命名为 ZComposer (取禅师网名 ZenCodex 首字母,也有中国的意思)

ZComposer 发布于 17年的 4月份,整个发展史和问题反馈,基本在 社区帖子 里有所见证,特别感谢 @Summer @Aufree @monkey @JobsLong @overtrue ,还有一些其他社区大牛,协助内部测试,反馈问题,帮助 Zcomposer 不断的迭代,变得更加完美。

4个月前,发布了第一次重构的代码,结果出现了一些不稳定,又换回了老版本。近1个月,我又更新了再次重构的代码,里面完善了对包的 hash 校验,打上线1个多月,0故障,比以前的老版本更加稳定,代码也更加简洁。

针对 ZComposer 15个月的成长变化,我做了一些总结,算是交了一次作业,回馈给使用 ZComposer 镜像的朋友们:

1、Composer 镜像 百度搜索排名第一了,发布初期连个影都搜不到\
file

2、新版上线后,目前还是 0 故障。当然遇到问题,我还会第一时间解决\
file

3、除了重构新代码,又丰富了一些小工具,比如清理云存储上的历史垃圾,时间久了和本地完全不同步了,zip包 由2.5T 减少到 910G。

4、ZComposer 诞生时候 大约是13万的包,目前增加到了20多万,115万的 版本zip包。

5、linux ext4 子目录最大数量为65000,目前增加的包已经超出了这个限制。虽然可以重新编译linux内核解决,或更换其他的文件驱动,但一般没这个条件。

我的解决方案是切割大目录,然后用软连接,通过测试,ls -sf 这种 soft link 形式不在计数范围内。phpcomposer 维护我猜测可能也是这个问题引起,但仅限猜测。如果有遇到这种目录数限制的,可以试试我这个方法。

『ZComposer 中国全量镜像』为 Laravel China 社区孵化,作为社区指定镜像,目前由 @扣丁禅师 维护,CDN 服务由 又拍云 提供,本项目为公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务。

扣丁禅师 :行住坐卧悟禅宗,禅堂禅师禅Coding

本帖已被设为精华帖!
本帖由 Summer 于 9个月前 取消置顶
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 17

66666 励志

9个月前
leo

最好出一个首页比如 package.laravel-china.org,这样对 SEO 更友好一些

9个月前

给力...支持!

9个月前

:+1: :+1: :+1:

9个月前
keer

之前在做Laravel教程(web开发实战进阶)的时候,无法下载包所以当时又换回phpcomposer了

9个月前

支持

9个月前
overtrue

禅师我爱你 :heart:

9个月前
monkey

感谢禅师对国内 Laravel 的贡献!

9个月前
小无力

感谢禅师,最近刚为这个事情苦恼

9个月前

@扣丁禅师 能请教下开发这个镜像的方法吗?对于这方面的思路接触很少

9个月前

@hiword https://learnku.com/articles/5940/implementation-of-private-composer-images-and-warehouses 我的一个粗暴思路。

虽然不适合这种流量,但是无论如何都是基于 Composer 仓库输出结构原理,具体可参考 Composer 官方文档,那里面有更详细的说明,构建一个私有仓库其实不难。

9个月前

此处需要一个感谢

9个月前
wujunze

方便大家 👍

9个月前

ext4 有个 dir_nlink 特性,可以支持多于 65k 子目录(hard links),我手边一个 3.10.0 内核的机器上是默认开启的。

另外好奇这个镜像背后的维护代码是否可以开放出来?

8个月前
GhostCoder

感谢大佬做出的贡献,同时好难受 ,全世界人民里少数要考虑这个问题的国家

8个月前

大佬,能经常分享下这方面的运维思路吗?好好奇哦

7个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
Laravel Nova 后台管理面板文档的中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会