Alat untuk mempercepat pengunduhan file kecil dalam jumlah besar
Proyek ini berawal dari game yang saya mainkan sebelumnya, akan mendownload file kecil dalam jumlah besar saat mengupdate versinya. Namun, tidak ada optimasi, jadi kecepatannya sangat lambat skenario pengunduhan sejumlah besar file kecil. Setelah ide sederhana, saya mendapat ide ini, karena kecepatan pengunduhan lambat karena terlalu banyak file kecil, maka masukkan saja semuanya ke dalam satu file besar , kecepatan unduh file besar secara teoritis dapat mencapai bandwidth penuh!
Prinsip proyek ini adalah secara langsung menghubungkan sejumlah besar file kecil ke dalam file blok, dan kemudian menghasilkan katalog. Klien mengunduh file blok melalui katalog dan memulihkan file secara lokal berdasarkan ukuran dan jalur file karakteristik HTTP Range
, juga dapat mengalami gangguan. Klik untuk menyambung kembali dan mengunduh fungsi file
assets
di direktori yang samaassets
, seperti assets/example
assets
dan membuat catalog.json
untuknya.Server started at http://0.0.0.0:8080
yang berarti startup telah selesai.client
untuk mulai mengunduh file.
adalah alamat pengunduhan catalog.json
, yang akan dibuat secara otomatis saat server dimulai. Asumsikan jalur file server Anda adalah assets/example
, maka alamat katalognya adalah http://localhost:8080/example/catalog.json
download
Pembangunan membutuhkan Golang >= 1.22.2
go mod tidy
go build ./cmd/server/
go build ./cmd/client/
Paket impor
go get -u github.com/nijinekoyo/miyako
Instruksi paket
Proyek ini didistribusikan berdasarkan perjanjian MIT License