BFF ve API Gateway Farkları: Hangisi Ne Zaman Kullanılmalı

BFF ve API ağ geçidi, açıklandı: BFF, ön uç başına veriyi şekillendirir; bir ağ geçidi ise kimlik doğrulama, yönlendirme ve hız sınırlamasını merkezileştirir. Birini, ikisini birden veya hiçbirini ne zaman kullanmalı.

Ashley Innocent

Ashley Innocent

2 July 2026

BFF ve API Gateway Farkları: Hangisi Ne Zaman Kullanılmalı

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

“BFF vs API Gateway”, mikro hizmet mimarisindeki en çok karıştırılan eşleşmelerden biridir. İki desen bir diyagram üzerinde benzer görünür. Her ikisi de hizmetlerinizin önünde yer alır. Her ikisi de bir istemci isteğini alır ve arka uçlara iletir. Bu yüzden ekipler bunların rakip seçenekler olduğunu varsayar, birini seçer ve yanlış sorumlulukları ona yükler.

Onlar rakip değildir. Bir Ön Uç İçin Arka Uç (BFF) ve bir API ağ geçidi farklı sorunları çözer, farklı ekipler tarafından sahiplenilir ve çok sık olarak aynı sistemde birlikte çalışır. BFF, ağ geçidinin yerine değil, arkasında veya yanında yer alır.

Bu kılavuz, aralarındaki farkı net bir şekilde ortaya koymaktadır. Her bir desenin gerçekte ne olduğunu, nerede örtüştüklerini, ne zaman birini veya her ikisini kullanacağınızı ve bunları bulanıklaştırmaktan kaynaklanan hataları öğreneceksiniz. Boyunca, API sözleşmesi sabittir: bir istek bir ağ geçidi, bir BFF veya her ikisi aracılığıyla akıp akmadığına bakılmaksızın, her katman hala tasarlamanız, test etmeniz, taklit etmeniz ve belgelemeniz gereken bir API sunar.

API Ağ Geçidi Nedir?

Bir API ağ geçidi, istemciler ve arka uç hizmetleriniz arasında yer alan merkezi bir giriş noktasıdır. Her istek ağ geçidi aracılığıyla gelir ve çağrıyı yönlendirmeden önce tutarlı bir dizi çapraz kesen endişeyi uygular.

Bu endişeler her istemci ve her hizmet için aynıdır:

Ağ geçidinin belirleyici özelliği, genel amaçlı olması ve merkezi olarak sahip olunmasıdır. Bir platform veya altyapı ekibi onu işletir ve tüm istemcilere eşit şekilde hizmet eder. Arayanın bir mobil uygulama, bir web SPA'sı veya bir iş ortağı entegrasyonu olup olmadığına aldırmaz; herkese aynı politikaları uygular.

Bu, ağ geçidini kuruluş genelindeki kurallar için doğal bir ev haline getirir. Her isteğin aynı şekilde kimlik doğrulamadan geçirilmesini veya her API'nin tutarlı bir şekilde oran sınırlanmasını istiyorsanız, ağ geçidi bu mantığı her hizmetin yeniden uygulamasına gerek kalmadan uygular. Bunun daha geniş platform araçlarından nasıl farklılaştığını görmek için API yönetimi ve API ağ geçidi yazısına bakın.

Ön Uç İçin Arka Uç (BFF) Nedir?

Sam Newman tarafından tanıtılan Ön Uç İçin Arka Uç (Backend for Frontend), yönelimi değiştirir. Her istemciye hizmet veren tek bir genel amaçlı arka uç yerine, her kullanıcı deneyimi için bir arka uç oluşturursunuz. Web uygulaması bir web BFF'si alır. Mobil uygulama bir mobil BFF'si alır. Her BFF, tam olarak tek bir ön uca göre uyarlanmıştır. Bu desen, birçok istemciye hizmet veren tek bir paylaşımlı arka ucun bir monolit gibi bir darboğaz haline geldiği mikro hizmet çalışmalarından ortaya çıkmıştır.

Newman'ın genel kuralı "bir deneyim, bir BFF"dir. Önemli ölçüde farklı ön uçlar kendi BFF'lerini alır; benzer olanlar (aynı ekip tarafından sürdürülen bir iOS ve bir Android uygulaması) bir tanesini paylaşabilir.

