- Veri dağıtımı
- Dağıtılmış sistemlerin özellikleri
- uygunluk
- Hata toleransı
- Ara yazılım ve API
- Mimari
- İstemci-sunucu mimarisi
- Eşler arası mimari
- Çok seviyeli mimariler
- İşlemci grubu mimarisi
- Dağıtılmış sistem türleri
- Küme hesaplama
- Ağ bilişim
- Bulut bilişim
- hedefler
- Kaynakları paylaşın
- Soyutlama
- Açılış
- Birlikte çalışabilirlik ve taşınabilirlik
- Ölçeklenebilirlik
- Uygulamalar
- Erlang sanal makine
- Bittorrent
- avantaj
- Dezavantajları
- Dağıtılmış sistem örnekleri
- StackPath
- İnternet
- Referanslar
Dağıtık sistemler yazılım adet birden çok bilgisayarda eylemlerini koordine etmek kullanılmaktadır. Bu koordinasyon, mesaj alışverişi yoluyla, yani bilgi ileten veri parçalarıyla sağlanır.
Dağıtılmış sistemler, eşzamanlı bileşenler, bir iletişim ağı ve bir senkronizasyon mekanizması gerektirir. Bir ağa bağlı sistemler tarafından yazılım dahil olmak üzere kaynakların paylaşılmasına izin verirler. Bu nedenle, sistem, bilgisayarları birbirine bağlayan ve mesajların yönlendirilmesini yöneten bir ağa dayanmaktadır.
a ve b (dağıtılmış sistemler). b (paralel sistem). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Dağıtılmış hesaplama, dağıtılmış sistemleri analiz etmekten sorumlu bir bilgi işlem alanıdır. Dağıtık bir sistemde çalışan bilgisayar programına dağıtılmış program denir.
Büyük internet şirketlerinde yaygın bir oran olan yüzlerce veya binlerce bilgisayarın olabileceği bir bağlamda, donanım, ağ, disk vb. Bileşen arızalarının olması çok yaygındır ve sistemin olması gerekir her zaman onlarla yüzleşmeye hazır.
Veri dağıtımı
Dağıtım, çok büyük veri gruplarını idare edebilmenin anahtarıdır. Veri havuzları sisteme yeni kaynaklar ekleyerek büyüdüğünde istikrarlı performansı sürdürmenin yolu olan ölçeklenebilirlik için gereklidir.
Öte yandan, dağıtım, dağıtılmış bilgi işlem ve depolamanın tasarımını ve uygulamasını dikkate almayı önemli kılan bir dizi teknik problem sunar. Dikkate alınması gereken bir nokta, olası arıza riskidir.
Dağıtılmış sistemlerin özellikleri
a ve b (dağıtılmış sistemler). b (paralel sistem). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
uygunluk
Cihazlar farklı işletim sistemleriyle çalışabilir. Bu, kullanıcılara her zaman aynı hizmetleri sunmalarını engellemez. Bu nedenle tüm bağlı cihazlar birbiriyle uyumludur.
Bir diğer temel konu da yazılımın tasarımıdır, çünkü aynı zamanda her bilgisayardaki tüm sistemler ve kullanıcılar ile uyumludur.
Hata toleransı
Birçok bilgisayarın olduğu tek bir ağ olduğundan, bileşenlerinden herhangi biri arızalanırsa, diğerleri, hataları hızla önleyerek işlevlerini tam olarak yerine getirmeye devam edebilir.
Bu nedenle, dağıtılmış sistemler, onlarla çalışırken çok fazla güven sağlama eğilimindedir, çünkü sistemin tamamen başarısız olması oldukça nadirdir, çünkü görevler tek bir cihazda değil, farklı bilgisayarlarda bulunur.
Ara yazılım ve API
Farklı işlemciler, kullanıcılara tutarlı ve entegre bir ağ sağlamak için farklı kaynakların ve yeteneklerin paylaşılmasına yardımcı olan dağıtım ara yazılımını kullanır. Ayrıca uygulamalara güvenlik ve çökme kurtarma gibi bir dizi hizmet sağlar.
Günümüzde, uygulamaların iletişim kurabildiği bir ağ geçidi olarak işlev gören uygulama programlama arabirimleri (API'ler) hakkında daha fazla şey duyarsınız. Uygulamaların, API'leri dışında diğer uygulamalar hakkında hiçbir şey bilmelerine gerek yoktur.
Mimari
İstemci-sunucu mimarisi
Sunucu adı verilen belirli bir bilgisayar, hizmetler adı verilen belirli görevleri gerçekleştirebilir. Örneğin, ağ üzerinden dosya sunma, belirli komutları yürütme veya verileri bir yazıcıya yönlendirme. İstemci, hizmetleri talep eden bilgisayardır.
Öncelikle sağladığı hizmetle tanınan bilgisayar, yazdırma sunucusu, dosya sunucusu vb. Olarak adlandırılabilir.
Eşler arası mimari
Her bilgisayarın benzer yeteneklere sahip olduğunu ve hiçbir makinenin diğerlerine hizmet etmeye adanmadığını varsayar. Buna bir örnek, küçük bir ofisteki bir dizi mikro bilgisayardır.
Ağ, kişilerin birbirlerinin dosyalarına erişmesine ve e-posta göndermesine izin verir, ancak hiçbir bilgisayar belirli bir hizmet kümesi sağlamaz.
Çok seviyeli mimariler
Bazı hizmetler için hiyerarşik bağlantıya sahip olmak mantıklı olabilir. Örneğin:
- Bir sunucu, görevlerini yerine getirirken farklı türde başka bir sunucuya başvurabilir
- İstemci-sunucu mimarisi iki katmanlı bir mimaridir.
İşlemci grubu mimarisi
Bir işletim sistemi, boştaki bilgisayarlardaki işlemleri otomatik olarak başlatabilir ve hatta işlemleri daha yüksek sayıda kullanılabilir CPU döngüsü olan sistemlere taşıyabilir. Diğer durumlarda, bir kullanıcı mevcut sistemlerdeki işlemleri manuel olarak başlatabilir veya taşıyabilir.
Dağıtılmış sistem türleri
Küme hesaplama
Yüksek hızlı bir yerel alan ağı üzerinden bağlanan benzer bilgisayarların bir koleksiyonudur. Sıklıkla paralel programlama için kullanılır, burada tek bir yoğun bilgi işlem programı birden çok bilgisayarda paralel olarak çalışır.
Her küme, ana olarak adlandırılan bir veya daha fazla düğüm tarafından izlenen ve yönetilen bir dizi işlem düğümünden oluşur.
Ağ bilişim
Donanım ve ağ teknolojisinde belirgin farklılıklara sahip düğümlerden oluşur. Belirli görevler için belirli bir düğüm yapılandırmasına sahip olma yönündeki mevcut eğilim, ağ hesaplamasında en yaygın olan daha fazla çeşitliliğe yol açmıştır.
Bulut bilişim
Bir bulut sağlayıcısının veri merkezinde barındırılan sanallaştırılmış kaynaklar kümesidir. Müşteriler, çeşitli bulut hizmetlerinden yararlanmak için sanallaştırılmış bir altyapı kurabilir.
Kullanıcıya, kendi özel bilgisayarını kiraladığı anlaşılıyor. Ancak, aslında bunu diğer müşterilerle paylaşmanız muhtemeldir. Aynısı sanal depolama için de geçerlidir.
Bu sanallaştırılmış kaynaklar dinamik olarak yapılandırılabilir ve böylece ölçeklenebilirliğe izin verilir. Daha fazla bilgi işlem kaynağına ihtiyaç duyulursa, sistem daha fazlasını satın alabilir.
hedefler
Kaynakları paylaşın
Depolama tesisleri, veri dosyaları, hizmetler veya ağlar, bu kaynakları ekonomi adına uygulamalar arasında paylaşmak isteyebilirsiniz.
Birden çok uygulama arasında paylaşılan bir depolama tesisine sahip olmak, her biri için ayrı ayrı depolama satın almak ve sürdürmek zorunda olmaktan çok daha ucuzdur.
Soyutlama
Süreçlerin ve kaynakların muhtemelen coğrafi olarak dağılmış birkaç bilgisayara dağıtıldığı gerçeğini gizlemek için. Yani süreçler ve kaynaklar kullanıcıdan soyutlanmıştır.
Açılış
Temel olarak, dağıtılmış bir sistemin diğer sistemlerle kolayca entegre edilebilen öğelerle inşa edildiğini gösterir. Standartlaştırılmış kurallara uyarak, bu arayüzle herhangi bir süreç aynı arayüzle başka bir süreçle iletişim kurabilir.
Birlikte çalışabilirlik ve taşınabilirlik
Farklı üreticilerin iki sisteminin birlikte çalışabileceği zamanı ifade eder. Taşınabilirlik, A sistemi için yapılan bir uygulamanın B sistemi üzerinde değişiklik yapmadan ne ölçüde çalışabileceğini belirler.
Ölçeklenebilirlik
Daha fazla kaynağa ihtiyaç duyan kullanıcılarda artış olduğunda gereklidir. Her Cuma akşamı Netflix izleyicisinin artması buna iyi bir örnek.
Daha fazla video aktarımına izin vererek ağ kapasitesini artırmak ve tüketim normalleştikten sonra bunu azaltmak gibi dinamik olarak daha fazla kaynak eklemek anlamına gelir.
Uygulamalar
Erlang sanal makine
LYME yazılım paketi Erlang tabanlıdır ve LAMP'a bir alternatif sunar. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang, eşzamanlılık, dağıtım ve hata toleransı için harika anlamlara sahip işlevsel bir dildir. Bir Erlang sanal makinesi, bir Erlang uygulamasının dağıtımını yönetir.
Bu model, tümü yerleşik bir mesajlaşma sistemi aracılığıyla birbirleriyle iletişim kurma becerisine sahip birçok izole işleme sahip olarak çalışır.
Erlang sanal makinesi, farklı yerlerdeki diğer sanal makinelere bağlanabilir. Bu sanal makine topluluğu, tek bir uygulamayı çalıştırarak, bir makinenin arızalarını başka bir düğümde çalışacak şekilde programlayarak ele alır.
Bittorrent
BitTorrent ağ operasyonu. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Web'de büyük dosyaları aktarmak için en yaygın kullanılan protokollerden biridir. Ana fikir, bir ana sunucudan geçmek zorunda kalmadan ağdaki farklı eşler arasında dosya aktarımını kolaylaştırmaktır.
Bir BitTorrent istemcisi kullanarak, bir dosyayı indirmek için dünya çapında birden fazla bilgisayara bağlanabilirsiniz. Koordinatör olarak görev yapan bir bilgisayar, istenen dosyaya sahip ağdaki düğümleri göstermeye yardımcı olur.
BitTorrent, dosyaları gönüllü olarak barındırmanıza ve isteyen diğer kullanıcılar için yüklemenize olanak tanır. Ağa katkıda bulunmak için teşvikler sunan türünün ilk örneği olduğu için çok popüler.
avantaj
- Dağıtık sisteme kolaylıkla daha fazla düğüm eklenebilir, yani gerektiğinde ölçeklendirilebilir.
- Dağıtılmış sistemdeki tüm düğümler birbirine bağlıdır. Bu nedenle, düğümlerin her biri verileri diğer düğümlerle kolayca paylaşabilir.
- Yazıcılar gibi kaynaklar, tek bir düğümle sınırlanmak yerine birden çok düğümle paylaşılabilir.
- Bir düğümün arızalanması, tüm dağıtılmış sistemin arızalanmasına yol açmaz. Diğer düğümler hala birbirleriyle iletişim kurabilir.
Dezavantajları
- Bir düğümden diğerine geçerken ağda bazı mesajlar ve veriler kaybolabilir.
- Dağıtık sistemlerde yeterli güvenliği sağlamak zordur çünkü hem düğümler hem de bağlantılar güvenli olmalıdır.
- Dağıtılmış sistemdeki tüm düğümler aynı anda veri göndermeye çalışırsa ağ aşırı yüklenmesi meydana gelebilir.
- Dağıtık sistemlere bağlı veritabanı, tek kullanıcılı bir sisteme kıyasla oldukça karmaşık ve yönetimi zordur.
Dağıtılmış sistem örnekleri
Dağıtılmış sistemler, elektronik bankacılık sistemleri, çok oyunculu çevrimiçi oyunlar ve sensör ağları gibi çok sayıda durumda kullanılabilir.
StackPath
İçerik dağıtım ağı hizmetini güçlendirmek için özellikle büyük bir dağıtılmış sistem kullanır. Varlık noktalarının (PoP) her biri, dünya çapında dağıtılmış bir sistem oluşturan düğümlere sahiptir.
StackPath, en son ve en sık talep edilen içeriği, kullanılan siteye en yakın konumlarda depolar.
Son teknoloji bilgi işlemin hızından ve çevikliğinden yararlanmanın yanı sıra, sanal bilgisayarları birbirine bağlayarak, sistem binlerce eşzamanlı isteği çok hızlı bir şekilde karşılayabilir.
İnternet
Dünyadaki en büyük dağıtılmış sistemdir. Milyonlarca bilgisayardan oluşmasına rağmen herhangi bir kullanıcı tek bir sistem gibi hisseder.
Soyutlama kavramı sayesinde, verilerin nerede depolandığı, kaç sunucunun dahil olduğu veya bilgilerin tarayıcıya nasıl ulaştığı hakkında hiçbir fikriniz yok. Tarayıcı, İnternet'in karmaşıklığını ortadan kaldırır.
Bu, Gmail e-postası veya kullanılabilecek diğer uygulamalar gibi uygulamalar için de geçerlidir. Her kişi günlük olarak dağıtılmış uygulamalarla etkileşime girer.
Referanslar
- Paul Krzyzanowski (2018). Dağıtık Sistemler. Alınan: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Dağıtılmış Sistemler ve Bulut Yerel Hesaplama. Yeni Yığın. Alındığı kaynak: thenewstack.io.
- Uluslararası Valencia Üniversitesi (2020). Dağıtık sistemler, özellikler ve sınıflandırma. Alındığı: universidadviu.com.
- David Meador (2018). Dağıtık Sistemler. Öğreticiler Noktası. Alınan: tutorialspoint.com.
- Robert Gibb (2019). Dağıtılmış Sistem nedir? Alınan: blog.stackpath.com.
- Stanislav Kozlovski (2018). Dağıtık Sistemlere Kapsamlı Bir Giriş. Ücretsiz Kod Kampı. Freecodecamp.org sitesinden alınmıştır.