Eşler arası, uygulama paketlerinin nasıl yol aldığını anlatır, fazlasını değil. Eşler yine de birbirini bulmak, kim olduklarını kanıtlamak ve bazen doğrudan bir yol kurulamadığında bir aktarıcıya başvurmak zorundaydı. Bunlar üç ayrı hizmettir ve bir dağıtım veriler için eşler arası olabilirken diğer her şey için tamamen merkezileşmiş olabilir. Tasarımları karşılaştırmak bu işleri karşılaştırmak demektir, şemadaki oku değil.

Merkezi bir yönlendirme oku olmayan bir şema, bir kayıt otoritesini, bir keşif hizmetini ve bir aktarıcıyı gizleyebilir; bunların hepsi operasyonel bağımlılıklardır.

Doğrudan yol, ortak denetim düzlemi

Paketleri doğrudan değiş tokuş eden iki makine yine de sertifikalarını veren ortak bir otoriteye ve her birine diğerinin nerede olduğunu söyleyen bir hizmete bağımlı olabilir. İki rolden hiçbiri uygulama trafiğini yönlendirmez, bu yüzden topoloji çizimi onları atlar. O otorite veya hizmet kapalıyken mevcut oturumlar sürebilir, ancak yeni bir eş katılamaz. Bir oturumu başlatmak ile sürdürmek arasındaki fark, herhangi bir tasarıma sorulacak ilk sorudur.

Tek bir ana makine hepsini yapsa bile her işi ayrı çizin. Aksi halde çizim merkeziyetsiz bir veri düzlemi gösterir ve her yeni eşin aynı iki hizmete ihtiyaç duyduğu operasyonel gerçeği gizler.

Keşif, güven ve aktarıcı üç iştir

Nebula’nın tasarımı yararlı bir örnektir çünkü belgeleri bunları ayrı tutar. Ana makineler kimlik için sertifika taşır, deniz fenerleri nerede sorusunu yanıtlar ve NAT geçişine yardımcı olur, aktarıcılar ise doğrudan bir yol kurulamadığında trafiği iletir. Aktarıcı rolü, deniz feneri rolünden bilinçli olarak ayrıdır, bu yüzden erişilebilir bir deniz feneri belirli bir çiftin konuşabileceğini vaat etmez. Diğer ürünler sınırları başka yerde çizer, bu yüzden bu bir şablon değil, örnektir.

Önerilen bir dağıtım için doğrudan bağlanamayan bir çift için desteklenen yedek yolu yazın. Başarısız bir delik açma, tek bir ağ hakkında tek bir veri noktasıdır, NAT arkasındaki iki eşin asla buluşamayacağının kanıtı değildir; tersi iddia, yani doğrudan bağlantının her türlü politikada çalıştığı, aynı ölçüde dayanaksızdır.

Her bağımlılık neye göre başarısız olur

Test edilen bağımlılık kullanılamazken dört durumu ayrı ayrı değerlendirin: eşler arasındaki mevcut trafik, tamamen yeni bir eş bağlantısı, uç noktası değişmiş bir eş ve yeni iptal edilmiş erişim. Her biri farklı hizmetlere dayanır ve farklı şekilde başarısız olur. Mevcut oturumlar bir keşif kesintisini atlatabilirken iptal edilmiş bir anahtar yine de reddedilir ve yeni bir eş yönlendirmeyle hiçbir ilgisi olmayan nedenlerle başarısız olabilir. Bunları tek tek test edin, tek bir durumdan sonuç çıkarmayın.

Tek bir kesintiyi atlatan bir bağlantı süresiz bağımsızlık kurmaz. Sizin yol açtığınız kesintinin o yolu bozan kesinti olmadığını ortaya koyar; bu, neye yol açtığınızı yazdığınız sürece hâlâ yararlı bir bilgidir.

Hangi kesintiyi atlatabileceğinizi sorun

Benzer görünen gereksinimler farklı tasarımlara yol açar. Tek bir yönlendirme darboğazından kaçınmak, bir sağlayıcı tarafından barındırılan denetim düzleminden kaçınmakla aynı şey değildir ve hiçbiri bir koordinatör kapalıyken çalışmayı sürdürmeye karşılık gelmez. Dağıtımın bu üçünden hangisini karşılaması gerektiğini adlandırın, sonra eşlemeyi denetleyin. Birincisini karşılayıp ikincisinde başarısız olan tasarım yaygındır ve kimse onu tamamen merkeziyetsiz olarak adlandırmadığı sürece dürüstlükten yoksun değildir.

Keşfi, güveni ve aktarıcıları kimin işlettiğini ve her birinin nasıl değiştirildiğini yazın. O kayıt, bir sonraki kişinin gerçek bir soruya yanıt vermesini sağlar: bu ağ hangi arızalara dayanır ve paylaşılan kalan durumu kim korur?

Merkeziyetsiz sözcüğü bu arızaları adlandırdığında yerini kazanır. O liste olmadan bir sistemi değil, bir şemayı tanımlar.

İlgili makaleler