Buradaki belirleyici özellik sahiplik ve şekildir. Newman'ın sözleriyle, bir BFF "belirli bir kullanıcı deneyimiyle sıkı bir şekilde bağlantılıdır ve genellikle kullanıcı arayüzüyle aynı ekip tarafından sürdürülür." Ön uç ekibi kendi BFF'sine sahiptir. Müşteriyi ve arka ucunu birlikte geliştirirler, her değişikliği onaylaması için ayrı bir arka uç ekibini beklemek zorunda kalmazlar.

Bir BFF aslında ne yapar? Bir istemci için verileri şekillendirir:

BFF, kişilikli bir tür API toplayıcısıdır: aşağı akış çağrılarını birleştirir, ancak her zaman nötr, paylaşılan bir katman olmaktan ziyade belirli bir ön ucun hizmetinde yapar.

BFF ve API Ağ Geçidi Nerede Örtüşür?

Karışıklık anlaşılabilir çünkü iki desen yüzeysel davranışları paylaşır. Her ikisi de istemci isteklerini yakalar. Her ikisi de arka uçlara yönlendirebilir. Her ikisi de birden fazla hizmeti çağırabilir ve sonuçları birleştirebilir. Her ikisinin de bir diyagramı, istemciler ve hizmetler arasında bir kutu gibi görünür.

Örtüşme gerçek ama yüzeyseldir. Fark, niyet ve sahiplikte yatar:

Microsoft'un kendi kılavuzu, hangi işlerin nerede olması gerektiği konusunda nettir. İzleme, yetkilendirme ve oran sınırlama gibi çapraz kesen özellikler BFF'den soyutlanmalı ve ağ geçidi tarzı desenlerle ayrı olarak ele alınmalıdır. BFF yalnızca istemciye özgü mantığı barındırmalıdır. Kimlik doğrulama ve kısıtlamayı bir BFF'ye koyarsanız, kötü bir şekilde bir ağ geçidinin yarısını yeniden inşa etmiş olursunuz ve yazdığınız her BFF'de bunu tekrar yapmanız gerekir.

Öyleyse pratik sınır şudur: eğer bir sorumluluk her istemci için aynıysa, ağ geçidinde yer alır. Eğer ön uca göre değişiyorsa, BFF'de yer alır.

BFF ve API Ağ Geçidi Birlikte Çalışıyor

Gerçek mikro hizmet sistemlerinde, nadiren birini seçersiniz. Her ikisini de katmanlı olarak çalıştırırsınız. Ağ geçidi kenarda yer alır. BFF'ler ise onun arkasında bulunur.

Tipik bir istek akışı şöyle görünür:

  1. Mobil istemci, kimlik doğrulama token'ı ile bir istek gönderir.
  2. API ağ geçidi, token'ı doğrular, oran sınırlamalarını uygular, gözlemlenebilirlik için isteği günlüğe kaydeder, ardından mobil BFF'ye yönlendirir.
  3. Mobil BFF, ürün hizmetini, envanter hizmetini ve fiyatlandırma hizmetini çağırır, sonuçları toplar, mobil ekranın ihtiyaç duyduğu veriyi kırpar ve tek bir yanıt döndürür.
  4. Ağ geçidi, yanıtı istemciye geri aktarır.

Microsoft'un bu desen için referans mimarisi tam da bunu yapar: bir API yönetimi ağ geçidi yetkilendirme, izleme, önbelleğe alma ve yönlendirmeyi halleder, ardından sunucusuz işlevler olarak çalışan istemciye özgü BFF hizmetlerine iletir ve bu hizmetler altta yatan mikro hizmetleri çağırır.

Her katman iyi olduğu işi yapar. Ağ geçidi, tek tip olması gereken politikaları yönetir. BFF, belirli olması gereken şekli yönetir. Ön uç ekibi, ağ geçidi yapılandırmasına dokunmadan BFF'sinde değişiklikleri devreye alır ve platform ekibi, herhangi bir BFF'yi yeniden dağıtmadan bir oran sınırını sıkılaştırır.

Bu katmanlama ilişkisi, bir ağ geçidinin diğer altyapılarla nasıl bir arada var olduğuna benzer, onu değiştirmek yerine. Bir ağ geçidi bir yük dengeleyici (API ağ geçidi vs yük dengeleyici) veya bir hizmet ağı (hizmet ağı vs API ağ geçidi) değildir; her biri istek yolunun ayrı bir katmanını ele alır ve bir BFF de sadece bir başka ayrı katmandır. Bu, API liderliğindeki bağlantının arkasındaki aynı prensiptir: her katmana net bir iş verin ve sadece onu yapmasına izin verin.

