Şimdi Ara

Sunucu (Server) Nedir?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
44.946
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • unucu Nedir?


    Sunucu (söylemeye alışık olduğumz şekliyle: Server), herhangi bir ağ üzerinde bir programı veya bir bilgiyi farklı kullanıcılara/sistemlere paylaştıran/dağıtan donanım veya yazılıma verilen genel isimdir. Burada temel nokta, sunucuların bir bilgisayar ağına bağlı olması.


    Donanımsal olarak sunucuların, sorunsuz çalışmak üzere inşaa edilmiş, güvenilir, çoklu kullanıcıya hizmet eden bilgisayar sistem(ler)i olduğunu söyleyebiliriz. Örneğin, PC Labs'ın bulunduğu bilgisayar sistemi bir sunucudur ve bu bilgiler Internet aracılığı ile siteyi ziyaret edenlere bilgiler dağıtılır/paylaşılır. Bilgisayar sunucularının yanında, yazılım sunucuları da mevcut. Örneğin, MySQL Server bir veritabanı sunucu yazılımıdır ve bunu bir sunucuya yüklediğimiz zaman bu sunucuya genellikle database server (veritabanı sunucusu) deriz.


    Neden Sunuculara İhtiyacımız Var?


    Sunuculara olan ihtiyaç, işlerimizi bilgisayar sistemleri vasıtasıyla yaptığımız ve bilgileri bu sistemlere depoladığımız zamanlarda ortaya çıkıyor. Günümüzde bilgisayar sistemlerinin kullanımını tartışmamıza bile gerek yok. Arrtık bir çok işletme bilgilerini merkezi noktada saklıyor ve bilgileri şuıbelerine/müşterilerine bu merkezden dağıtıyor. Merkezde bu bilgi saklama görevini yapan, sürekli çalışır halde olması gereken bilgisayar sistemi sunucudur.


    Günümüzde, bilgisayar sistemlerinin sürekli çalışmasının çok önemli olduğu finans, sağlık, eğitim gibi sektörler var. Bu sektörlerde çok ufak zaman kayıpları, inanılmaz boyutta iş ve para kaybını beraberinde getirebiliyor. Hele hele bilgileri bütünlüğü ve sorunsuz bir şekilde saklanabilmesi firmalar için çok daha önemli hale geldi. Bir bankanın son 1 saat içerisinde yapılan işlemleri sunucu arızası nedeniyle kaybettiğini düşündüğünüzde, ortadaki kaybı görmek oldukça kolay olacaktır. Düzgün işlemeyen bilgisayar sistemlerinin bile çok para ve iş kaybına neden olduğunu zaman zaman canlı örnekleriyle görüyoruz. Örneğin Ziraat Bankası, yaptığı yazılımsal değişikliği nedeniyle geçtiğimiz aylarda çok büyük sorunlar yaşamış, bankanın müşterileri mağdur olmuştu.


    Sunuculara olan ihtiyacımız işte burada ortaya çıkıyor. Yaptığımız işte, zaman, iş ve bilgi kaybı olmasını istemiyorsak sunucu sistemler işin içerisine giriyor. Sunucular, genelde yedekli yapılarla çalıştığı için, çalışmalarınız çok az durumda aksıyor. Örneğin, güç kaynağı arızasında ikinci güç kaynağı hemen devreye girerek durumu telafi ediyor veya herhangi bir disk arızasında diğer diskler veri kaybını engelliyor ve çalışmaya devam edilebiliyor. Bu konuyla ilgili çalışma örneklerini daha sonra vereceğiz.

    Biraz Geçmişe Bakalım

     Sunucu (Server) Nedir?
    Aslında sunucu deyince geçmiş dönemlerde akıllara ilk olarak Mainframe'ler gelirdi. Mainframe, mini-bilgisayarların (yani günümüz masaüstü bilgisayarlarının) bağlandığı çok geniş bilgisayar sistemlerine verilen isimdir. Mainframe'i klasik bilgisayar sistemlerinden ayıran özelliği, kabaca, paralel olarak işleyen "bilgisayarcıklardan" oluşmasıdır. Örneğin, Mainframe'e has olan I/O kanalına takılacak her kontrolcü, kendisine ait disk, ethernet kartı, belleği kontrol edip, her kontrolcü farklı bir işletim sistemi çalıştırabiliyor. Mainframe'i esas güçlü kılan özelliği de bu. Mainframe'lerin eski yazılımlarla uyumlu olabilmesi, herhangi bir aksaklıkta hemen paralel sistemin devreye girerek hata oluşmasını engellemesi ve sistem çalışırken bile donanımları takıp çıkartabilme özelliği, sistem kaynaklarını paylaşabilen birbirinden tamamen izole şekilde çalışabilen sanal bölümleri, onun esas özelliklerini oluşturuyor.


    Ancak Mainframe'ler bu kadar esnekliğin ve özelliğin yanında çok yüksek maliyet getiriyordu. Özellikle küçük ve orta ölçekli şirketler için uygulaması ve kullanılması zor olan Mainframe'ler yerine, mini-bilgisayar olarak adlandırılan aslında masaüstü farkı olmayan bilgisayarlara Mainframe'in yapabildiği bazı özellikler kazandırılarak "sunucu" görevi yapmaya başladı. Bizim alışık olduğumuz "sunucu" ifadesi de buna tekabül ediyor. Mainframe'ler halen büyük organizasyonlar tarafından kullanılıyor (örneğin finans sektörü) ancak artık sunucu deyince aklımıza, sunucu işlevi yapmak üzere geliştirilmiş donanımları taşıyan mini-bilgisayarlar geliyor. Artık bildiğimiz sunucular aynı anda yüzlerce kullanıcıya hizmete edecek kadar güçlüler. Mainframe'in yaptığı birçok işi çok daha ucuza yapabiliyor ve günümüzde çok popülerler. Biz de bu sistemler üzerinde duracağız.


    Klasik bilgisayarların da güçlendirilerek sunucu görevi görmesinde, hızlanan sistemlerin oldukça büyük payı var. Artık istemci sistemler (sunucuya bağlı olan bilgisayarlar), sunucu ile eş zamanlı olarak çalışıyor ve gerekli komutların işletilmesinde sunucuya yardımcı oluyor. Örneğin, istemci bilgisayardan çalışan muhasebe yazılımından rapor alacağız. Veritabanı sunucusuna komutlar gönderilerek, veritabanında bilgiler sunucunun işlem gücüyle gerçekleştiriliyor. Sunucudan alınan ham bilgiler, istemci bilgisayar tarafından tekrar işleme konup istenen rapor elde ediliyor. Tüm bu işlemler sadece sunucuya yaptırılacak olsaydı kuşkusuz daha güçlü sunuculara ihtiyaç olacaktı. Veya web sunuculardan bir örnek verelim. ASP, PHP veya JSP gibi kodlar web sunucusu tarafından işleme konurken, Javascript kodları veya sayfaların gösterilmesi istemci tarafından yapılıyor. Bir nevi iş paylaşımına gidiliyor.


    5-10 yıl öncesinde sunucu belki de sistem belleği artırılmış bilgisayar gibiydi ama yeni donanımlarla birlikte güvenirlikte işin içine girdi. Zira sunucularda artık aranan esas özellikler, güvenilirlik ve sorunsuz çalışabilmesi.


    Günümüzdeki Sunucu Çeşitleri


    Her ne kadar günümüzde çok sık kullanılan sunucular, masaüstü sistemlerimize benzer olsa da, ayrıldıkları veya özelleştikleri bazı noktalar var:


    1- Performans: Çoklu kullanıcıya hizmet edeceğinden, çoklu işlemci desteği, hızlı bir disk sistemi, fazla bellek miktarı barındırma.
    2- Ölçeklenebilirlik: Kullanılan sunucunun ihtiyaçlara göre ne kadar güncelleştirilebileceği. Örneğin, artan yüke karşılık işlemci sayısını veya hızını artırabiliyor muyuz? Bellek miktarı ne kadar artıyor?
    3- Güvenirlik ve Devamlılık: Kullanılan donanımlar yedekli mi? Arıza çıktığında yedeği otomatik olarak devreye girip sorunsuz bir şekilde çalışmaya devam edilebiliyor mu?


    Sunucuların kullanıldığı tek bir alan olmadığı için, farklı amaçlar için farklı donanımlarda ve özelliklerde sunucular bulmak mümkün. Örneğin, ufak bir işletmede kullanılan sunucunun 10-15 bilgisayara hizmet edeceğini varsayalım. Bu sunucu için öncelikli hedef %100 ulaşılabilirlik değil, sonuçta mesai bitince tüm sistemler gibi sunucu da kapatılıyor. Bu sistem için önemli olan, bilgi bütünlüğü. Bir web sunucusu için esas öncelik, %100 ulaşılabilirlik ve bilgi bütünlüğü. Günümüzde yüksek ulaşılabilirlik oranına ihtiyaç duyan datacenter'lar için, KOBİ'ler için, işlem gücünün maksimumda olması gereken işletmeler için farklı sunucular bulunuyor. Mainframe haricinde bizi ilgilendiren başlıca sunucu tiplerini listeleyelim:



    1. Rack Mounted Server: Aslında günümüzdeki bir çok sunucu bu yapıda. Bu sunucuların esas amacı, az yr kaplaması ve özel bilgisayar raflarına yerleştirilebilmeleri. Kullanım amacına göre bu sistemler özelleştirilebiliyor.

     Sunucu (Server) Nedir?


    Bu tarz sunucular 1U, 2U, 4U, 5U gibi ifadelerle ifade edilmekte. 1U ifadesi, unit, yani bir raf yüksekliğinde, yani 1.75 inç yüksekliğinde demek. 2U ise 3.5 inç yüksekliğinde demek. 1U veya 2U kasalara kurulan sunucular genellikle genişletilebilirlik açısından sınırlı oluyor. Bir bilgisayar rafında (fullrack) 42 birim (U) bulunduğunu da hatırlatalım. Bir çok organizasyon, yer sıkıntısının olduğu noktada bu raf sunucularını (rack server) kullanıyor. 1U kasa içerisine monte edilecek bir sistem aslına bakarsanız küçük ve orta ölçekli bir işletmenin ihtiyacını rahatlıkla karşılayabilecek özellikte olabiliyor. Raf tipi sunucuların genellikle datacenter'larda kullanıldığını görüyoruz. Zira ufak bir odada yaklaşık 378 tane 1U sunucu barındırılabilir!


    2. Blade Servers (Blade Sunucular) : "Blade" için mantıklı bir Türkçe karşılık bulamadığım için Blade sunucu diye bahsedeceğim. Blade sunucular, 1U tipindeki bilgisayarlara benzer, hatta daha ufak yapıdaki kasaya sahip anakart, işlemci ve bellekten oluşan sistemdir. Ufak yapıda olmasının getirdiği avantaj, bu blade sunucularının yerleştirildiği blade sunucu kasasının olması ve takıp/çıkartma işleminin sistem çalışırken bile yapılabilmesi. Blade sunucular, yüksek ve sorunsuz çalışma süresinin hedeflendiği noktalarda kullanılıyor. Herhangi bir arızada sistem sağlam kasalarla çalışmaya devam ediyor ve bozuk olanı yenisiyle sistem çalışırken değiştirebiliyorsunuz. Bağlantı ve kablolama karmaşıklığı da bu sistemlerde en aza indirgeniyor.

     Sunucu (Server) Nedir?

     Sunucu (Server) Nedir?


    3. Standart Sunucular: Aslında ne isim vereceğimi düşünemedim ama bu sunucuları büyük özel sunucu kasalarına kurulmuş sunucular olarak adlandırabiliriz. Özellikleri ihtiyaca göre değişiklik gösterebilir ve küçük/orta/büyük ölçekli şirketler çok sık bir şekilde bu tip sunucular kullanılmaktadır.Örneğin bir veritabanı sunucusu veya dosya sunucusu da bu sistemlerden yapılabilir. Bu sistemlerin avantajı, bol genişleme ve disk yuvasına sahip olmaları.

     Sunucu (Server) Nedir?



    Donanım üreticileri tarafından sunucular için geliştirilmiş özel donanımlar üretiliyor. İşlemciler, bellekler, ethernet kartları, diskler, güç kaynakları vs. Şimdi başlıca sunucu bileşenlerine ve alte rnatiflerine bakalım:

     Sunucu (Server) Nedir?
    İşlemci: Sunucuların belki de en pahalı bileşenlerinin başında işlemciler geliyor. Sunucularda kullanılan işlemcileri masaüstü sistemlerde kullanılan işlemcilerden ayıran farkın başında çoklu işlemci desteği, daha geniş L1 ve L2 tampon bellekler geliyor. Çoğu kullanıcı, örneğin çift işlemci destekli anakarta 2 adet masaüstü işlemcisi taktığı zaman çift işlemci çalışabileceğini düşünüyor. Eskiden bu mümkün olabiliyordu ancak artık yeni işlemcilerde böyle birşey yok. İşlemcilerin de çoklu işlemci desteğini sunması gerekiyor. Bizim ilgileneceğimiz sunucular için AMD ve Intel'in ürettiği işlemciler kullanılıyor:

    Intel: Xeon, Xeon MP, Itanium, Itanium 2
    AMD: Athlon MP, Opteron


    Bellek: Aslında sunucularda kullandığımz bellek tıpkı masaüstü sistemlerinde kullandıklarımız gibi DDR SDRAM, SDRAM veya RDRAM olabiliyor. Sunucularda genellikle ECC (Hata kontrol ve düzeltme mekanizması)'ye sahip olan bellekler tercih edilir ve kullanılan bellek miktarları fazla olduğu için "registered" bellek tercih edilir. Registered bellekler, üzerinde buluna bir çip sayesinde belleği sürekli tazeleyerek bilgilerin bütünlüğünü korurken, ECC özelliği de olası veri hatalarının düzeltiminde rol alıyor.

    Veri Depolama: Hard disklerin farklı bağlantı çeşidi, farklı dönüş hızları, farklı miktarda tampon bellekleri bulunuyor. Bunların hepsi, disk seçiminde önemli. Ancak, sunucular için SCSI diskler çok uzun zamandan beri birincil tercih halinde. SCSI disklerin özellikle sunucular için geliştirildiğini ve uygun olduğunu söylememiz sanırım yanlış olmaz. Daha uzun ömürleri, daha hızlı komutlara cevap verebilmeleri, daha fazla performans sunabilmesi, daha fazla bant genişliği sunması onları sunucular için tercih sebebi yapıyor.

    Son zamanlarda SATA disklerin de SCSI'ye benzer hot-swap özelliğinden dolayı kullanıldığını görüyoruz ama bunun uygulamaları henüz yaygın değil. Günümüzdeki disk arabirimlerine ve sundukları bant genişliklerine bakalım:



    ATA100: 100MB/s
    ATA133: 133MB/s
    Serial ATA: 150MB/s
    Ultra160 SCSI: 160MB/s
    Ultra320 SCSI: 320MB/s


    Bant genişliğinin genelde performansı etkileyen birincil unsur olmadığını hatırlatmak gerekiyor.


    Veri depolama deyince işin içine RAID giriyor. RAID, veri güvenliğinin ön planda olduğu noktalarda mutlaka kullanılması gereken bir yapı.

    Ağ bağlantısı için gereken ethernet kartlarından bahsetmemiz de gerekiyor. Günümüzde anakart üzerinde entegre gelen ethernet kartları 1 gigabit'lik ve sonradan takacağınız ethernet kartı da muhtemelen 1 gigabit'lik olacak. Sunuculara birden fazla ethernet kartı takıp, bir ağdaki bilgileri, ikinci ağdaki sistemlere paylaştırmak mümkün olabilir. Ya da, bir kart devre dışı kaldığında diğeri devreye girerek çalışmaya evam edecek şekilde yapılandırılabilir.

    Alıntıdır: pclabs







  • İstemci-sunucu


    İstemci-sunucu, istemciyi (genellikle bir grafik kullanıcı arayüzü-GUI) sunucudan ayıran bir ağ mimarisidir. Her bir istemci yazılımı, sunucuya ya da uygulama sunucusuna isteklerini (request) gönderir.

    Bu fikrin pek çok çeşitli uygulaması olmasına karşın, en güzel örneği İnternet üzerindeki Web sayfalarıdır. Bir web sayfası incelenirken, bilgisayar ve web tarayıcısı istemci olarak adlandırılır. Web sayfasını oluşturan gelişmiş bilgisayarlar, veritabanları ve uygulamalar da sunucu olarak adlandırılır. Web tarayıcısı, web sitesinden bir istekte bulunur ve sunucu istenen bilgileri toplar ve onu bir web sitesi şekline getirerek web tarayıcısına geri yollar, kullanıcılar da ekranda web sitesini görmüş olur.

    Bir istemci/sunucu mimarisi, ölçeklenebilir bir mimari sunmayı amaçlar. Böylece ağdaki herbir bilgisayar bir istemci ya da sunucu rolünü üstlenir. Sunucu yazılımı genelde, fakat her zaman değil, bir iş yazılımı için adanmış güçlü bir bilgisayarda çalışır. İstemci yazılımı ise genelde sıradan bir PC veya işistasyonunda çalışır. İstemciler gerek duydukları verinin pek çoğunu ya da tamamını uygulama sunucusundan isterlerler. Mesela; ayar dosyaları, stok verileri, iş uygulama yazılımları vs. gibi.

    Sunucu'nun özellikleri:
    Pasif (köle)
    İstekleri bekler
    İstek olduğunda bilgiyi sunar ve cevap yollar

    İstemcinin özellikleri:
    Aktif (efendi)
    İstekleri gönderir
    Cevap dönene kadar bekler

    Sunucular durumsuz (stateless) veya durumlu (stateful) olabilir. Durumsuz bir sunucu, istekler arasında bilgi tutmaz. Mesela statik HTML sayfalarını sunan bir HTTP sunucusu gibi. Fakat durumlu bir sunucu, kendisine gelen istekler arasında bilgi tutar. Bu bilgi küresel (global) veya oturum (session) bazlı olabilir. Örneğin Apache Tomcat sunucusu gibi.

    İstemci ve sunucu arasındaki ilişki genelde ardışık diyagramlar (sequence diagram) ile belirlenir ve bu diyagramlar UML standardına uygun yapılır.

    Bir diğer ağ mimarisi ise peer-to-peer yapılar olarak karşımıza çıkar. Burada her bir düğüm, hem istemci hem de sunucudur ve hepsi de aynı sorumluluğa sahiptirler. Hem istemci/sunucu mimarisi hem de peer-to-peer mimarisi günümüzde çok fazla kullanılmaktadır. Her ikisinin de avantaj ve dezavantajları vardır.

    Genel bir istemci/sunucu mimarisinde iki adet düğüm vardır ve bu yüzden iki-katmanlı mimari olarak adlandırılır. Bazı ağlarda üç düğümlü bir yapı olabilir. Mesela islemci, uygulama sunucusu ve veritabanı sunucusundan müteşekkil bir ağda üç adet düğüm vardır ve bu yapı üç-katmanlı mimari olarak adlandırılır.

    Genelde n-katmanlı ya da çok-katmanlı mimarilerde iş mantığının farklı fonksiyonları için her bir hizmetle sorumlu ayrı bir sunucu görevlendirilir. Çok-katmanlı mimarinin iki-katmanlı mimariye göre avantajı daha iyi yük dengeleme sunması ve daha çok ölçeklenebilir olmasıdır. Dezavantajları ise ağa daha fazla yük getirmesi ve programlama ve test aşamalarının daha zor gerçekleştirilmesidir.

    İstemci/sunucu mimarilerde adresleme çeşitli yöntemler ile gerçekleştirilir:
    Makine proses adreslemesi (machine process adressing): adresler şu şekilde bölümlenir: proses@makine. Yani 56@453 ifadesi, 453 nolu bilgisayardaki 56 nolu proses'i işaret eder.
    İsim sunucusu (name server): İlgili alandaki (domain) sunucuların isimlerini ve adreslerini indeksler.
    Hedefbulma paketleri (Localization packets): Bir dağıtık sistemteki tüm bilgisayarlara gönderilen broadcast mesajlarıyla hedef bilgisayarların adreslerinin öğrenilmesidir.
    Tüccar (trader): Bir dağıtık sistemdeki hizmetleri indeksleyen bir sistemdir.

    Alıntıdır: wikipedia




  • Server programları

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.