BootcampHackathonHiring ChallengeTüm Etkinlikler
İş İlanlarıŞirketler
Modern Web Mimarisi

Modern Web Mimarisi

Modern web mimarisi nedir? Gelin bu yazıda bu sorunun cevabını inceleyelim!
Techcareer.net
Techcareer.net
04.05.2023

Modern Web Mimarisi

Yazılımcıların proje geliştirme süreçlerinde ihtiyaç duydukları bileşenler bir hayli fazla fakat yapılan işlerin yalnızca görünür yanını bilmek zaman zaman işleyişte hatalara ya da bilgi eksikliklerine yol açabiliyor. Bu nedenle, iyi bir kod yazmak ve proje geliştirmek isteyen her yazılımcı yaptığı işin arkasındaki çerçeveye hakim olmalıdır. Bahsedilen çerçeve ise modern web mimarisi adı verilen bir şemaya tekabül ediyor. Bu yazıda modern web mimarisinin bileşenleri ve çalışma şekli hakkında bilgiler bulabilirsiniz.

Modern Web Mimarisi Nedir?

Modern Web Mimarisi nedir? diye soracak olursanız, aslında pek çok bileşenden oluşan bir çalışma ağıdır. Bu ağdaki düzenli işleyiş sayesinde web ulaşılabilir bir şekilde çalışmasını devam ettirir. Herkesin günlük hayatta en basit aramadan en karmaşık olanına kadar tarayıcıya girdiği adresler, aslında web aramasının arkasındaki düzeneğin çalışması sayesinde kullanıcıya arama sonuçlarını ulaştırır. DNS ile başlayan yolculuk pek çok dala ayrılır ve hedef sonuca doğru çeşitlenen adımlar sayesinde web aramalarını mümkün kılar. Bu nedenle bir yazılımcı için bu şemaya hakim olmak büyük bir önem arz eder. Öyleyse, bu uzun yolculuktaki bileşenlere göz atmak için aşağıdaki sırayı takip edebilirsiniz.

DNS

DNS modern web mimarisinin olmazsa olmaz ilk bileşenidir. Bu bileşen için bir çeşit rehber denilebilir çünkü diğer bileşenler için yol gösterici bir yer tutar. Bilindiği üzere, her bilgisayarın ve kanalın bir kimliğe ihtiyacı vardır. Bu kimlikler ise IP adresi sayesinde tanınır hale gelir. IP adresi sunucunun ve bilgisayarın özelleştirilmiş bilgisini içerir. Bu kimliklere ulaşmak için olmazsa olmaz aracı DNS'dir. DNS tıpkı bir organizer gibi bileşenler arasındaki iletişimi sağlar ve aramayı mümkün kılar. Yani her alanın kimliğinin çözümlenmesi için DNS aracı olur ve bu tanıma sistemi ile gerekli iletimi sağlar. Örneğin, Instagram hesabınıza bağlanmak istiyorsunuz ve Instagramın IP adresi ise "3.234.67.196" olsun. Siz "instagram.com" yazdığınızda DNS bunun IP adresi karışıklığını tanıyamasaydı, bu karmaşık sayıları her seferinde yeniden arama çubuğuna girmeniz gerekirdi. 

Load Balancer

Load Balancer temel düzeydeki web uygulamaları kodlamaları için hayati önem teşkil etmez ancak ne olduğunu bilmek daha büyük projeler için gereklidir. Load Balancer en basit tanımıyla bir sunucudur fakat yalnızca sunucu demek doğru olmaz. Çünkü, bu bileşen reverse proxy sunucusu olarak adlandırılır ve önemli bir görevi vardır.  Revers proxy de bu şekildedir. Ulaşılmak için web sonucu ile ulaşmak isteyen kişi arasında bir köprü oluşturan proxy sunucusu, arama sonucunun istendiği basamaktır. Yani, buradaki isteği aslında kullanıcı değil, kullanıcının teşviki ile proxy sunucusu sağlamış olur. İsteği somutlaştırmak gerekirse, siz proxy sunucuna "Instagram'a ulaşma talebimi al ve bunun sonucunda isteği işleyerek beni doğru sonuca yönlendir." Bu dolaylı işlem güvenlik açıklarını kapatır. Reverse proxy ise karşı tarafı (örneğin Instagram Instagram) korumaya yöneliktir ve onun IP adresini saklı tutmak için aracı olur. 

Web Uygulama Sunucuları

