Keterlambatan antrean melonjak dari ~200ms menjadi 1.8s selama beberapa jam. Tidak ada peringatan yang muncul pada awalnya—semuanya secara teknis “dalam batas.” Tapi terasa tidak tepat.
Sekilas, tampaknya seperti masalah throughput. Lebih banyak lalu lintas, mungkin kontrak yang bising atau lonjakan aktivitas pengguna. Namun, setelah menggali buku panduan dan jejak, masalah sebenarnya bukanlah beban. Itu adalah penyimpangan koordinasi. Beberapa pembaruan kebijakan terkait validasi transaksi telah menambah pemeriksaan tambahan—tidak ada yang besar secara individu. Tapi mereka tidak disinkronkan di seluruh layanan.
Satu layanan mulai menerapkan aturan persetujuan yang lebih ketat. Lainnya masih menganggap alur lama. Jadi permintaan mulai berputar—pengulangan lembut, pengakuan tertunda, penundaan diam. Tidak ada kegagalan keras, hanya gesekan. Jenis yang tidak mengganggu Anda tetapi memperlambat segalanya.
Tim bereaksi seperti biasa. Tinjauan manual meningkat. Penyesuaian sementara ditambahkan. Seseorang menyesuaikan prioritas antrean untuk “mengeluarkan” hal-hal. Itu berhasil, semacam, tetapi menambah lebih banyak variasi. Sekarang jalur yang berbeda memiliki perilaku yang berbeda tergantung pada waktu.
Perbaikannya bukanlah penskalaan infrastruktur. Itu adalah memperketat proses. Kami menyelaraskan kebijakan validasi, membersihkan asumsi yang sudah usang, dan menambahkan mode kegagalan eksplisit alih-alih pengulangan implisit. Kami juga mengarahkan beberapa ini melalui $ROBO untuk menstandarisasi jalur eksekusi—lebih sedikit ruang untuk penyimpangan.
Pelajarannya sederhana, tetapi mudah dilupakan: sistem tidak rusak dengan bersih. Mereka memburuk melalui ketidakkonsistenan kecil. Dan itu lebih sulit untuk dilihat.
$ROBO @Fabric Foundation #ROBO
