API proxy'lerini birbirine bağlama

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

Bir proxy'nin diğerinin hedef uç noktası olduğunu belirtebilir, böylece iki proxy'yi bir proxy zincirinde etkili bir şekilde bağlayabilirsiniz. Bu şekilde proxy'leri zincirleme kullanmak, ağ atlamasını önlemenize ve genel performansı artırmanıza yardımcı olabilir.

Proxy zincirleme ile bir proxy'nin diğerinin yerel hedef uç noktası olduğunu belirtirsiniz. İkinci proxy'ye ç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ğı bazı ayrı düşük düzeyli işlevler sunan bir proxy'niz olduğunda proxy zincirleme özelliğini faydalı bulabilirsiniz. Örneğin, arka uç veri deposuyla oluşturma/okuma/güncelleme/silme işlemlerini kullanıma sunan bir proxy, verileri müşterilere sunan diğer birçok proxy'nin hedef proxy'si olabilir.

Video: API proxy'lerini zincirleme bağlama hakkında daha fazla bilgi edinmek için kısa bir video izleyin.

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

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

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

Proxy'leri, birinin diğerinin yerel hedef uç noktası olduğunu belirterek bağlarsınız. Proxyler arasında yerel bağlantı oluşturmanın iki yolu vardır:

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

Aşağıda açıklandığı gibi, TargetEndpoint yapılandırmasında LocalTargetConnection öğesini kullanarak hedef proxy'leri bağlarsınız.

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

Hedef proxy'yi ada göre belirtebilirsiniz. Bu yöntemin, bağlantıyı en başından oluşturup proxy'leri birlikte geliştirirken en kullanışlı olduğunu görebilirsiniz. Adı bilmiyorsanız (veya ad değişebilir) aşağıdaki gibi hedef proxy'nin uç nokta yoluyla bağlantı kurmayı deneyin.

Bir hedef proxy'ye ada göre bağlandığınızda proxy'nin adını ve ProxyEndpoint adını belirtirsiniz.

Aşağıdaki örnekte, data-manager tarafından kullanıma sunulan ProxyEndpoint adı ile birlikte data-manager adlı bir hedef proxy belirtilmektedir. Referans bilgileri için API proxy'si yapılandırma 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>

Yola göre proxy bağlama

Hedef proxy'yi uç nokta yoluyla belirtebilirsiniz. Proxy adını bilmiyorsanız veya adın değişebileceğini düşünüyorsanız bu yöntemi kullanabilirsiniz.

Proxy'niz yalnızca hedef proxy'nin tüketicisiyse (ör. her ikisini de geliştirmiyorsanız) yol, bağlanmanı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, ana makinenin geçerli proxy ile aynı olduğu varsayılarak /v1/streetcarts/foodcarts/data-manager adresinde bir hedef proxy belirtilmektedir. Referans bilgileri için API proxy'si yapılandırma referansı bölümüne 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 konsoluna bağlama

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

  1. Hedef proxy'yi tüketecek proxy'yi açın.
  2. Gezgin'de, Hedef Uç Noktalar'ın yanındaki artı işaretini tıklayın.
  3. New Target Endpoint (Yeni Hedef Uç Nokta) iletişim kutusunda hedef uç noktanın adını girin.
  4. Hedef Uç Nokta Adı kutusunun altında aşağıdakilerden birini seçin:
    • Kuruluşta ve ortamda zaten bulunan proxy'ler listesinden seçim yapmak için Proxy Chaining'i kullanın.
      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.
    • Hedef proxy temel yolunu girmek için Path Chaining (Yol Zincirleme) seçeneğini kullanın. Örneğin: /mypath/myproxy/myendpoint.
  5. Ekle'yi tıklayın.

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

Proxy zincirleme, her iki proxy'nin de aynı API ürününde olduğu durumlarda en iyi sonucu verir. Varsayılan olarak, her ikisi de müşteriler tarafından kullanılabilir. Apigee şu anda ikinci proxy'nin, istemcilerin erişmemesi gereken ayrı bir API ürününde paketlenmesini desteklemiyor.

İkinci proxy'nizin doğrudan istemci isteklerine karşı güvenli olması gerekiyorsa ikinci proxy'nizin istemcinin IP adresini incelemesini sağlayacak bir mantık ekleyebilirsiniz. Zincirleme yoluyla yapılan aramalarda IP adresi yerel olur. Kodunuz, işleme devam edilmesine izin vermeden önce yerel olduğunu doğrulayabilir. Bunu yapmanın bir yolu için Erişim Denetimi Politikası'na bakın.