Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Event Driven, Non Blocking ve Node.js Nedir?

Merhaba,

Günümüz yazılım düynasında Event Based ve Thread Based olmak üzere birbirinden farklı iki kavram mevcuttur. Bu içeriğimizde bu kavramların neler olduğunu, aralarındaki farkı gözeterek değerlendireceğiz ve bunların yanında Node.js mimarisinin ne olduğunu açıklamaya çalışacağız.

Event Based

Olay tabanlı programlamadır. Bir yazılımın akışını olaylar belirlemektedir. Tanımlanan olaylardan herhangi biri gerçekleşir yahut tetiklenirse sistemin diğer parçalarını ilgilendirmeksizin sadece ilgili olaydaki kodlar çalıştırılacaktır. Dolayısıyla bu şekilde sistem asenkron bir özellik sergileyecek ve her bir olay sade ve sadece kendi içerisindeki kodlarla sistemi meşgul edecektir. İşte olayların birbirlerini ilgilendirmemesi, bir başka deyişle bloklamaması Non Bloking olarak nitelendirilmektedir.

Thread Based

Event Based programlamaya nazaran senkron bir şekilde işlevsellik gösteren programlamadır. Yapılacak herhangi bir işlem bitene kadar diğer işlemler askıya alınacağından dolayı bloklama yaratılacak ve bu şekilde istenmeyen durum mevzu bahis olacaktır.

Node.js Nedir?

JavaScript ile Back-End servisler yazabilmemizi sağlayan bir JavaScript Runtime platformudur. [Node.js] çıkana kadar JavaScript sadece Front-End’de kullanılan bir script diliydi. [Node.js] sayesinde JavaScript’e Back-End özelliği kazandırılmıştır diyebiliriz.

Node.js Çalışma Mantığı

Yukarıdaki görüntüde Node.js’in çalışma mantığı şematize edilmiştir. Şemayı incelerseniz eğer; Node.js, kendisine gelen tüm requestleri birbirinden bağımsız bir şekilde devreye almaktadır. Requestlerden herhangi birinin işlemi bittiği vakit ilgili requestin fonksiyonu CallBack fonksiyonunu çalıştırmakta ve clienta cevap dönmektedir. İşte biz buna asenkron çalışma diyoruz ve dikkat ederseniz eğer Event Based yapısında bir yaklaşım olduğunu görüyoruz. Buradan da çıkarabiliriz ki, Node.js Event Based yaklaşımını benimsemiş bir mimaridir.

İçeriğimizin başlığında belirtilen kavramları elimden geldiğince izah etmeye çalışmış bulunmaktayım. Umarım faydalı ve bilgilendirici bir makale olmuştur.

Sonraki yazılarımda görüşmek dileğiyle…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. Mete dedi ki:

    Teşekkür ederim Event Based ile Thread Based arasındaki farkı sayende anlamıs oldum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*