Skip to content

Latest commit

 

History

History
99 lines (60 loc) · 3.85 KB

README-tr.md

File metadata and controls

99 lines (60 loc) · 3.85 KB

EventMachine Nedir?

EventMachine Ruby için olay-güdümlü G/Ç ve hafif koşut zamanlı (concurrency) kütüphanesidir. JBoss Netty, Apache MINA, Python's Twisted, Node.js, libevent ve libev kitaplıkları gibi Reaktör desenini kullanarak olay-güdümlü G/Ç'a imkan verir.

EventMachine iki anahtar gereksinimi karşılamak için tasarlanmıştır:

  • Çoğu son kullanıcı ürünlerin gerektirdiği oldukça yüksek ölçeklenebilirlik, performans ve kararlılık

  • Yüksek performanslı zincirlenmiş (threaded) ağ programlamanın karmaşıklığını gizleyecek API, mühendislerin uygulamanın kendisine odaklanmalarını sağlar.

Bu eşsiz birleşim, Web sunucuları ve vekilleri (proxies), eposta ve IM son kullanıcı sistemleri, doğrulama/yetkilendirme süreçleri ve burada sayamayacağımız kadar çok kritik ağ uygulamalarının tasarımında EventMachine'i ana seçenek yapar.

EventMachine 2000'lerden bu yana aramızdadır, oturmuş ve ciddi-testlerden geçmiş bir kitaplıktır.

EventMachine ne için iyidir?

EventMachine hangi platformları destekler?

EventMachine, Ruby 1.8.7-2.3, REE, JRuby'i destekler Unix ailesinden çoğu işletim sisteminin (Linux, Mac OS X, BSD) yanı sıra Windows'da bile iyi çalışır.

Gem'i kurmak

RubyGems ile kurabiliriz

gem install eventmachine

veya Bundler kullanıyorsanız Gemfile'a ekleyebiliriz:

gem "eventmachine"

Başlangıç

EventMachine ile tanışmak için aşağıdaki kaynaklara bakabilirsiniz:

Sunucu örneği: Yankı sunucu

EventMachine ile yazılmış tam donanımlı yankı (echo) sunucu:

 require 'eventmachine'

 module EchoServer
   def post_init
     puts "-- birisi yankı sunucuya bağlandı!"
   end

   def receive_data data
     send_data ">>>Gönderiniz: #{data}"
     close_connection if data =~ /quit/i
   end

   def unbind
     puts "-- birisi yankı sunucudan ayrıldı!"
   end
end

# Bunun şu an ki iş sürecini (thread) bloke edecek.
EventMachine.run {
  EventMachine.start_server "127.0.0.1", 8081, EchoServer
}

EventMachine rehberi

Şimdilik referans rehberine ve wiki'ye sahibiz.

Topluluk ve yardım alma yolu

  • Posta listesine (Google Group) katıl
  • irc.freenode.net de ki IRC kanalına #eventmachine katıl.

Lisans ve telif

EventMachine ya GPL ya da Ruby Lisansının taşıdığı ücretsiz yazılım telif hakkına sahiptir.

Telif: Francis Cianfrocca (C) 2006-07. Tüm hakları saklıdır.

Alternatifler

Ruby kullanıcısıysanız ve EventMachine sizi mutlu edemediyse, Celluloid ilginizi çekebilir.