blog posts

Apache web sunucusu ve (Apache Hadoo) nedir?

Apache web sunucusu ve (Apache Hadoo) nedir?

 

Bu yazımızda sizlere son yıllarda geliştirilen en popüler ve kullanışlı bilgisayar yazılımlarından birini tanıtacağız. Apache web sunucusu Bu çekici yazılımın adı Apache Hadoop’tur. Bu olağanüstü başarının sırrı nedir? Apache Hadoop, ücretsiz erişime sahip en büyük temel (açık kaynak temeli) unvanını nasıl taşıyor? Başlasak iyi olur.

Aklınızda şu soru oluşmuş olmalı, Apache Hadoop yazılımı nedir? Aslında Apache, açık kaynaklı ve ücretsiz bir web sunucusu yazılımıdır. Bir web sunucusunun tam olarak ne olduğunu bilmiyorsanız merak etmeyin, daha sonra ele alacağız. Bu yazılım o kadar yaygınlaştı ki internet sitelerinin yaklaşık %40’ı bu yazılımı kullanıyor! Bu sayının ne anlama geldiğini biliyor musunuz? Mevcut istatistiklere göre, 1,5 milyar web sitesinden sadece 200 milyon web sitesi aktif. Peki! 200 milyonun %40’ı 80 milyon web sitesi oluyor! Sizce de harika değil mi?

Apache Hadoop kullanıcıları arasında birçok güvenilir web sitesi bulunmaktadır ve bu platform üzerinde büyük projeler yapılmıştır. Apache Hadoop’un harika yeteneği, sınırsız sayıda bilgisayarı birbirine bağlamasıdır. Tıpkı bir örnek olarak, en büyük Hadoop sistemine sahip olan ve bu sayede çok sayıda sunucu ve bilgisayarı birbirine bağlayan Yahoo şirketi, pi sayısının ondalık kısmının belirlenmesini virgülden sonra iki trilyon haneye kadar ilerletmiştir. Bunu bir bilgisayarda yapacak olsaydık, muhtemelen 500 yıldan fazla sürerdi!

Apache Hadoop çekirdeği, Hadoop Dağıtılmış Dosya Sistemi adlı bir depolama bölümü içerir. Ayrıca bu yazılımın çekirdeğinde aslında bir MapReduce programlama modeli olan işlemci kısmı da bulunmaktadır. Hadoop, dosyaları iki büyük bloğa böler ve ardından bunları bir kümenin düğümlerine dağıtır.

Hadoop daha sonra verileri paralel olarak işlemek için paketlenmiş kodu düğümlere aktarır. Bu yaklaşım, düğümlerin verileri manipüle edebildiği veri konumundan yararlanır. Bu, veri setlerinin geleneksel süper bilgisayar mimarisine kıyasla daha hızlı ve daha verimli bir şekilde işlenmesini sağlar.

 

 

 

Apache Hadoop yazılımının geçmişi

 

piyasaya 2006 yılında girmiştir. Bu yazılımın geliştiricisi Apache Software Foundation’dır. Bu yazılım Java dilinde yazılmıştır ve platformlar arası bir işletim sistemi üzerinde çalışır. Doug Cutting ve Mike Cafarella bu yazılımın kurucularıdır. Apache yazılımının birincil kaynağının 2003 yılında yayınlanan Google Dosya Sistemi makalesi olduğunu düşünüyorlar. Bu yazıda sunulan fikirler daha sonra başka bir proje ile birleştirildi ve Apache Nutch projesi başladı. Daha sonra bu proje Hadoop’un bir alt projesi olarak çalışmaya devam etti.

Apache yazılım logosunun ne anlama geldiğini hiç merak ettiniz mi? Gülümseyen sarı bir filin bilgisayar yazılımıyla ne alakası olabilir ki?! Cevap burada. 2006 yılında Yahoo’da çalışan Doug Katink bu yazılım üzerinde çalışıyordu. Apache aslında Doug’ın oğlunun oyuncağının adıydı! Gülümseyen sarı bir fil! İlk başta, Apache yalnızca beş bin satır kod içeriyordu.

Mart 2006’da Owen O’Malley, Hadoop projesine katılan bir komisyoncuydu. 2006’dan günümüze kadar bu yazılımın önemli gelişimine tanık olduk. Size bu yazılımın harikalığından bahsedeyim. Şu anda, yaklaşık 7.600 kodlayıcıya ve işlenen bir milyardan fazla kod satırına sahiptir. 765 kişi aynı zamanda Apache Software Foundation’ın resmi üyesidir!

 

 

