Dağıtık sistemler okuma listesi
Giriş
- Dağıtık sistemlerde en zor şey, düşünme biçimini değiştirmektir.
- Bu liste, böyle bir dönüşümü teşvik etmeye yardımcı olan kaynakları bir araya getiriyor.
Düşünceyi tetikleyen kaynaklar
- Büyük ölçekli sistem tasarımına yeni bakış açıları sunan yazılar derlemesi.
- Harvest, Yield and Scalable Tolerant Systems: CAP teorisinin pratik uygulaması.
- On Designing and Deploying Internet Scale Services: İnternet ölçeğinde hizmetlerin tasarımı ve devreye alınması.
- The Perils of Good Abstractions: Kusursuz API/arayüzler kurmanın zorlukları.
- Chaotic Perspectives: Büyük ölçekli sistemlerin öngörülemezliği ve paralelliği.
- Data on the Outside versus Data on the Inside: Veri yönetimine yönelik iki yaklaşım.
- Memories, Guesses and Apologies: Veri işlemedeki belirsizlikler.
- SOA and Newton's Universe: Servis odaklı mimariye felsefi bir yaklaşım.
- Building on Quicksand: Kararsız bir temel üzerinde sistem kurmak.
- Why Distributed Computing?: Dağıtık bilişimin gerekliliği.
- A Note on Distributed Computing: Dağıtık bilişimin temel kavramları.
- Stevey's Google Platforms Rant: Google'ın SOA platformu deneyimi.
Gecikme
- Gecikmenin varlığı ve onunla başa çıkma yöntemleri.
- Latency Exists, Cope!: Gecikmenin mimari etkisi.
- Latency - the new web performance bottleneck: Web performansındaki yeni darboğaz.
- The Tail At Scale: Büyük ölçekli sistemlerde gecikme sorunu.
Amazon
- Teknolojiden çok Amazon'un kültürü ve organizasyonuna dair ilgi çekici içerikler.
- A Conversation with Werner Vogels: Servis tabanlı mimariye geçiş.
- Discipline and Focus: Amazon'un mimari dönüşümüne dair ek bilgiler.
- Vogels on Scalability: Vogels'in ölçeklenebilirlik hakkındaki görüşleri.
Google
- Dağıtık sistemlerde en güncel teknolojiler.
- MapReduce: Büyük ölçekli veri işleme modeli.
- Chubby Lock Manager: Dağıtık kilit yönetimi.
- Google File System: Büyük ölçekli dosya sistemi.
- BigTable: Dağıtık depolama sistemi.
- Data Management for Internet-Scale Single-Sign-On: Büyük ölçekli tek oturum açma için veri yönetimi.
- Dremel: Web ölçeğindeki veri kümelerinin etkileşimli analizi.
- Large-scale Incremental Processing Using Distributed Transactions and Notifications: Dağıtık işlemler yoluyla büyük ölçekli artımlı işleme.
- Megastore: Etkileşimli hizmetler için ölçeklenebilir ve yüksek erişilebilirlikli depolama.
- Spanner: Küresel dağıtık veritabanı.
- Photon: Sürekli veri akışlarının birleştirilmesi.
- Mesa: Gerçek zamanlı veri ambarı sistemi.
Tutarlılık modelleri
- Sistem tasarımında tutarlılık ile erişilebilirlik arasında denge kurmak.
- CAP Conjecture: Tutarlılık, erişilebilirlik ve bölüm toleransı arasındaki ödünleşim.
- Consistency, Availability, and Convergence: Tutarlılığın üst sınırları.
- CAP Twelve Years Later: CAP teorisindeki değişim.
- Consistency and Availability: Tutarlılık ve erişilebilirlik ilişkisi.
- Eventual Consistency: Eninde sonunda tutarlılık.
- Avoiding Two-Phase Commit: İki aşamalı commit'ten kaçınma yöntemleri.
- 2PC or not 2PC, Wherefore Art Thou XA?: İki aşamalı commit'in sınırları.
- Life Beyond Distributed Transactions: Dağıtık işlemlerin ötesinde veri yönetimi.
- If you have too much data, then 'good enough' is good enough: NoSQL ve veri teorisinin geleceği.
- Starbucks doesn't do two phase commit: Asenkron mekanizmalar.
- You Can't Sacrifice Partition Tolerance: Bölüm toleransının önemi.
- Optimistic Replication: Gevşek tutarlılık yaklaşımı.
Teori
- Dağıtık sistem tasarımının önemli unsurlarını açıklayan makaleler.
- Distributed Computing Economics: Dağıtık bilişimin ekonomisi.
- Rules of Thumb in Data Engineering: Veri mühendisliğinde temel pratik kurallar.
- Fallacies of Distributed Computing: Dağıtık bilişimin safsataları.
- Impossibility of distributed consensus with one faulty process: FLP teorisi.
- Unreliable Failure Detectors for Reliable Distributed Systems: Güvenilir dağıtık sistemler için güvenilir olmayan hata algılayıcıları.
- Lamport Clocks: Dağıtık sistemlerde zaman senkronizasyonu.
- The Byzantine Generals Problem: Bizans generalleri problemi.
- Lazy Replication: Dağıtık hizmetlerin anlamsallığından yararlanma.
- Scalable Agreement: Hizmet olarak sıralama.
- Scalable Eventually Consistent Counters over Unreliable Networks: Güvenilmez ağlarda ölçeklenebilir, eninde sonunda tutarlı sayaçlar.
Diller ve araçlar
- Belirli teknolojiler kullanılarak dağıtık sistem kurmanın zorlukları.
- Programming Distributed Erlang Applications: Erlang ve OTP ile dağıtık uygulamalar geliştirme.
Altyapı
- İnternette sağlam zamanlama yönetimi ilkeleri.
Depolama
- Consistent Hashing and Random Trees: Tutarlı hashing ve rastgele ağaçlar.
- Amazon's Dynamo Storage Service: Amazon'un depolama hizmeti.
- Paxos Consensus: Paxos algoritmasını anlamak.
- The Part-Time Parliament: Paxos'un temelleri.
- Paxos Made Simple: Paxos'un sade bir açıklaması.
- Paxos Made Live: Paxos'a mühendislik bakış açısı.
- Revisiting the Paxos Algorithm: Paxos algoritmasını yeniden değerlendirme.
- How to build a highly available system with consensus: Mutabakat ile yüksek erişilebilirlikli sistem kurmak.
- Reconfiguring a State Machine: Bir durum makinesini yeniden yapılandırma.
- Implementing Fault-Tolerant Services Using the State Machine Approach: Durum makinesi yaklaşımıyla hata toleranslı hizmetler uygulama.
Diğer mutabakat makaleleri
- Mencius: WAN için verimli çoğaltılmış durum makineleri kurma.
- In Search of an Understandable Consensus Algorithm: RAFT algoritmasının genişletilmiş sürümü.
Söylenti protokolleri (Epidemic Behaviours)
- Söylenti tabanlı iletişim protokollerinin gücü.
- Astrolabe: Dağıtık sistem izleme ve veri madenciliği tekniği.
- Epidemic Computing at Cornell: Cornell Üniversitesi'nde epidemik bilişim.
- Fighting Fire With Fire: Rastgele söylenti kullanarak ölçeklenebilirlik sınırlarını aşmak.
- Bi-Modal Multicast: İki modlu multicast.
- ACM SIGOPS Operating Systems Review: Söylenti tabanlı ağ iletişimi.
- SWIM: Ölçeklenebilir, zayıf tutarlılığa sahip enfeksiyon tarzı süreç grubu üyelik protokolü.
P2P
- Chord: İnternet uygulamaları için ölçeklenebilir peer-to-peer arama protokolü.
- Kademlia: XOR metriğine dayalı peer-to-peer bilgi sistemi.
- Pastry: Büyük ölçekli peer-to-peer sistemler için dağıtık nesne konumlandırma ve yönlendirme.
- PAST: Pastry üzerine kurulmuş büyük ölçekli kalıcı peer-to-peer depolama aracı.
- SCRIBE: Pastry üzerine kurulmuş büyük ölçekli dağıtık uygulama seviyesinde multicast altyapısı.
GN⁺ özeti
- Dağıtık sistemler, karmaşık problemleri çözmek için düşünme biçiminin değişmesini gerektiren bir alandır.
- Çeşitli kaynaklar ve makaleler aracılığıyla dağıtık sistemlerin tasarımı ve uygulanmasına dair derin bir anlayış sunar.
- Bu liste, dağıtık sistemlerin çeşitli yönlerini ele alırken özellikle tutarlılık modelleri ve gecikme sorunları hakkında içgörü sağlar.
- Dağıtık sistemlerle ilgilenen geliştiriciler ve araştırmacılar için yararlı bir kaynak olabilir.
- Benzer işlevlere sahip projeler olarak Apache Kafka ve Apache Cassandra önerilir.
Henüz yorum yok.