Zephyrnet Logosu

Go'da Sıfırdan Daha Hızlı RSync Oluşturma

Tarih:

görüntü

İki bilgisayar arasında hızlı dosya aktarımı için SCP kullanılabilecek iyi bir programdır. Ancak daha karmaşık, büyük veya düzenli yedeklemeler için başvurulacak araç rsync'tir. Daha hızlıdır, daha verimlidir ve daha geniş bir yelpazedeki durumlarda kullanılabilir. Tüm avantajlarına rağmen, [Michael Stapelberg] büyük bir zayıflığının olduğunu hissetti: C ile yazılmış bir araç. [Michael] felsefi olarak C ile yazılmış programlara karşı çıkıyor, bu yüzden rsync'i Go'da sıfırdan uygulamaya koyuldu.

[Michael]'ın bu projeyi ele almaya karar vermesi karmaşık bir yol. İSS'si yakın zamanda internet bağlantısını 25 Gbit/s'ye yükseltti, bu da özel yönlendiricisinin ağındaki darboğaz olduğu anlamına geliyor. Bu sorunu çözmek için yönlendiricisini birkaç 25 Gbit/s ağ kartına sahip bir bilgisayara taşıdı. Artık teorik olarak mevcut olan hızdan tam anlamıyla yararlanmak için, Go'da yazılan uygulamaları kendi cihazlarına dönüştüren gokrazy adlı bir aracı kullanmaya başladı. Bu, belirli görevleri yerine getirmek için (örneğin bir yönlendirici gibi) tam bir Linux dağıtımı kurmak yerine, bilgisayara yüklenen tek şeyin aslında Linux çekirdeği, Go derleyicisi ve kitaplıkları ve ardından Go uygulamasının kendisi olduğu anlamına gelir.

Bu yüksek hızları destekleyebilecek donanıma sahip ve yalnızca Go'da yazılmış yazılımı çalıştıran yeni bir yönlendiriciyle, son adım, sonunda ağındaki görevlerini desteklemek için rsync oluşturmaktı. Bu, rsync'in Go'da sıfırdan oluşturulması gerektiği anlamına geliyordu. [Michael] bu son görevi tamamladıktan sonra, Go dilinde bulunan modernizasyon ve yönlendiricisinin tüm gerekli işlemleri çalıştırmaması sayesinde rsync uygulamasının aslında C'deki yerleşik sürümden çok daha hızlı olduğunu buldu. standart bir Linux dağıtımıyla ilişkilidir.

Bu kapsamdaki bir yazılım projesi için, herhangi birimizin çözmeye çalıştığı herhangi bir sorun için [Michael]'ın adım adım izlediği süreci dikkate almaya değer buluyoruz. Sadece bu da değil, rsync gibi temel bir aracın yeniden düzenlenmesi, bırakın ağ hızlarını çoğumuzun zaten inanılmaz derecede hızlı olarak kabul edebileceğinin ötesinde artırmak için yaratılması bir yana, başlı başına karmaşık bir iştir. Bu yapıyla ilgili pek çok ayrıntıyı atlıyoruz, bu nedenle aşağıdaki videodaki konuşmasına mutlaka göz atmanızı öneririz.

Bahşiş için [sarinkhan]'a teşekkürler!

[Gömülü içerik]

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?