Unicorn (veb-server)
Unicorn — Ruby tilida ishlab chiqilgan bepul veb-server boʻlib, Rack ilovalarini, shu jumladan Ruby on Rails yoki Sinatra platformalarida yozilgan dasturlarni ishga tushirish uchun moʻljallangan.
Unicorn faqat UNIXga oʻxshash operatsion tizimlar (jumladan, Linux, FreeBSD, Mac OS) asosida ishga tushiriladi, chunki u vorkerlarni yaratish uchun fork (dasturiy loyiha uchun kodlar ombori)dan foydalanadi. Rubyning 1.8 va undan yuqori versiyalarini qoʻllab-quvvatlaydi, ammo chiqindi fayllarni yigʻuvchisi tufayli 2.0 dan boshlangan versiyalardan foydalanish tavsiya etiladi.Rubinius bilan muvofiqligini ishlab ishlab chiqarish jarayonida jRuby va Rubyning boshqa muqobil ilovalarini qoʻllab-quvvatlash koʻzda tutilmagan.
Ishlash prinsipi
Unicorn ishga tushirilganda, ota-ona jarayonining koʻplab klonlarini yaratadi, ularning har biridan bir tarmoqli vorker sifatida foydalaniladi. Har bir vorker bir vaqtning oʻzida faqat bitta ulanishga xizmat qiladi. Maʼlumotlarni qayta ishlab, mijozga yetkazganidan soʻng, vorker ozod qilinadi va keyingisiga xizmat koʻrsatishga tayyor boʻladi. Barcha vorkerlar bir xil umumiy rozetkaga yoki portga ulanadi. Shunday qilib, bir vaqtning oʻzida qayta ishlangan soʻrovlarning maksimal soni vorkerlar soniga teng.
Oʻziga xos xususiyatlari
Unicornning asosiy afzalliklari quyidagilardan iborat:
Kamchiliklarga — bir vorkerga bir ulanish prinsipidan kelib chiqadigan oqibatlarni kiritish mumkin:
Unicorn bilan real server konfiguratsiyasida teskari proksi -serverdan koʻpincha nginx dan foydalanish yoʻlga qoʻyilgan. Bunday konfiguratsiyalarda proksi-server ulanish tezligi past boʻlgan mijozlar bilan band vorkerlar muammosini hal qiladi, shuningdek, statik fayllarni — tasvirlar, videolar, CSS va JavaScript fayllarini tarqatish uchun sozlanadi.
Muqobillari
Amalga oshirishning muqobili —
Rainbows boʻlib, u turli koʻptarmoqli vorkerlar modellarini qoʻllab-quvvatlaydi.
Rack bilan muvofiqligi jihatidan(Ruby va OS versiyalari bilan muvofiqligi va kod talablariga amal qilgandagina) Unicorn Rubyning boshqa veb-server ilovalari xususan WEBrick, Thin, Puma, Rainbows va hklar.bilan almashtirilishi mumkin.
Unicorn foydalanuvchilari
Manbalar
uz.wikipedia.org