internet sunucusu nedir?

 

Bu yazılımın bir web sunucusu olduğunu söyledik. Dosya sunucuları, veritabanı sunucuları, posta sunucuları ve web sunucuları farklı sunucu yazılımı türleri kullanır. Bu uygulamaların her biri, fiziksel bir sunucuda depolanan klasörlere erişebilir ve bunları farklı amaçlar için kullanabilir.

Basitçe söylemek gerekirse, bir web sunucusunun (Apache dahil) görevi internet web sitelerine hizmet etmektir. Aslında, Apache yazılımı, sunucu ve istemci makineler arasında aracı rolü oynar. Apache, sunucu içeriklerini kullanıcı isteklerine göre çıkarır ve bunları web üzerinde sunar.

Ancak bu arabuluculuk rolü göründüğü kadar basit değildir. Apache yazılımı ve genel olarak benzer yazılımlar, sürekli kullanıcı akışına yanıt verebilmelidir. Bu yazılımlar aynı anda kullanıcılara hizmet vermelidir. Bu sırada her biri farklı web sayfaları talep etmiş olabilir. Web sunucusu işleme dosyaları, PHP, Python ve Java dahil olmak üzere çeşitli dillerde yazılır.

 

 

Apache web sunucusu nasıl çalışır?

 

Apache yazılımını web sunucusu olarak adlandırmış olsak da fiziksel bir sunucu olmadığını bilmek ilginçtir. Aslında Apache, sunucu altında çalışan bir yazılımdır. Ana görevi, bir sunucu ile Firefox, Google Chrome ve Safari gibi web sitesi ziyaretçilerinin tarayıcıları arasında iletişim kurmaktır. Önemli olan, iletişim sırasında client-server yapısı arasında sürekli dosya alışverişinin olmasıdır. Bu nedenle Apache, platformlar arası bir yazılım olarak adlandırılabilir. Bu nedenle Windows ve Unix sunucularında çalışır.

Bir ziyaretçi web sitenizdeki ana sayfa veya Hakkımızda sayfası gibi bir sayfayı yüklemeye çalıştığında, tarayıcı sunucunuza bir istek gönderir. Bu tam olarak Apache’nin devreye girdiği yer. Bu yazılım, metin, resim veya diğer dosyalar dahil olmak üzere istenen tüm dosyaları tarayıcıya gönderir. Bahsettiğimiz arabuluculuk rolü buydu. Sunucu ve istemci, HTTP protokolleri aracılığıyla iletişim kurar. Bu iki makine arasında güvenli ve sorunsuz bir iletişim kurmanın sorumluluğu nedir? Evet! Apache yazılımından sorumludur.

 

 

Apache modülleri

 

Temel Apache çerçevesi birkaç modülden oluşur. Bu modüller arasında Hadoop Common, Hadoop Dağıtılmış Dosya Sistemi (HDFS), Hadoop YARN ve Hadoop MapReduce bulunur. Hadoop terimi genellikle temel modüller (temel modüller), alt modüller (alt modüller), ekosistem (Ekosistem) ve ek yazılım paketlerinin derlenmesi için kullanılır. Bu yazılım paketleri, Hadoop’a veya Hadoop’un yanına kurulabilir. Bu yazılımlara örnek olarak Apache Pig, Apache Hive ve Apache HBase verilebilir. Hadoop çerçevesi çoğunlukla Java programlama dilinde yazılmıştır. MapReduce Java kodu yaygın olmasına rağmen, Hadoop ile herhangi bir programlama dili kullanılabilir.

 

Apache yazılımının sınırlamaları ve avantajları nelerdir?

Birçok uzmana göre Apache web sunucusu, web sitelerini yönetmek için en akıllı seçimdir. Apache, web sitenizin kararlı ve esnek bir platformda çalışmasını sağlar. Ancak, herhangi bir harika yazılım gibi, sınırlamalar vardır. Bu yazılımın önce avantajlarını, ardından sınırlamalarını listelemek daha iyidir.

 

Apache yazılımının avantajları sekiz ana noktada özetlenebilir:

