claw-code’u Elixir’e port ederken OTP ve multi-node avantajlarından yararlanmaya çalıştım.
(github.com/jidohyun)Merhaba.
Son zamanlarda instructkr / ultraworkers’ın claw-code’unu (https://github.com/ultraworkers/claw-code) Elixir’e port etmeyi denediğim bir deney yürütüyorum.
Sadece bire bir taşımak yerine,
bu tür agent / control-plane karakterindeki bir projeyi Elixir tarzında yaparsak nasıl görüneceğini görmek istedim.
Özellikle aşağıdaki Elixir / BEAM güçlü yönlerinden aktif biçimde yararlanmaya çalıştım:
- OTP supervision
- long-running process
- daemon-first runtime
- multi-node / distributed BEAM routing
- recovery-oriented control plane
Bu yüzden yalnızca komutları port etmekten ziyade,
aşağıdaki alanlara daha fazla ağırlık verdim:
- supervised session / workflow process
- daemon-aware routing
- cluster ownership tracking
- DETS tabanlı hafif persistence / recovery
- connected node bazlı failover / recovery testleri
Ortaya çıkan çalışmayı şu anda Beamwarden adı altında düzenledim:
https://github.com/jidohyun/beamwarden
Bunu tamamlanmış bir ürün olarak görmektense,
“Bu tür agent runtime/control-plane yapısını OTP ve multi-node temeliyle yeniden kursak nasıl olurdu?”
üzerine yapılan bir deneye daha yakın.
İlgilenenler varsa, özellikle şu konularda geri bildirim duymayı merak ediyorum:
- OTP boundary / supervision yapısı Elixir’e özgü görünüyor mu
- multi-node routing / failover yönü makul mü
- gereksiz yere karmaşık kalan bölümler var mı
- bu tür bir sistemi Elixir-native yapmak isteseniz nasıl yaklaşırdınız
Geri bildirim de eleştiri de memnuniyetle karşılanır.
3 yorum
Öğrenci olarak "Elixir'e port etmeyi deneme" gibi bir deney yapıyor gibi görünüyor. Ne kadar çok deneme yapılırsa o kadar iyidir.
javascript/node ya da python'ın ortalığı kapladığı bir dönemde bunu Elixir ile denemek tazeleyici geliyor. Uzun zaman önce Erlang ile ilk tanıştığımda çok etkilenmiştim.
Entelektüel merak iyi hoş ama iş fikrî mülkiyet haklarına gelince bilmezden gelmek utanç verici. Kian84'ün dediği gibi: Sana en fazla 2 yıl veriyorum. Görmek istemiyordum ama bilmeden girip görmüş olmam benim hatam. Hah.
Gerçekten çok utanç verici sanırım... Buna da yetenek denecekse, o da bir yetenektir...