Karar Tablosu: BFF vs API Ağ Geçidi

Soru API Ağ Geçidi BFF
Kime ait? Platform / altyapı ekibi Onu tüketen ön uç ekibi
Kime hizmet eder? Tüm istemcilere, tekdüze Tek bir belirli ön uca
Birincil görev Çapraz kesen endişeler: kimlik doğrulama, oran sınırlama, yönlendirme, gözlemlenebilirlik İstemciye özgü toplama ve veri şekillendirme
Kaç tane çalıştırırsınız? Genellikle bir tane (kenar başına) Her farklı kullanıcı deneyimi için bir tane
Bağlılık Gevşek, istemci-agnostik Sıkı, tasarımsal olarak istemciye özgü
Değişim sıklığı Kararlı, platform tarafından yönetilen Hızlı, ön ucun yol haritasını takip eder
İçinde yer alır Her istemci için aynı olan her şey Bir istemciye özgü olan her şey

Bunu sorumluluklar için bir yönlendirme sorusu olarak okuyun. Herkes için aynı olan ağ geçidine gider. Ön uca göre farklı olan BFF'ye gider. Bir sorumluluk hem ağ geçidinde hem de BFF'de (merkezi kimlik doğrulama istediğiniz ancak istemci başına veri şekillendirme de istediğiniz) olduğunda, bu bir taraf seçmek yerine her iki katmanı da çalıştırmak için bir sinyaldir.

Hangisini Ne Zaman Kullanmalı

Bir API ağ geçidi kullanın, birden fazla hizmetiniz olduğunda ve kimlik doğrulama, oran sınırlama ve yönlendirmeyi uygulamak için tek, tutarlı bir yere ihtiyacınız olduğunda. Neredeyse her mikro hizmet sistemi bundan faydalanır. İstemcilere maruz kalan bir avuçtan fazla hizmetiniz varsa, başka bir şeyden önce bir ağ geçidi istersiniz.

Bir BFF kullanın, farklı istemcilerin aynı arka uçtan anlamlı derecede farklı ihtiyaçları olduğunda ve paylaşılan genel amaçlı bir API darboğaz haline geldiğinde. Microsoft'un kılavuzuna göre yaygın tetikleyiciler:

BFF'yi atlayın, tüm arayüzleriniz aynı veya benzer istekleri yaptığında veya arka uçla yalnızca bir arayüz konuştuğunda. Bir BFF, bir ağ atlaması, dağıtılacak daha fazla hizmet ve muhtemelen BFF'ler arasında bazı kod tekrarı ekler. Eğer tek bir paylaşılan API her istemciye iyi hizmet ediyorsa, bir BFF ihtiyacınız olmayan bir yüktür. Microsoft, ön uca özgü çözümleyicilere sahip bir GraphQL katmanının, istemciler tam olarak istedikleri alanları talep ettiği için ayrı bir BFF ihtiyacını da ortadan kaldırabileceğini belirtir.

Her ikisini de kullanın, mikro hizmetleri ölçekli çalıştırdığınızda: kenarda tek tip politika için ağ geçidi, arkasında istemciye özgü şekillendirme için BFF'ler. Bu, egzotik değil, yaygın nihai durumdur.

Yaygın Hatalar

Apidog Nereye Uyar

Bir istek bir API ağ geçidi, bir BFF veya her ikisi aracılığıyla akıp akmadığına bakılmaksızın, her katman bir API sözleşmesi sunar. Apidog, bu sözleşmeleri tasarladığınız, test ettiğiniz, taklit ettiğiniz ve belgelediğiniz yerdir. Bir ağ geçidi veya bir BFF'yi inşa etmez, barındırmaz veya değiştirmez; bunların sunduğu API yüzeyleri için size tek bir çalışma alanı sağlar.

Somut olarak:

Seçtiğiniz desen bir mimari kararıdır. Her katmanın sunduğu sözleşme sabittir. Apidog bu sabiti yönetir, böylece BFF'leriniz ve ağ geçitleriniz nasıl bağlarsanız bağlayın tasarlanmış, test edilmiş, taklit edilmiş ve belgelenmiş kalır.

Arka uç kodu yazmadan önce BFF ve ağ geçidi sözleşmelerinizi tasarlamak ve taklit etmek için Apidog'u ücretsiz deneyin.

button

Sıkça Sorulan Sorular

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin