備用映象請見 Wiki:Composer 國內加速:可用映象列表
隨著 阿里開源映象 釋出以後,很多人在問我們 Laravel China 映象何去何從。我與禪師討論後,做了一個艱難的決定:Laravel China 映象將於兩個月後停用。
我們的 CDN 資源是有限的,為了防止惡意流量消耗,本著犧牲少部分人的使用體驗,讓大部分人能正常使用的初衷,我們在後臺做了諸多限制。例如說同一個 IP 下一分鐘內只能下載多少次,最大允許下載的檔案大小(後臺觀察到有超大的 zip 包,如下圖)等。
限制加上去後,惡意流量有所減少,對成本控制起到很好的效果。但是隨之而來又出現了另一個問題:
- 問答:Composer install 時候提示需要輸入 username 和 password
- 問答:騰訊雲無法使用 Composer Laravel 社群版映象
- 問答:Composer 安裝依賴時讓輸入使用者名稱和密碼
誤殺率較高,分析了下原因,有可能是頻寬速度過快,觸發「分鐘內下載頻率限制」,或多人共用一個 IP,這種常見於同一個公司有多名使用者,出口 IP 是同一個的情況。
我們陷入一個兩難的境地:基於 CDN 平臺上提供的機制,實難分辨上面的這些請求。解開限制,又會出現流量成本超標的情況。誤殺情況無法避免,可預知的,接下來還會出現更多的反饋「Composer 要求使用者名稱」的帖子。
與其維護一個殘缺的映象,還不如讓賢,推廣其他穩定、可用性高、流量不限制的大廠映象。
Laravel China 映象建立的契機是 phpcomposer.com
出現了很長時間的不穩定,這是當時唯一的一個全量映象,無其他選項。出現不穩定時,只能選擇使用 Packagist 的源映象,而源映象速度慢且有時會連線不上,本地開發尚且可使用科學上網來解決,伺服器部署的話,每臺伺服器上都得去裝這些科學上網軟體,非常不方便。正是在這種情況下,Laravel China 映象應運而生。
兩年後的現在,國內全量映象有了更多的選項,尤其是大廠的映象,像阿里雲、騰訊、華為,他們的資源是我們無法比擬的。再加上 映象原始碼 的開放,降低了構建映象的成本,相信以後還會有更多的選項。Laravel China 映象在這個時候停用,也算是不辱使命,功成身退。
鳴謝
Laravel China 映象,執行兩年多可以說是很穩定了,這一切都是禪師的功勞。禪師自己也在和別人合夥創業,平時工作很忙,映象出問題他的響應時間都是飛快,如他所說的:「不能耽誤別人的工作」。不愧為 LC 映象背後的男人。
還要感謝 又拍雲 的慷慨贊助。尤其是又拍雲負責市場的傅總監,百忙之中積極響應我的請求,足見又拍雲對開源事業的支援與熱情。
替代映象
請見 Wiki:Wiki:Composer 國內加速:可用映象列表
映象遷移
老專案遷移到新映象時,composer.lock
會有老映象的下載連結殘留,處理方法請見:Wiki:Laravel 安裝和開發環境:修改專案依賴為新的映象地址 。
本作品採用《CC 協議》,轉載必須註明作者和本文連結