Μια γρήγορη εισαγωγή στους διακομιστές μεσολάβησης Azure

Σε αυτό το άρθρο, θα συζητήσουμε τους Azure Function Proxies. Παρέχουν "Reverse Proxy Functionality" για Azure Functions. Τα Azure Function Proxies είναι αρκετά παρόμοια με τη διαχείριση του Azure API.  

Αυτή η ανάρτηση εμπνέεται σε μεγάλο βαθμό από τον Μάθιου Χέντερσον του Microsoft Azure Function Team. Στην ανάρτηση του ιστολογίου του, δημόσια προεπισκόπηση Azure Functions Proxies, ο Matthew εξηγεί τον λόγο πίσω από τον οποίο η Microsoft βρήκε την ιδεολογία για Azure Function Proxies.

Τι είναι οι Azure Function Proxies;

Η βασική ιδέα πίσω από το Azure Function Proxies είναι ότι μας επιτρέπουν να ορίσουμε μία επιφάνεια API για πολλές εφαρμογές. Τώρα οποιαδήποτε εφαρμογή λειτουργίας μπορεί να ορίσει ένα τελικό σημείο που χρησιμεύει ως Reverse Proxy για άλλο API. Το τελικό σημείο μπορεί να είναι μια εφαρμογή λειτουργίας ή μπορεί να είναι οτιδήποτε άλλο.

Αναζητάτε ένα εργαλείο εκτός ραφιού για τη διαχείριση και την παρακολούθηση των λειτουργιών Azure; Δοκιμάστε αυτό εδώ δωρεάν.

Λόγος για την εφαρμογή Azure Function Proxy

Για ορισμένους χρήστες, είναι δύσκολο να διαχειριστείτε μεγάλες λύσεις με μία εφαρμογή. Υπάρχουν πολλές οργανώσεις που χρησιμοποιούν το Azure Function στην αρχιτεκτονική μικροϋπηρεσιών τους με ανάπτυξη μεταξύ μεμονωμένων στοιχείων. Σε αυτήν την περίπτωση, κάθε εφαρμογή λειτουργίας έχει τη δική της φιλοξενία, οπότε υπάρχουν πολλές διαφορετικές εφαρμογές λειτουργιών για παρακολούθηση.

Θα μπορούσαμε επίσης να έχουμε κάποια εφαρμογή λειτουργίας σε συνδυασμό με ένα άλλο API, αλλά θα μπορούσαν να βρίσκονται σε διάφορες περιοχές. Έτσι καταλήγουμε να μεταδίδουμε πολλή από αυτήν την πολυπλοκότητα στον πελάτη ή στο καταναλωτικό μας σύστημα.

Οι Azure Function Proxies έρχονται στη διάσωση παρέχοντας ένα ενοποιημένο URI (Uniform Resource Identifier) ​​το οποίο μπορεί πραγματικά να καταναλώσει ο πελάτης. Εν τω μεταξύ, μπορούμε να αφαιρέσουμε όλες τις διαφορετικές εφαρμογές λειτουργίας ή άλλα API και θα μας επέτρεπε επίσης να δημιουργήσουμε το API μας με ταχύτερο ρυθμό.

Εξήγηση

Μεσολάβηση λειτουργίας Azure

Στο Διάγραμμα Αρχιτεκτονικής Λύσης παραπάνω, έχουμε έναν Azure Function Proxy ακολουθούμενο από ένα Azure Function και Service Bus Queue στο πίσω μέρος για αποθήκευση πληροφοριών. Στο άλλο άκρο του διαγράμματος, έχουμε Data Publishers. Για τους σκοπούς αυτής της συζήτησης, ας πούμε ότι το Power Equipment δημιουργεί το συμβάν ετικέτας και το προωθεί σε Azure Functions μέσω Proxy.

Αρχικά, δημιουργούμε μια εφαρμογή λειτουργίας επιλέγοντας τη λειτουργία από την πύλη Azure. Ας πούμε ότι δημιουργούμε μια ετικέτα HTTP για το C # όπου η λειτουργία του σκανδάλη HTTP είναι να επικαλεστεί μια συνάρτηση με ένα αίτημα HTTP.

Τώρα δημιουργούμε δύο συναρτήσεις: μία είναι η PostTag που αντιπροσωπεύει την ανάρτησή μας εάν θέλουμε να δημιουργήσουμε μια ετικέτα. Ο κώδικας για τη συνάρτηση PostTag είναι ο ακόλουθος:

Δημοσίευση ετικέτας

Στη συνέχεια, δημιουργούμε μια άλλη συνάρτηση που ονομάζεται GetTag με τον κωδικό που καθορίζεται ως εξής:

Λήψη ετικέτας

Χρησιμοποιούμε το GetTag για να τραβήξουμε το μήνυμα από την ουρά και η τελευταία τιμή ετικέτας επιστρέφει στον πελάτη.

Μπορούμε να επιλέξουμε τον παρακάτω σύνδεσμο για να πάρουμε τη διεύθυνση URL και των δύο λειτουργιών. Αυτός ο σύνδεσμος θα μας παρέχει ένα Διακριτικό ασφαλείας για εξουσιοδότηση.

Λήψη διεύθυνσης URL λειτουργίας

Σε αυτό το σημείο, μεταβαίνουμε στις Ρυθμίσεις εφαρμογής λειτουργίας και ενεργοποιούμε τους διακομιστές μεσολάβησης Azure Function που έχουν την τελευταία έκδοση χρόνου εκτέλεσης μεσολάβησης 0,2. Κατά συνέπεια, επιλέγουμε την επιλογή "Νέος διακομιστής μεσολάβησης" από το Function App Development που μας επιτρέπει να δημιουργήσουμε δύο διακομιστές μεσολάβησης. Πρόκειται για Proxy GetTag και Proxy PostTag. Οι διαθέσιμες επιλογές στο διακομιστή μεσολάβησης είναι:

  • URL διακομιστή μεσολάβησης
  • Πρότυπο διαδρομής
  • URL backend

Η διεύθυνση URL που καθορίζεται στο URL διακομιστή μεσολάβησης και στο πρότυπο διαδρομής είναι τα ίδια τόσο για το συμβάν GetTag όσο και για το PostTag. Το Backend URL του Proxy GetTag θα σχετίζεται με το συμβάν GetTag - αλλά για το Proxy PostTag θα σχετίζεται με το συμβάν PostTag.

Τύλιξε

Οι Azure Function Proxies είναι ένας πολύ καλός τρόπος για να κοροϊδέψετε και να δοκιμάσετε το τελικό σημείο των Azure Functions πριν από την έναρξη της πραγματικής ανάπτυξης. Επίσης, μπορούν να χρησιμοποιηθούν ακόμη και στην παραγωγή όταν πρέπει να δρομολογήσετε το ένα URI στο άλλο.

Θα ήθελα να καταλήξω στο συμπέρασμα ότι το Azure Function Proxies είναι ένα από τα πιο συναρπαστικά χαρακτηριστικά και προσφέρεται στην αγορά που παρέχει η ομάδα Azure Functions.

Αυτό το ιστολόγιο δημοσιεύτηκε αρχικά στο Serverless360.