İlk girişimimde, henüz tek bir müşterimiz yokken yedi servisli bir mimari kurmuştuk. Her biri kendi veritabanına, kendi deploy hattına sahipti. Bir yıl sonra ürünü değil, altyapıyı geliştiriyorduk.
Karmaşıklık bir borçtur
Her yeni bileşen, ödemeye devam edeceğiniz bir faiz gibidir: izlenmesi, güncellenmesi, bozulduğunda anlaşılması gerekir. Küçük bir ekipte bu faiz, ürün geliştirmeye ayrılan zamanın tamamını yiyebilir.
Başlangıçta
Tek uygulama
Tek veritabanı
Basit bir kuyruk (gerekirse)
Gerçekten gerekince
Ölçülmüş darboğaza göre ayrıştırma
Önbellek
Ayrı servisler
Bir örnek
Çoğu zaman ihtiyacımız olan şey, karmaşık bir olay sistemi değil, düzgün yazılmış bir fonksiyondur:
export async function publish(articleId: string) {
const article = await db.articles.get(articleId);
if (article.status !== "approved") throw new Error("Henüz onaylanmadı");
await db.articles.update(articleId, { status: "published", publishedAt: new Date() });
}Sıkıcı teknoloji seçin. Heyecanı ürününüze saklayın.
