Κατά την ανάπτυξη έργων Διαδικτύου, είναι απαραίτητη η αλληλεπίδραση με διάφορες υπηρεσίες και οι χρήστες λαμβάνουν δεδομένα από τον διακομιστή και η υψηλή διαθεσιμότητα διεπαφών υπηρεσιών είναι ιδιαίτερα σημαντική, ειδικά στο ηλεκτρονικό εμπόριο και τα συστήματα πληρωμών, όπου η υψηλή διαθεσιμότητα μετρά επίσης εάν το σύστημα είναι ισχυρό. Στην περίπτωση των clusters, πολλές υπηρεσίες είναι επίσης δύσκολο να διατηρηθούν.
Επιθεώρηση Προξένου
Το Consul είναι ένα εργαλείο ανοιχτού κώδικα που αναπτύχθηκε στη γλώσσα Go που κυκλοφόρησε από τη HashiCorp, το οποίο χρησιμοποιείται για την πραγματοποίηση ανακάλυψης υπηρεσιών και διαμόρφωσης κατανεμημένων συστημάτων, με ενσωματωμένο πλαίσιο εγγραφής και ανακάλυψης υπηρεσιών, εφαρμογή πρωτοκόλλου συνέπειας διανομής, έλεγχο υγείας, αποθήκευση κλειδιών/τιμών και λύσεις πολλαπλών κέντρων δεδομένων, το οποίο είναι σχετικά απλό στη χρήση.
Ανακάλυψη υπηρεσίας προξένου
Πώς να χρησιμοποιήσετε το Consul Service Discovery:
- Εκτελέστε έναν πράκτορα Consul σε λειτουργία πελάτη σε κάθε υπολογιστή, ο οποίος είναι υπεύθυνος μόνο για την αποτελεσματική ανταλλαγή των πιο πρόσφατων πληροφοριών εγγραφής με το σύμπλεγμα Consul (που δεν συμμετέχει στην εκλογή αρχηγού).
- Η υπηρεσία υπηρεσίας σε κάθε υπολογιστή καταχωρεί το όνομα της υπηρεσίας και τη διεύθυνση URL της υπηρεσίας στον τοπικό προξενικό πράκτορα
- Όταν ένα πρόγραμμα που έχει αναπτυχθεί στον υπολογιστή1 χρειάζεται να καλέσει την υπηρεσία ServiceB, το πρόγραμμα ServiceA λαμβάνει απευθείας τη διεύθυνση πρόσβασης της υπηρεσίας Service B από τον τοπικό παράγοντα Consul μέσω του ονόματος της υπηρεσίας και, στη συνέχεια, υποβάλλει απευθείας μια αίτηση στη διεύθυνση URL της υπηρεσίας ServiceB.
Ο κωδικός έχει ως εξής:
Στην τάξη Startup, καλέστε ως εξής:
Έλεγχος υγείας
Η διεπαφή ελέγχου εύρυθμης λειτουργίας χρειάζεται μόνο να επιστρέψει έναν κωδικό κατάστασης 200 στον πρόξενο και ο κωδικός έχει ως εξής:
Ξεκινήστε το έργο, εγγραφείτε στην υπηρεσία
Ο ελεγκτής μπορεί να ορίσει μια μέθοδο δοκιμής ως εξής:
Ας πάμε στον κατάλογο bin του έργου και ας το ξεκινήσουμε μέσω της γραμμής εντολών, ο κώδικας έχει ως εξής:
Δείτε τον σύνδεσμο μέσω του προγράμματος περιήγησής σας:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
Τα δεδομένα json είναι τα εξής:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Κόμβος": "DESKTOP-EB7B69D", "Διεύθυνση": "127.0.0.1", "Κέντρο δεδομένων": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "προξενικό-δίκτυο-τμήμα": "" }, "ServiceKind": "", "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "δοκιμή", "Itsvse" ], "ServiceAddress": "127.0.0.1", "Βάρηεξυπηρέτησης": { "Πέρασμα": 1, "Προειδοποίηση": 1 }, "ServiceMeta": {}, «Θύρα εξυπηρέτησης»: 8083, "ServiceEnableTagOverride": false, "ServiceProxy": { "MeshGateway": {}, "Έκθεση": {} }, "ServiceConnect": {}, "ΔημιουργίαΕυρετήριο": 1317, "ΤροποποίησηΕυρετηρίου": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Κόμβος": "DESKTOP-EB7B69D", "Διεύθυνση": "127.0.0.1", "Κέντρο δεδομένων": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "προξενικό-δίκτυο-τμήμα": "" }, "ServiceKind": "", «ServiceID»: «bb21f150-7219-4eda-bc91-54686a750228», "ServiceName": "test.itsvse", "ServiceTags": [ "δοκιμή", "Itsvse" ], "ServiceAddress": "127.0.0.1", "Βάρηεξυπηρέτησης": { "Πέρασμα": 1, "Προειδοποίηση": 1 }, "ServiceMeta": {}, «Θύρα εξυπηρέτησης»: 8082, "ServiceEnableTagOverride": false, "ServiceProxy": { "MeshGateway": {}, "Έκθεση": {} }, "ServiceConnect": {}, "ΔημιουργίαΕυρετήριο": 1314, "Τροποποίηση ευρετηρίου": 1314 }
]
Κλήση υπηρεσίας προξένου
Δημιουργήστε ένα νέο έργο κονσόλας .NET Core με τον ακόλουθο κώδικα:
Καλώ τυχαία την εγγεγραμμένη υπηρεσία test.itsvse και το αποτέλεσμα είναι το εξής:
Τέλος, λήψη πηγαίου κώδικα:
Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώ Απάντηση |