Web uygulama sunucuları en temelde barındırma ve depolama işlemini yapan bir sunucudur. Diğer bir deyişle, bir internet sitesinin yayında kalması için web sunucusuna ihtiyacı vardır. Sunucular, HTTP bağlantı taleplerine cevap vererek internetteki web sayfalarını depolar ve onlara alan tanır. Örneğin, bir blog sayfasına sahipsiniz ve bu sayfayı kullanıcılara ulaştırmak istiyorsunuz. İşte bunun için gerekli olan aracı web sunucusudur ve HTTP protokolü üzerinden sizin sunmak istediğiniz içeriği karşı tarafa sunar. Yani, gelen isteği işleyerek dönüt oluşturur ve gerekli aktarımı sağlayarak en ideal yere yönlendirir. Peki, web uygulama sunucusu nedir? Web uygulamasının açıklanmasının ardından web uygulama sunucusu daha iyi anlaşılacaktır. Uygulama sunucusu belirli bir uygulamaya ya da yazılıma odaklıdır. Yani uygulama sunucusu belirli bir uygulamanın çalışmasına hizmet eder, onun metotlarını sunarak çalışma mekanizmasını temin eder. Bu iki kavramı daha iyi anlamak için arasındaki temel farklar şöyle sıralanabilir:

  •  Uygulama sunucusunun işleme alanı daha geniştir. Web sunucusu yalnızca HTTP bağlantılarının içeriğini serimlerken, uygulama sunucusu diğer protokoller üzerinden de sunum yapabilir.
     
  • Uygulama sunucusu istemci ile sunucu arasındaki köprüyü sağlamak ile kalmaz. Aynı zamanda, gerçek zamanlı analitik sunabilir. Böylece, 3 katmanlı mimari uygulamalarının iş mantığı bileşeni olur.
     
  •  Web sunucusu tarayıcı sayfalarını sunarken, uygulama sunucusu istemciye yönelik talepler için yöntem sunar.

3 Katmanlı Web Mimarisi

Diğer bir kavrama geçmeden önce bileşenleri tanıtılan konuya yönelik gelebilecek bir soru olan "3 katmanlı web mimarisi nedir?" sorusunu yanıtlamak faydalı olabilir. 3 katmanlı web mimarisi, 3 katmandan oluşan bir web mimarisi türüdür. Bu katmanlar sırasıyla sunum katmanı, iş mantığı katmanı ve veri depolama katmanı olarak adlandırılır. Sunum katmanı kullanıcı arayüzü olarak tanımlanırken, bir önceki başlıkta bahsedildiği gibi uygulama sunucusu iş mantığı katmanında bulur ve veritabanı sunucusu da veri depolama katmanı olarak tanımlanır. Bu mimarinin üç katmanlı olmasının sebebi, modern yazılım uygulamalarının güçlü bir destekleyici gerektirmesidir. İki katmanlı mimarinin destekleyemediği karmaşık yazılımları üç katmanlı modern web mimarisi destekleyebilir.

Database

Sistemlerin devamlılığını sağlayan database, Türkçe karşılığı ile veritabanı anlamına gelir. Database bilgi akışını sağlayan ve sistemlerdek bilgileri kayıt altına alan bir tabandır. Pek çok türü bulunmakla birlikte, database en temelde devasa bir elektronik ortam deposudur. Geliştiriciler tarafından üretilen database dillleri ise PL/SQL, SQL, TCL ve Transact – SQL olarak sıralanır. Bu diller veri sistemini altta karakterize eder ve onlar sayesinde kayıt işlemleri imkanlı hale gelir. Yüklü verinin bulunduğu web sitelerini tek bir sunucudan yönetmek oldukça zor olduğundan, sunucular kümelenerek bir iletişim ağı halinde sunumu gerçekleştirirler. Bu sunucularla ilgili bilgileri sıradaki başlıklarda bulabilirsiniz.

Caching Sunucuları

Caching sunucuları yazılım yüklemelerini hızlandıran bir yapıya sahiptir. İnternet bant genişliğini azaltarak indirme işlemine hız kazandırır. Daha karmaşık web siteleri için tasarlanan sunucu, yoğun zamana ihtiyaç duyan aktarımları içeriğinde muhafaza eder ve sonuç adımına daha hızlı ulaşmayı sağlar. Zaman alan işlem aslında yeniden yapılandırma olduğundan, caching sunucusu bu adım yerine verileri belleğinde saklayarak her seferinde çözümleme işlemi yaparak zaman kaybetmeden sunum yapar. Redis, bu sunuculara örnek olarak verilebilir.

Job Sunucuları

Job sunucuları da tıpkı caching sunucuları gibi karmaşık web siteleri için altyapı sağlar. Bu sunucuların asıl amacı veri girişi olmadan işlemleri arka planda yürütmesidir. Örneğin, bir okuldaki öğrencilerin devamsızlıklarının girilmesinin ardından velilerine direkt mesaj gitmesi job sunucuları sayesinde gerçekleşir. Luigi ve Azkaban bu sunuculara örnek olarak verilebilir.

Arama Servisleri

Konunun son başlığı olan arama servisleri, aslında herkesin yakından tanıdığı bir kavramdır. Arama çubuğuna yazılan kelimeye göre en uygun sonucu öneren servislerdir. Örnek olarak, online bir kahve dükkanının arama çubuğuna f ve i harflerini girdiğinizde, altta öneri olarak filtre kahve sözcüğünün çıkması bu servislerin sayesinde gerçekleşir. Arama servisleri ile pek çok işlem gerçekleştirmek mümkündür.


Daha Fazla

En İyi React Podcastleri Listesi

En İyi React Podcastleri Listesi

Bu blogumuzda, React geliştiricileri için en iyi podcastleri keşfedecek, Techcareer.net'in podcast serisini öğrenecek ve iş ilanlarına nasıl başvuracağınız konusunda bilgi edineceksiniz.
19.04.2024
8 Dakika

TECHCAREER

Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

SOSYAL MEDYA

TwitterInstagramLinkedinYoutubeFacebook

tr


en

Tüm hakları saklıdır
© Copyright 2024
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu Olarak 31/08/2021-30/08/2024 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 17/08/2021 tarih ve 9317662 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26