01
Protokol Yapısı
Araç bağlantısının standartlaşmasının rollere ve katmanlara ayrılarak sayılması: aynı üç araçlık zincirin protokolsüz tabana karşı ödediği istek, yanıt, zarf belirteci ve gidiş-dönüş ile karşılığında kazanılan taşınabilirliğin kaç istemciyle ölçülmesi, barındırıcı, istemci ve sunucu arasında hangi kalemin hangi rolde durduğu ve rol sınırını geçen her kalemin eklediği mesaj, yerel ile uzak aktarımda istek sayısı sabitken gidiş-dönüşün ikiye katlanması, istek, yanıt ve bildirim türlerinin mesaj başına bedeli ve bildirimin yanıtsız olmasının kazandırdığı ile görünmez kıldığı, beş bildirilen araçtan üçünün anlaşılması, sürüm sapmasının bir sunucunun tamamını hiçbir hata üretmeden düşürmesi ve izin listesinin ayrıca düşürdüğü araç.
- 01 Model Bağlam Protokolü Nedir Araç tanımının çağıran tarafın kodundan çıkıp bir sunucuya taşınmasının sayılması: üç kurgu sunucu beş araç bildirir, istemcinin izin listesi dört araç taşır ve yetenek uzlaşması sonrası anlaşılan küme üç araçta kalır. Aynı üç araçlık zincir protokolsüz tabanda 844 sonucunu sıfır mesaj, sıfır zarf belirteci ve sıfır gidiş-dönüşle üretir; protokollü kurulumda aynı 844 için 6 istek, 6 yanıt, 179 zarf belirteci ve 9 gidiş-dönüş ödenir. Bağlantıyı kurmak işi yapmaktan pahalıdır: el sıkışması 99 belirteç, zincirin kendisi 80 belirteç tutar ve el sıkışmasının 2 mesajı ile 2 gidiş-dönüşü hiçbir araç kazandırmayan bir sunucuya gider. Karşılığında kazanılan taşınabilirlik de sayılır: dört istemcide protokolsüz kurulum 20 araç tanımı yazdırır ve arayüz değiştiğinde dört yeri kırar, protokollü kurulum 5 tanımı tek yerde tutar ve karşılığında istemci başına 6 mesaj ile 99 zarf belirteci ister.
- 02 Barındırıcı, İstemci ve Sunucu Üç rolün sorumluluk dağılımının mesajla sayılması: on kalem üç role dağıtılır, doğru dağılım hiçbir uzlaşma mesajı gerektirmez ve rol sınırını geçen her kalem kapsamı ile uzaklığının çarpımı kadar mesaj ekler. Barındırıcı ile sunucu hiç doğrudan konuşmadığı için aralarındaki uzaklık iki, istemciyle olan uzaklık birdir; araç tanımı barındırıcıya taşınınca 12, istemciye taşınınca 6 mesaj eklenir, izin listesi sunucuya taşınınca 12, bağlam ve durum sunucuya taşınınca 2 mesaj eklenir. On kalemin tamamı tek rolde toplandığında barındırıcıda 51, sunucuda 45, istemcide 33 mesaj birikir, doğru dağılımda ise sıfır. Aynı üç araçlık zincir doğru dağılımda 6 istek, 6 yanıt, 179 zarf belirteci ve 9 gidiş-dönüş tutarken oturum sunucuya kaydığında 9, 9, 254 ve 12 olur, izin listesi sunucuya kaydığında 12, 12, 341 ve 15 olur; iki farklı abonenin koşumu aynı sayımı verir.
- 03 Aktarım Katmanı Yerel ve uzak aktarımın aynı iş yükünde gidiş-dönüş cinsinden karşılaştırılması: aynı üç araçlık zincir üç aktarım kurulumunda da 844 sonucunu, 6 istek, 6 yanıt ve 179 zarf belirteciyle üretir, ama gidiş-dönüş hepsi yerelde 6, karışımda 9, hepsi uzakta 12 olur. İstek sayısı sabitken gidiş-dönüş tam iki katına çıkar ve zarfın belirteç sayısı hiç değişmez; aktarım araç tanımını, işleyiciyi ve sonucu değiştirmez, yalnız fiyatını değiştirir. On iki abonelik bir partide istek 39'da sabit kalırken gidiş-dönüş 39'dan 78'e çıkar ve fark tam olarak istek sayısı kadardır. Sürüm sapmasıyla düşen kayit sunucusu için de aktarım ödenir: hiçbir araç kazandırmayan bu sunucu yerelde 1, uzakta 2 gidiş-dönüş tüketir. Bu ders kursun ikinci iddiasının ilk örneğidir: standartlaştırmak da bozar.
- 04 Veri Katmanı İstek, yanıt ve bildirim mesajlarının bedelinin sayılması: sekiz abonelik bir toplu iş protokolsüz kurulumda 24 işlev çağrısı, sıfır mesaj ve sıfır zarf belirteciyle biterken protokollü kurulumda 48 mesaja, 640 belirtece ve 32 gidiş-dönüşe çıkar ve 640 belirtecin 384'ü yalnız zarftır. Aynı ilerleme bilgisi istek-yanıt çiftiyle taşındığında toplam 1147 belirteç ile 80 gidiş-dönüş, bildirim olarak taşındığında 976 belirteç ile 32 gidiş-dönüş eder; bildirim 19 mesaj ve 48 gidiş-dönüş kazandırır. Bedeli, hatta düşen beş bildirimin gönderen tarafta hiçbir iz bırakmamasıdır: aynı kayıp istek-yanıt tasarımında beş eksik yanıt olarak görünür, bildirimde görülen kayıp iki koşumda da sıfırdır.
- 05 Sunucu Yetenekleri Bildirilen yetenek ile anlaşılan yetenek arasındaki farkın sayılması: üç kurgu sunucu 5 araç, 2 kaynak ve 1 istem bildiriyor, istemcinin izin listesi 4 araç taşıyor ve el sıkışmasından yalnız 3 araç çıkıyor. İki koşum aynı bedeli ödüyor — 3 istek, 3 yanıt, 99 belirteç, 5 gidiş-dönüş ve 0 hata — ama sonuçları ayrışıyor: sürümler hizalıyken 4 araç anlaşılıyor ve izin listesi kayit_yaz aracını kasten düşürüyor, sürüm sapmalıyken kayit sunucusunun tamamı düşüyor ve izin listesinde bulunan bolge_ozet aracı hiçbir hata üretmeden kayboluyor. Bir sunucunun düşmesi araçlarıyla birlikte kaynak ve istem bildirimlerini de götürüyor; olcum düşerse anlaşılan araç 2'ye iniyor. İki kayıp aynı hata metnini veriyor, biri kasıt biri kazadır.