Skip to main content

> Terim

Capability Boundary

Bir sistemin veya ekibin sorumluluklarının mantıksal sınırı; neyi yapıp neyi yapamayacağını tanımlar.

Detaylı Açıklama

Microservice'lerde ve Domain-Driven Design (DDD) yaklaşımında capability boundary'ler tightly coupled (sıkı sıkıya bağlı) yapıları engeller. Örneğin bir ödeme servisinin, sırf "kodu oraya yazmak daha hızlıydı" diye kullanıcı kimlik doğrulaması (authentication) işlemlerini yapmaya başlamamasını sağlar.

Bu sınırları bulanıklaştırmak, bir microservice mimarisini distributed monolith'e çevirmenin en hızlı yoludur.

Neden Önemli?

Net sınırlar, ekiplerin birbirinden bağımsız deployment yapabilmesini ve sistemlerin cascading failure (zincirleme hata) yaşamadan ölçeklenebilmesini sağlar.

Yaygın Hata Senaryosu

Başka domain'lerin sorumluluklarını yavaş yavaş emerek "single point of failure" (tek hata noktası) haline gelen "God service"ler (her şeyi yapan servisler) yaratmak.

Pratik Örnek

Bir developer'ın kullanıcı kayıt olduğunda hoşgeldin e-postası göndermesi gerekir. Email servisinin consume etmesi için bir "UserRegistered" event'i fırlatmak yerine, email kütüphanesini doğrudan user servisine import ederek capability boundary'yi ihlal eder.

Prodüksiyon Yansıması

Bildirim servisindeki bir bug'ın, aynı veritabanı tablolarını paylaştıkları için ödeme altyapısını da çökertmesi.

Sıkça Sorulan Sorular

Capability Boundary kısaca nedir?

Bir sistemin veya ekibin sorumluluklarının mantıksal sınırı; neyi yapıp neyi yapamayacağını tanımlar.

En sık karşılaşılan hata nedir?

Başka domain'lerin sorumluluklarını yavaş yavaş emerek "single point of failure" (tek hata noktası) haline gelen "God service"ler (her şeyi yapan servisler) yaratmak.

AI Özeti

Bir sistemin veya ekibin sorumluluklarının mantıksal sınırı; neyi yapıp neyi yapamayacağını tanımlar. Net sınırlar, ekiplerin birbirinden bağımsız deployment yapabilmesini ve sistemlerin cascading failure (zincirleme hata) yaşamadan ölçeklenebilmesini sağlar.