Ticari kullanım için bile ücretsiz ve açık erişim
Güvenilir ve kararlı yazılım yeteneklerine sahiptir
Düzenli güvenlik yamaları ile zamanında güncellemeler
Modül tabanlı yapı sayesinde yüksek esneklik
Acemi kullanıcılar için bile kolay kurulum ve yapılandırma
Windows ve Unix üzerinde çalışabilme özelliğine sahip çapraz platform
WordPress siteleriyle yaratıcı çalışmalar yapın
Sorun durumunda kalıcı destek

Apache’nin sınırlamalarını aşağıdaki iki maddeyle özetleyebiliriz:

Yoğun trafiğe sahip web sitelerinde performans sorunları
Yazılım güvenlik açıklarına yol açabilecek çok fazla yapılandırma seçeneği.

Apache tek web sunucusu yazılımı değildir. Aslında, Apache’nin müşterilerin dikkatini çekmek için rekabet eden güçlü rakipleri vardır. Bu yazılımın üstünlüğünün nerede olduğunu görmek için Apache ile bu yazılımlar arasında bir karşılaştırma yapmak daha iyidir? Her web sunucusu uygulaması belirli bir amaç için tasarlanmıştır. Apache en yaygın web sunucularından biri olmasına rağmen, bazı uzmanlar bu yazılıma alternatifler önermiştir.

 

 

Apache yazılımı ve NGINX karşılaştırması

 

Engine-X olarak telaffuz edilen Nginx, Apache’den daha yeni bir web sunucusudur. Engine-X ilk olarak 2004 yılında piyasaya sürüldü. 2004’ten günümüze kadar bu yazılım web sitesi sahipleri arasında yüksek popülerlik kazanmayı başardı. Nginx, c10k problemini çözmek için geliştirildi. Bu sorun nedir? Kullanıcı isteklerini yönetmek için iş parçacıkları kullanan bir web sunucusu, aynı anda 10.000’den fazla bağlantıyı yönetemez. Bu c10k ile aynı sorun.

Yoğun trafikle karşılaşan web sitesi sahipleri, Apache’nin iş parçacığı tabanlı bir yapı kullanması nedeniyle Apache’yi kullanmakta zorlanabilirler. Nginx, c10k sorununu çözen web sunucularından biridir. Bu nedenle Nginx, c10k problemini çözmede en başarılı web sunucu yazılımıdır.

Nginx, eşit odaklı bir mimariye sahiptir. Bu, yazılımın her seferinde yeni bir işleme talebi oluşturmadığı anlamına gelir. Bunun yerine, gelen her isteği tek bir iş parçacığı ile işler. Bu ana süreç, isteklerin asıl işlenmesinin gerçekleşmesi için birkaç oluşturucu sürecini yönetir. Nginx’teki olay tabanlı model, kullanıcı isteklerini çalışan işlemler arasında verimli bir şekilde dağıtır. Bu nedenle, Nginx gelişmiş ölçeklenebilirliğe yol açar.

Yoğun trafiğe sahip bir siteyi yönetmeyi planlıyorsanız, Nginx, mevcut en az kaynakla en yüksek verimliliği elde edebildiği için Apache’den daha iyi bir seçenektir. Netflix, Hulu, Pinterest ve Airbnb gibi yüksek trafikli web sitelerinin hepsinin Nginx kullandığını bilmek şaşırtıcı değil. Ancak web siteniz çok fazla trafik almıyorsa, yapılandırması daha kolay ve birçok modülü olduğu için Apache yazılımını kullanmanızı tavsiye ederim. Ayrıca, özellikle acemi kullanıcılar için Apache kullanımı daha kullanıcı dostudur.

 

 

 

Apache, Tomcat’e Karşı

 

Tomcat ayrıca Apache Software Foundation tarafından geliştirilen bir web sunucusudur, dolayısıyla resmi adı Apache Tomcat’tir. Bu bir HTTP sunucusudur, ancak kararlı web siteleri yerine Java uygulamalarına güç sağlar. Tomcat, Java Servlet, JavaServer Pages (JSP), Java EL ve WebStock dahil olmak üzere birkaç farklı Java üzerinde çalışabilir.

Tomcat, Java uygulamaları için özel olarak geliştirilmişken, Apache genel amaçlı bir HTTP sunucusudur. Apache’yi PHP, Python, Perl vb. farklı programlama dilleri ile de kullanabilirsiniz. Doğru Apache modülünün burada çok önemli olduğunu belirtmekte fayda var.

