API proxy'lerini birbirine bağlama

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bir proxy'nin başka bir proxy'nin hedef uç noktası olduğunu belirtebilirsiniz. Böylece iki proxy'yi proxy zincirinde etkili bir şekilde bağlayabilirsiniz. Proxy'leri bu şekilde bağlamak, ağ atlamasını önleyerek genel performansı artırmanıza yardımcı olabilir.

Proxy zincirlemede, bir proxy'nin diğerinin yerel hedef uç noktası olduğunu belirtirsiniz. İkinci proxy'ye bir çağrı yapmak için HTTPTargetConnection öğesini kullanmak yerine LocalTargetConnection öğesini kullanırsınız.

<LocalTargetConnection>
    <APIProxy>myproxy2</APIProxy>
    <ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>

Diğer proxy'lerin kullanacağı ayrı, alt düzey işlevler sunan bir proxy'niz olduğunda proxy zincirlemesini yararlı bulabilirsiniz. Örneğin bir arka uç veri deposuna sahip oluşturma/okuma/güncelleme/silme işlemlerini açığa çıkaran bir proxy, verileri istemcilere sunan diğer birden çok proxy için hedef proxy olabilir.

Video: API proxy zincirlemesi hakkında daha fazla bilgi edinmek için kısa bir video izleyin.

Proxy zincirlemesi nasıl çalışır?

Proxy zincirleme, bir proxy'den başka bir proxy'yi çağırırken ağ ek yükünü en aza indirmek için yerel bağlantı kullanır. Bu yerel bağlantı; yük dengeleyiciler, yönlendiriciler ve mesaj işlemcileri gibi ağ özelliklerini atladığı için daha verimlidir.

Aşağıda, HTTPTargetConnection ve LocalTargetConnection (proxy zinciri oluşturma) kullanarak proxy'leri bağlama arasındaki fark gösterilmektedir:

Proxy'lerden birini, diğerinin yerel hedef uç noktası olduğunu belirterek bağlarsınız. Proxy'ler arasında yerel bağlantıyı iki şekilde oluşturabilirsiniz:

  • Hedef proxy'nin adını ve ProxyEndpoint adını belirterek
  • Hedef proxy uç noktasına giden bir yol belirterek

Hedef proxy'leri, aşağıda açıklandığı gibi bir LocalTargetConnection öğesi kullanarak TargetEndpoint yapılandırması içinde bağlarsınız.

Proxy adına göre proxy'leri bağlama

Hedef proxy'yi ada göre belirtebilirsiniz. Bunun en çok, bağlantıyı baştan oluştururken ve proxy'leri birlikte geliştirirken yararlı olduğunu fark edebilirsiniz. Adı bilmiyorsanız (veya ad değişebilir) aşağıda açıklandığı gibi hedef proxy'nin uç nokta yoluyla bağlanmayı düşünebilirsiniz.

Ada göre bir hedef proxy'ye bağlandığınızda, proxy'nin adını ve ProxyEndpoint adını belirtirsiniz.

Aşağıdaki örnekte, data-manager tarafından gösterilen ProxyEndpoint adıyla birlikte data-manager adlı bir hedef proxy belirtilmektedir. Referans bilgileri için API proxy yapılandırması referansı bölümüne bakın.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <APIProxy>data-manager</APIProxy>
        <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
</TargetEndpoint>

Proxy'leri yola göre bağlama

Hedef proxy'yi uç nokta yoluyla belirtebilirsiniz. Proxy adını bilmediğinizde veya ad değişebileceğinden bu işlemi bu şekilde yapabilirsiniz.

Proxy'niz yalnızca hedef proxy'nin tüketicisiyse (örneğin, her ikisini de geliştirmiyorsanız) yol, bağlantı kurmanın en güvenilir yolu olabilir. Örneğin, bağlandığınız proxy başka bir ekip tarafından geliştirilip yönetiliyorsa güvenilir bir uç nokta yolu kullanarak bağlanmak isteyebilirsiniz.

Aşağıdaki örnekte /v1/streetcarts/foodcarts/data-manager konumunda bir hedef proxy belirtilmektedir. Bu ana makinenin mevcut proxy ile aynı olduğu varsayılır. Referans bilgileri için API proxy yapılandırma referansı başlıklı makaleye bakın.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <Path>/v1/streetcarts/foodcarts/data-manager</Path> 
    </LocalTargetConnection>
</TargetEndpoint>

Proxy'leri yönetim konsoluyla bağlama

Edge yönetim konsolunu kullanarak proxy zincirleme bağlantıları oluşturabilirsiniz.

  1. Hedef proxy'yi kullanacak proxy'yi açın.
  2. Gezgin'de Hedef Uç Noktalar'ın yanındaki artı işaretini tıklayın.
  3. Yeni Hedef Uç Noktası iletişim kutusunda, hedef uç noktanın adını girin.
  4. Hedef Uç Nokta Adı kutusunun altında aşağıdakilerden birini seçin:
    • Zaten kuruluşta ve ortamda bulunan proxy'ler listesinden seçim yapmak için Proxy Zincirleme'yi seçin.
      1. Proxy Adı açılır listesinde, hedef proxy'yi seçin.
      2. Proxy Uç Noktası kutusuna, bağlanmak istediğiniz hedef proxy uç noktası yolunu girin.
    • /mypath/myproxy/myendpoint gibi hedef proxy temel yolunu girmek için Yol Zincirleme.
  5. Ekle'yi tıklayın.

Zincirli proxy'ler, API ürünleri ve güvenlik

Proxy zincirlemesi, her iki proxy'nin aynı API ürününde olduğu durumlarda en iyi seçenektir. Varsayılan olarak, her ikisi de istemciler tarafından kullanılabilir. Apigee, şu anda ikinci proxy'nin istemcilerin erişememesi gereken ayrı bir API ürününde paketlenmesini desteklememektedir.

İkinci proxy'nizin doğrudan istemci isteklerine karşı korunması gerekiyorsa ikinci proxy'nizin istemcinin IP adresini incelemesi için mantık eklemeniz önerilir. Zincirleme bağlantıyla yapılan bir çağrıda IP adresi yerel olur. Kodunuz, işlemenin devam etmesine izin vermeden önce yerel olduğunu doğrulayabilir. Bunu yapmanın bir yolu için Erişim Denetimi politikasına göz atın.