İstemci-sunucu

Bilgisayar biliminde, istemci-sunucu, her ikisi de bir bilgisayar ağı üzerinden veya aynı bilgisayarda iletişim kuran istemci sistemleri ve sunucu sistemleri olmak üzere iki bölümden oluşan bir yazılım mimarisi modelidir. Bir istemci-sunucu uygulaması, hem istemci hem de sunucu yazılımından oluşan dağıtılmış bir sistemdir. İstemci sunucu uygulaması, iş yükünü paylaşmak için daha iyi bir yol sağlar. İstemci işlemi her zaman sunucuya bir bağlantı başlatırken, sunucu işlemi her zaman herhangi bir istemciden gelen istekleri bekler.

Hem istemci işlemi hem de sunucu işlemi aynı bilgisayarda çalışıyorsa, buna tek koltuk kurulumu denir.

İlgili yazılım mimarisinin bir başka türü de eşler arası olarak bilinir, çünkü her bir ana bilgisayar veya uygulama örneği aynı anda hem istemci hem de sunucu olarak hareket edebilir (istemci-sunucu modelinin merkezi sunucularının aksine) ve her birinin eşdeğer sorumlulukları ve statüsü vardır. Eşler arası mimariler genellikle P2P kısaltması kullanılarak kısaltılır.

İstemci-sunucu ilişkisi, istemci ile sunucuya nasıl bir hizmet talebinde bulunduğu ve sunucunun bu talepleri nasıl kabul edebileceği, işleyebileceği ve talep edilen bilgileri istemciye nasıl geri döndürebileceği arasındaki ilişkiyi tanımlar. İstemci ve sunucu arasındaki etkileşim genellikle sıra diyagramları kullanılarak açıklanır. Sıra diyagramları Unified Modeling Language'de standartlaştırılmıştır.

Hem istemci-sunucu hem de P2P mimarileri günümüzde yaygın olarak kullanılmaktadır.

Temel istemci-sunucu yazılım mimarisi yalnızca iki tür ana bilgisayar kullanır: istemciler ve sunucular. Bu mimari türü bazen iki katmanlı olarak adlandırılır. İki katmanlı mimari, istemcinin bir katman, sunucu sürecinin ise diğer katman olarak hareket ettiği anlamına gelir.

İstemci-sunucu yazılım mimarisi, ağ bilişiminin temel modellerinden biri haline gelmiştir. İstemci-sunucu modeli kullanılarak birçok uygulama türü yazılmıştır. E-posta alışverişi, web erişimi ve veritabanı erişimi gibi standart ağa bağlı işlevler istemci-sunucu modeline dayanmaktadır. Örneğin, bir web tarayıcısı, kullanıcı bilgisayarında bulunan ve dünyadaki herhangi bir web sunucusundaki bilgilere erişebilen bir istemci programıdır.

Tek sunucu tabanlı bir ağ.Zoom
Tek sunucu tabanlı bir ağ.

Eşler arası tabanlı bir ağ.Zoom
Eşler arası tabanlı bir ağ.

Müşterilerin özellikleri

  • Her zaman sunuculara istekleri başlatır.
  • Cevapları bekler.
  • Cevapları alıyor.
  • Genellikle tek seferde az sayıda sunucuya bağlanır.
  • Genellikle grafik kullanıcı arayüzü gibi herhangi bir kullanıcı arayüzü kullanarak son kullanıcılarla doğrudan etkileşime girer.

Sunucu özellikleri

  • Her zaman müşterilerden birinden talep gelmesini bekleyin.
  • İstemcilerin isteklerine hizmet eder ve ardından istemcilere istenen verilerle yanıt verir.
  • Bir sunucu, bir istemci talebini sunmak için diğer sunucularla iletişim kurabilir.
  • Bir isteği işlemek için ek bilgi gerekiyorsa (veya güvenlik uygulanıyorsa), sunucu bir isteği işlemeden önce istemciden ek veri (parola) isteyebilir.
  • Son kullanıcılar genellikle bir sunucu ile doğrudan etkileşime girmez, bir istemci kullanır.

