3. Uğur “vigo” Özyılmazel
webBox.io kurucu ortağı, Yazılım Geliştirici
https://twitter.com/vigobronx
https://github.com/vigo
http://ugur.ozyilmazel.com
https://speakerdeck.com/vigo
4. Ruby için web sunucusu
arayüzüdür.
RESPONSE ve REQUEST için
http wrapper’dır.
Web sunucusu ve Ruby’nin
kolay iletişim kurmasını sağlar
Ara katmanlar yardımıyla
ekstra kolaylıklar sağlar
7. `call` metoduna cevap veren
Ruby nesnesi yeterlidir!
return [
status,
headers,
body
]
8. Basit bir Rack uygulaması
require 'rack'
!
class MyApplication
def call(env)
h = {"Content-Type" => "text/html; charset=utf-8"}
[200, h, ["Merhaba Dünya"]]
end
end
!
run MyApplication.new
14. HTTP ve Reverse Proxy
sunucusu (Web sunucusu)
Caching ve Load-Balancing
özellikleri bulunuyor
Düşük hafıza kullanımı ve
performanslı olması tercih
sebebi!
18. Http Server (Ruby gem’i)
NginX gibi worker’lar kullanıyor
Request’i Unix socket’ine yönlendiriyor
Kendi başına otomatik olarak
worker’ları yumurtluyor ve organize
ediyor!
29. worker işlemlerinin ölçeklenmesi, işlemci
(CPU) ve hafızayla doğru orantılıdır.
Yavaş istemcilerle (slow-client) NginX gibi
sunucular uğraşmalı unicorn değil!
Ölçeklendirmede asıl düşünülmesi
gereken back-end kısmı unicorn değil!