Çoğu API Ağ Geçidi çözümünde 'toplama' neden desteklenmiyor?


16

API Ağ Geçidi hakkında okurken, her seferinde ortaya çıkan şeylerden biri, API Ağ Geçidi'nin birden çok uç noktadan sonuçları bir araya getirmeniz gereken bir yer olmasıdır. Kulağa hoş geliyor. Ancak, AWS API Gateway, Kongo ve Netflix Zuul gibi birçok popüler API Gateway çözümü bu özelliği desteklemez. Bunu kesmek veya özel bir filtre kendiniz uygulamak zorundasınız.

Toplama kötü bir uygulama mıdır? Kullanıcılar birden çok uç noktadan nasıl sonuç döndürür?

Yanıtlar:


11

Bu sorunun cevaplanmasının birden fazla yolu vardır:

Uç noktaların birleştirilmesi

API Ağ Geçitleri, sonuçları olmak zorunda değil, çoğunlukla diğer uç noktaları toplar. Yani, kimlik doğrulama veya yönlendirme gibi bazı ek işlevlerle diğer uç noktaları yansıtabilen tek bir sunucudur.

Mesele, bazı hizmetleri merkezileştirmek, gerçek sunucuları dış ağdan gizlemek vb.

Sonuçların toplanması

Ağ Geçidinde gerçekten iş mantığına sahip olmak, farklı belgeleri başka bir belgeye bir araya getirmek veya yalnızca istekleri veya yanıtları değiştirmek istiyorsanız, bir Kurumsal Hizmet Veri Yolu'na bakabilirsiniz .

Toplamanın iyi olup olmadığı

Bu elbette tartışmalı ve bireysel görüşlere kadar. Birisi, (çoğunlukla) SOA / ESB tipi çözümlerden uzak durmamızın bir nedeni olduğunu iddia edebilir. Bunun nedeni, bireysel sorumlulukların net olmaması ve ESB tarafında toplama eğilimi göstermesi ve uç noktaları "aptal" bırakması olabilir. Sonunda ESB'nin her şeyi bilmesini sağlar.

"REST" yaklaşımı farklıdır. "Akıllı" uç noktalar üzerine kuruludur, parçalarını bilir ve başka hiçbir bileşenin ayrıntıları bilmesine gerek kalmaz. Bu fikir kendi içinde Ağ Geçidinin yanıtlar hakkında daha fazla bilgi sahibi olmasıyla çelişiyor gibi görünüyor .

Nitekim gibi bazı mimari fikirler vardır Bağımsız Sistemler , fikri üzerine bu yapı müşteri ihtiyaç duyan herhangi bir fonksiyon olduğunu, gerektiği ele alınacak tamamen belirli bir bitiş noktası tarafından. Bu olmamalı sorumluluk kendi alanında bir isteği yerine getirmek için başkalarıyla senkron iletişimi gerekir. Bu aynı zamanda toplama sonuçlarının verimsiz olabileceğini de göstermektedir.

Her zaman olduğu gibi, hepsi kesin gereksinimlere bağlıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.