Avantajlar

  • Çoğu durumda, bir istemci-sunucu mimarisi, bir bilgi işlem sisteminin rol ve sorumluluklarının, birbirlerini yalnızca bir aracılığıyla tanıyan birkaç bağımsız bilgisayar arasında dağıtılmasını sağlar, bu nedenle bu modelin avantajlarından biri daha fazla bakım kolaylığıdır. Örneğin, istemcileri bu değişiklikten habersiz ve etkilenmeden kalırken bir sunucuyu değiştirmek, onarmak, yükseltmek ve hatta yerini değiştirmek mümkündür. Bu değişimden bağımsızlık aynı zamanda kapsülleme olarak da adlandırılır.
  • Tüm veriler, genellikle çoğu istemciden daha iyi güvenlik kontrollerine sahip olan sunucularda saklanır. Sunucular, yalnızca uygun izinlere sahip istemcilerin verilere erişebilmesini ve bunları değiştirebilmesini sağlamak için erişimi ve kaynakları daha iyi kontrol edebilir.
  • Veri depolama merkezi olduğundan, bu verilere yönelik güncellemeler P2P mimarisi altında mümkün olandan çok daha kolay bir şekilde yönetilebilir. Bir P2P mimarisi altında, veri güncellemelerinin dağıtılması ve ağdaki her bir "eşe" uygulanması gerekebilir, bu da binlerce hatta milyonlarca eş olabileceğinden hem zaman alıcı hem de hataya açık bir işlemdir.
  • Güvenlik, kullanıcı dostu arayüzler ve kullanım kolaylığı sağlamak üzere tasarlanmış birçok gelişmiş istemci-sunucu teknolojisi halihazırda mevcuttur.
  • Farklı özelliklere sahip birden fazla farklı istemci ile çalışır.

Dezavantajlar

  • Ağ trafiğinin engellenmesi, istemci-sunucu modeliyle ilgili sorunlardan biridir. Belirli bir sunucuya gelen eşzamanlı istemci isteklerinin sayısı arttıkça, sunucu aşırı yüklenebilir. Bunu, daha fazla düğüm eklendikçe bant genişliğinin gerçekten arttığı bir P2P ağıyla karşılaştırın, çünkü P2P ağının genel bant genişliği kabaca bu ağdaki her düğümün bant genişliklerinin toplamı olarak hesaplanabilir.
  • İstemci-sunucu modeli ile Eşler Arası model karşılaştırıldığında, bir sunucu başarısız olursa, istemcilerin istekleri karşılanamaz, ancak P2P ağlarında sunucular genellikle birçok düğüm arasında dağıtılır. Bir veya daha fazla düğüm başarısız olsa bile, örneğin bir düğüm bir dosyayı indirememişse, kalan düğümler indirmeyi tamamlamak için gereken verilere sahip olmalıdır.

Örnekler

Sorular ve Yanıtlar

S: İstemci-sunucu yazılım mimarisi nedir?


C: İstemci-sunucu yazılım mimarisi, her ikisi de bir bilgisayar ağı üzerinden veya aynı bilgisayarda iletişim kuran istemci sistemleri ve sunucu sistemleri olmak üzere iki bölümden oluşan bir modeldir.

S: Bir istemci-sunucu uygulaması nasıl çalışır?


C: İstemci-sunucu uygulaması, hem istemci hem de sunucu yazılımından oluşan dağıtılmış bir sistemdir. İstemci işlemi her zaman sunucuya bir bağlantı başlatırken, sunucu işlemi her zaman herhangi bir istemciden gelen istekleri bekler.

S: Hem istemci süreci hem de sunucu süreci aynı bilgisayarda çalışıyorsa ne olur?


C: Hem istemci işlemi hem de sunucu işlemi aynı bilgisayarda çalışıyorsa, buna tek koltuk kurulumu denir.

S: İstemci Sunucu Uygulaması kullanmak ne gibi faydalar sağlar?


C: İstemci Sunucu Uygulaması kullanmak, iş yüklerini birden fazla bilgisayar veya kullanıcı arasında paylaştırmak için daha iyi bir yol sağlar.

S: İstemci Sunucu Uygulamalarında bağlantıları kim başlatır?


C: İstemci Sunucu Uygulamalarında bağlantıları her zaman İstemci İşlemi başlatır.


S: İstemci Sunucu Uygulamalarında istekleri kim bekler?


C: İstemci Sunucu Uygulamalarında istekleri her zaman Sunucu İşlemi bekler.

S: Birden fazla bilgisayar veya kullanıcı iş yüklerini birbirleriyle nasıl paylaşabilir?


C: Birden fazla bilgisayar veya kullanıcı, İstemci Sunucu Uygulaması gibi dağıtılmış bir sistem kullanarak iş yüklerini paylaşabilir.

AlegsaOnline.com - 2020 / 2023 - License CC3