Sabit web sayfaları sunmak için bir Tomcat sunucusu kullanabilseniz de, bir Apache sunucusundan daha az verimlidir. Örneğin Tomcat, Java Virtual Machine’i ve Java ile ilgili diğer kitaplıkları siz onlara ihtiyaç duymadan yükler. Tomcat, Apache’ye kıyasla düşük yapılandırma gücüne sahiptir. Örneğin, WordPress yapmak için en iyi seçenek Apache’dir.

Bu yazıda belirttiğimiz şey Apache yazılımının kısa bir tanıtımıydı. Bahsettiğimiz gibi, bu yazılım, bilgisayar kümelerinde büyük veri kümelerinin dağıtılmış olarak işlenmesi için bir çerçeve sağlar. Yazılım, tek sunucuları binlerce makineye ölçeklendirmek üzere tasarlanmıştır, böylece her biri yerel depolama ve bilgi işlem gücüne sahip olur.

Apache yazılımının ne olduğunu hatırlıyor musunuz? Bu yazılım, şu anda yaklaşık 80 milyon web sitesi tarafından kullanılan bir web sunucusuydu. Sonra biraz web sunucusu kavramına indik ve Apache’nin istemci makineler ile sunucunun kendisi arasında iletişim kuran ve bu iletişimin güvenliğini ve kolaylığını sağlayan bir aracı görevi gördüğünü söyledik.

Apache’nin artılarını ve eksilerini hatırlıyor musunuz? Bir bölümde Apache yazılımının olumlu ve olumsuz yönlerini ele aldık. Bu yazılımın avantajlarının sınırlamalarından daha ağır bastığını gösterdik. Ayrıca Apache yazılımının Nginx ve Tomcat gibi diğer popüler yazılımlara ciddi bir rakip olduğunu ve bazı durumlarda onlardan üstün olduğunu da gösterdik. Umarız bu makaleyi beğenmişsinizdir ve sonraki makalelerimizi sabırsızlıkla bekliyoruz…

 

Sıkça Sorulan Sorular

Apache web sunucusu nedir?

sınırsız erişime sahip açık kaynaklı ve ücretsiz bir web sunucusu yazılımıdır. Hadoop kullanıcıları arasında birçok güvenilir web sitesi bulunmaktadır ve bu platform üzerinde büyük projeler yapılmıştır. Apache Hadoop’un harika yeteneği, sınırsız sayıda bilgisayarı birbirine bağlamasıdır. Apache Hadoop çekirdeği, Hadoop Dağıtılmış Dosya Sistemi adlı bir depolama bölümü içerir. Ayrıca bu yazılımın çekirdeğinde aslında bir MapReduce programlama modeli olan işlemci kısmı da bulunmaktadır. Hadoop, dosyaları iki büyük bloğa böler ve ardından bunları bir kümenin düğümlerine dağıtır.

 

Apache web sunucusunun avantajları nelerdir?

Ticari kullanım için bile ücretsiz ve açık erişim
Güvenilir ve kararlı yazılım yeteneklerine sahiptir
Düzenli güvenlik yamaları ile zamanında güncellemeler
Modül tabanlı yapı sayesinde yüksek esneklik
Acemi kullanıcılar için bile kolay kurulum ve yapılandırma
Windows ve Unix üzerinde çalışabilme özelliğine sahip çapraz platform
WordPress siteleriyle yaratıcı çalışmalar yapın
Sorun durumunda kalıcı destek

internet sunucusu nedir?

Dosya sunucuları, veritabanı sunucuları, posta sunucuları ve web sunucuları farklı sunucu yazılımı türleri kullanır. Bu uygulamaların her biri, fiziksel bir sunucuda depolanan klasörlere erişebilir ve bunları farklı amaçlar için kullanabilir.

 

Apache web sunucusu nasıl çalışır?

Apache aslında sunucu altında çalışan bir yazılımdır. Ana görevi, bir sunucu ile Firefox, Google Chrome ve Safari gibi web sitesi ziyaretçilerinin tarayıcıları arasında iletişim kurmaktır. Önemli olan, iletişim sırasında client-server yapısı arasında sürekli dosya alışverişinin olmasıdır. Bu nedenle Apache, platformlar arası bir yazılım olarak adlandırılabilir. Bu nedenle Windows ve Unix sunucularında çalışır.