Şəbəkə proqramlarının yaradılması üçün çərçivənin buraxılışı ErgoFramework 2.2

ErgoFramework 2.2-nin növbəti buraxılışı baş tutdu, tam Erlang şəbəkə yığınını və onun OTP kitabxanasını Go dilində həyata keçirdi. Çərçivə tərtibatçıya gen.Application, gen.Supervisor və gen.Server, eləcə də ixtisaslaşdırılmış ümumi təyinatlı dizayn nümunələrindən istifadə edərək Go dilində paylanmış həllər yaratmaq üçün Erlanq dünyasından çevik alətlər təqdim edir. Mərhələ (paylanmış pub/sub), gen Saga (paylanmış əməliyyatlar, SAGA dizayn modelinin tətbiqi) və gen.Raft (Raft protokolunun tətbiqi).

Bundan əlavə, çərçivə Erlang/OTP və Elixir-də mövcud olmayan uçdan-uca şifrələmə ilə proxy funksiyasını təmin edir. Go dilində Erlanq prosesinin birbaşa analoqu olmadığından, çərçivə istisna vəziyyətləri idarə etmək üçün “bərpa” sarğısı olan gen.Server üçün əsas kimi goroutinlərdən istifadə edir. Layihə kodu MIT lisenziyası altında paylanır.

ErgoFramework-dəki şəbəkə yığını Erlanq protokolunun DIST spesifikasiyasını tam şəkildə həyata keçirir. Bu o deməkdir ki, ErgoFramework əsasında yazılmış proqramlar Erlang və ya Elixir proqramlaşdırma dillərində yazılmış istənilən proqramlarla (Erlang node ilə qarşılıqlı əlaqə nümunəsi) yerli olaraq işləyir. Onu da qeyd etmək lazımdır ki, gen.Stage dizayn nümunəsi Elixir GenStage spesifikasiyasına uyğun olaraq həyata keçirilir və ona tam uyğun gəlir (tətbiq nümunəsi).

Yeni buraxılışda:

  • Yeni şablonlar əlavə edildi
    • gen.Web Web API Gateway (həmçinin Frontend üçün Backend kimi tanınır) dizayn nümunəsidir. Misal.
    • gen.TCP kodun yazılmasında minimal səylə TCP əlaqə qəbuledicilərinin hovuzunu həyata keçirməyə imkan verən şablondur. Misal.
    • gen.UDP - gen.TCP şablonuna bənzər, yalnız UDP protokolu üçün. Misal.
  • Lokal proseslər arasında hadisələrin (pub/sub) mübadiləsi üçün mexanizmlər yaratmağa imkan verən qovşaq daxilində sadə hadisə avtobusunun tətbiqi ilə yeni Events funksionallığı təklif edilmişdir. Misal.
  • Mesajların yerli Golanq məlumat növünə avtomatik seriyalaşdırılmasına/serializasiyasına imkan verən növ qeydiyyatı üçün əlavə dəstək. Bu o deməkdir ki, artıq alınan hər mesaj üçün etf.TermIntoStruct istifadə etməyə ehtiyac yoxdur. Qeydə alınmış növlər avtomatik olaraq göstərilən tipə çevriləcək ki, bu da paylanmış qovşaqlar arasında mesaj mübadiləsinin işini əhəmiyyətli dərəcədə sürətləndirir.

Mənbə: opennet.ru

Добавить комментарий