Pol-Henning Kamp, tanınmış FreeBSD inkişafçılarından biri olan, MD5crypt, GEOM, GBDE və FreeBSD Jail kimi sistemlərin yaradılmasında iştirak edən, Varnish-Cache 8.0 ilə tanış etdi. Bu, HTTP akseleratoru kimi fəaliyyət göstərmək üçün nəzərdə tutulmuş yüksək performanslı bir öncəki keşik proxy-sidir. Layihə BSD lisenziyası altında yayılır və vaxtı ilə Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times və Guardian kimi layihələrdə istifadə edilmişdir.
Yüksək performansa, multithreading tətbiqi, epoll/kqueue çağırışları vasitəsilə bağlantı multiplexing və sendfile və madvise sistem çağırışlarının istifadəsi ilə nail olunur. Adi avadanlıqlarda 20 Gbps-də bir axını işləyə bilər və sorğuların cavabını 300-1000 dəfə sürətləndirə bilər. Keş virtual yaddaşda saxlanılır. Varnish-in özəlliyi, ön planda, ESI (Edge Side Includes) dilində yığılma loqikasını müəyyən edərək, təqdim olunan səhifələri hissə-hissə yığa bilməsidir.
Varnish, C dilində insertlər istifadə etməyə icazə verən çevik konfiqurasiya sistemi də təqdim edir. Konfiqurasiya üçün xüsusi VCL dili istifadə olunur ki, bu da icra olunan ikili koda kompilə olunur. VCL, sorğunun işlənmə siyasətini təsvir etməyə imkan tanıyır: işlənəcək məzmunu, onu haradan əldə edəcəyini və cavabdan əvvəl necə dəyişdiriləcəyini müəyyən etmək. Əsas funksionallığı modullar vasitəsilə genişləndirmək olar. Yük balanslaşdırma, vəziyyət izləmə və arxa planda reaksiya vaxtı mexanizmləri mövcuddur.serverləri üçün mükəmməl seçim edir..
Yeni versiyanın elanıyla yanaşı, layihə adının dəyişdiriləcəyi barədə də məlumat verildi. Növbəti buraxılışdan etibarən 'Varnish Cache' 'Vinyl Cache' olaraq adlandırılacaq, çünki Varnish Software şirkətinə məxsus Varnish ticarət markası ilə bağlı iddialar var. 22 il əvvəl Varnish Cache-in inkişafı Norveç qəzetinin Verdens Gang tərəfindən maliyyələşdirilib ki, bu da Pol-Henning Kampı kod yazmağa dəvət etmişdi, Linpro şirkətini isə dəstək üçün işə götürmüşdü. Daha sonra Linpro-dan Varnish Software yaradıldı. Beləliklə, Varnish Cache adı açıq layihə ilə diqqət çəkdi, Varnish Software isə ticarət şirkəti ilə bağlı oldu.
Açıq layihənin adında Varnish-dan istifadə etməyə icazə, şifahi razılaşma ilə verilmişdi və Pol-Henning Kamp yazılı saziş imzalamağa insist etməmişdi. Son zamanlara qədər şirkət və açıq layihə sülh içində müqavilə bağlamışdılar, amma sonra əqli mülkiyyət hüququ üzrə vəkillər müdaxilə etdi və onların mövqeyi odur ki, Varnish Cache adından hər hansı bir kontekstə icazəsiz istifadə etmək olmaz.
Varnish Software-dan icazə alınması ehtiyacı bəzi iştirakçıların layihəyə qoşulmasını əngəllədiyi üçün bir razılaşma əldə etməyə çalışılıb, amma hüquqşünaslar hələ də Varnish Cache adının Varnish Software şirkətinə məxsus olduğunu bildirirlər. Onlar açıq layihə tərəfindən bu adın istifadəsinə müəyyən məhdudiyyətlər çərçivəsində və veto hüququnun olması ilə razıdırlar. Varnish Cache bu məhdudiyyətlərlə razılaşmağa hazır deyil, çünki müstəqil bir layihə olaraq inkişaf etməyə davam etmək istəyir.
Yenidən adlandırma sonrası, inkişafın daha yaxşı koordinasiyası üçün Danimarka hüquq müstəvidində fəaliyyət göstərəcək qeyri-kommersiya tərəfdaşlığı yaradılması planlaşdırılır. Təşkilatın nizamnaməsində, hər hansı bir puldan istifadəyə icazə verilmədiyi qeyd olunub. Məqsədləri arasında proqram təminatının hazırlanması, dəstəklənməsi və yayılması vardır. İstənilən şəxs mövcud iştirakçılardan təsdiq aldıqdan sonra təşkilata qoşa bilər. İdarəetmə üçün iştirakçılar tərəfindən seçilən bir komitə təşkil ediləcək.
Varnish-Cache 8.0-in əsas yenilikləri:
- Müştərilərdən gələn tələbləri alan, tələbləri backend-lərə yönləndirən və cavabları keşləyən varnishd prosesində "uncacheable_ttl" parametri əlavə edilib. Bu parametr qeyri-kəşlənə bilən obyektlərin həyat müddətini (TTL) müəyyən etmək məqsədini güdür.
- Ban_any_variant parametrinin dəyəri ilkin olaraq 0-a qoyulub, bu da bloklama siyahısının yalnız uyğun variantlara tətbiq olunmasını təmin edir.
- Stop əmri verildikdə, indi bütün icra olunan əməliyyatların (VCL prosessorlarının) tamamlanmasını gözləyir.
- VCL kodundan bəzi runtime parametrlərinə müraciət etmək üçün "param." sintaksisi ilə uyğunluq əlavə edilib.
- 304 Not Modified cavablarının istehsalını dəyişdirmək imkanı əlavə edilib.
- Köhnəlmiş VMOD funksiyaları olan std.real2integer(), std.real2time(), std.time2integer() və std.time2real() silinib, onların yerinə "std.integer(real=std.round(…), fallback=…)" və ya "std.integer(time=…, fallback=…). format_rfc1123() funksiyası cookie.format_date() olaraq adlandırılıb.
- VUT və varnishtest-də qəza zamanı stack trace-in log faylında yazılması təmin edilib.
- Varnishadm utilitəsinə "obj.last_hit" dəyişəni əlavə edilib ki, bu da uzun müddət müraciət edilməmiş obyektlərin kəşindən silinməsi üçün istifadə edilə bilər.
- Varnishstat utilitəsinə yeni statistik sayğaclar əlavə edilib: VCP.ref_hit, VCP.ref_miss, transit_stored və transit_buffered.
Mənbə: opennet.ru
