Πρόσθετο Kong
Το πρόσθετο του Kong υποστηρίζει τέσσερις διαστάσεις, η σειρά εκτέλεσης είναι από πάνω προς τα κάτω και πρέπει να σημειωθεί ότι εάν το ίδιο πρόσθετο έχει ρυθμιστεί σε διαφορετικές διαστάσεις, θα εκτελεστεί μόνο μία φορά:
- Εφαρμόστε το API συν το μείγμα καταναλωτών.
- Εφαρμόζεται στους καταναλωτές.
- Εφαρμόζεται στο API.
- Εφαρμόζεται παγκοσμίως.
Επίσης, δεν υποστηρίζουν όλες οι προσθήκες τον ορισμό των καταναλωτών
Προσθέστε ένα άλλο API για δοκιμή Προσθέστε μια νέα διεπαφή:
{ "created_at": 1515055457572, "strip_uri": αλήθεια, "ID": "A99919D1-0770-40A1-81A9-E3C31FD9D282", "name": "spring-boot-consul-service2", "Μέθοδοι": [ "ΠΑΡΩ" ], "http_if_terminated": ψευδής, "preserve_host": ψευδής, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/χρήστης" ], "upstream_send_timeout": 60000, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "επαναλήψεις": 5, "https_only": ψευδής
}
Προσθέστε ατμούς
{ "created_at": 1515055993113, "orderlist": [ 41, 28, 44, 14, 79, 38, 30, 69, 15, 88, 72, 53, 89, 47, 81, 43, 60, 91, 92, 100, 98, 55, 12, 40, 9, 31, 84, 24, 36, 39, 96, 74, 6, 8, 93, 99, 78, 34, 49, 37, 61, 76, 33, 35, 32, 77, 70, 26, 52, 87, 73, 23, 57, 25, 17, 90, 62, 82, 19, 75, 50, 4, 51, 42, 65, 66, 63, 3, 1, 68, 94, 67, 20, 80, 54, 7, 5, 16, 85, 13, 46, 10, 97, 22, 48, 11, 27, 86, 18, 59, 83, 21, 56, 95, 2, 64, 58, 71, 45, 29 ], "id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "name": "spring-boot-consul-service2.service.dc1.consul", "Υποδοχές": 100
}
Προσθήκη στόχων
Πληροφορίες Tagets
{ "σύνολο": 3, "δεδομένα": [ { "created_at": 1515056103599, "id": "994e7886-3e48-45cb-80ad-3f7918ede007", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "στόχος": "192.168.0.186:17004", "βάρος": 15 }, { "created_at": 1515056109570, "ID": "03B477EE-A69D-49EE-9892-276F451C373C", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "στόχος": "192.168.0.185:17004", "βάρος": 15 }, { "created_at": 1515056112730, "id": "8ace8d83-4504-4334-ad04-f0b536963df9", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "target": "192.168.0.184:17004", "βάρος": 15 } ]
}
Η τρέχουσα λίστα των API έχει ως εξής:
{ "σύνολο": 2, "δεδομένα": [ { "created_at": 1515055457572, "strip_uri": αλήθεια, "ID": "A99919D1-0770-40A1-81A9-E3C31FD9D282", "name": "spring-boot-consul-service2", "Μέθοδοι": [ "ΠΑΡΩ" ], "http_if_terminated": ψευδής, "https_only": ψευδής, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/χρήστης" ], "preserve_host": ψευδής, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "επαναλήψεις": 5 }, { "created_at": 1514995615974, "strip_uri": αλήθεια, "ID": "B8431831-6A77-434E-AC4A-7E379550714F", "name": "spring-boot-consul-service", "Μέθοδοι": [ "ΠΑΡΩ" ], "http_if_terminated": ψευδής, "https_only": ψευδής, "upstream_url": "http://spring-boot-consul-service.service.dc1.consul:17003", "uris": [ "/υπηρεσία" ], "preserve_host": ψευδής, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "επαναλήψεις": 5 } ]
}
Οι διεπαφές πρόσβασης επιστρέφουν τα εξής:
{ "msg": "εντάξει", "ημερομηνία": { "σκορ": 42, "name": "δέντρο", "id": 1, "ηλικία": 12, "nowTime": 1515060166929, "info": "/checkUser, host:192.168.0.186, service_id:application-1700417004" }, "Κωδικός": 200
} { "msg": "εντάξει", "ημερομηνία": { "σκορ": 505, "name": "δέντρο", "id": 1, "ηλικία": 12, "nowTime": 1515060402392, "info": "/checkUser, host:192.168.0.184, service_id:application-1700317003" }, "Κωδικός": 200
} Προσθέστε την προσθήκη Key-Auth
Ανοίξτε το πρόσθετο key-auth
{ "created_at": 1515066239000, "config": { "key_in_body": ψευδής, "run_on_preflight": αλήθεια, "ανώνυμος": "", "hide_credentials": ψευδής, "key_names": [ "Apikey" ] }, "id": "78c519d3-11f7-4cdf-b038-9f17f1a83427", "enabled": αληθές, "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "name": "key-auth"
} Στη συνέχεια, αποκτήστε πρόσβαση στη διεπαφή με ένα σφάλμα όπως αυτό:
Καταργήστε την προσθήκη key-auth
Ρίξτε μια ματιά στην προσθήκη δέσμευσης API
Προσθήκη του περιορισμού ρυθμού πρόσθετου περιορισμού ρυθμού
Παραγωγή
{ "created_at": 1515068825000, "config": { "λεπτό": 10, "policy": "cluster", "redis_timeout": 2000, "hide_client_headers": ψευδής, "δεύτερο": 2, "limit_by": "καταναλωτής", "redis_port": 6379, "redis_database": 0, "fault_tolerant": αληθινό }, "id": "482c627f-4041-4320-9b2f-0cc7722b92ea", "name": "περιορισμός συντελεστή", "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "ενεργοποιημένο": αληθές
} Όταν η διεπαφή πρόσβασης υπερβεί το όριο, θα ληφθούν οι ακόλουθες επιστροφές:
Επιστροφή
{ "message": "Υπέρβαση ορίου ρυθμού API"
} Ωστόσο, εξακολουθούν να υπάρχουν ορισμένα προβλήματα, επειδή η μορφή μηνύματος έχει διορθωθεί, η μορφή εξόδου δεν είναι συνεπής με την υπηρεσία υποστήριξης και πρέπει να υποστηρίζονται προσαρμοσμένες μορφές μηνυμάτων.
Ο Kong τροποποιεί την τιμή επιστροφής εξαίρεσης Για παράδειγμα, η ενοποιημένη μορφή μηνύματος υπηρεσίας έχει ως εξής:
{ "κωδικός": 200, "msg": "εντάξει", "δεδομένα": {xxx}
} Θέλουμε επίσης η επιστροφή εξαίρεσης του kong να παραμείνει στην ίδια μορφή όπως παραπάνω. Στη συνέχεια, μπορούμε να τροποποιήσουμε απευθείας τον πηγαίο κώδικα του Kong, ο οποίος είναι στην πραγματικότητα πολύ απλός.
Ξεκινήστε κάνοντας λήψη του πηγαίου κώδικα
#下载kong插件源码
κλώνος gitgit@github.com:Kong/kong.git
Εντοπίστε τον κώδικα εξόδου που θέλετε να τροποποιήσετε
Ο κώδικας εξόδου βρίσκεται στο kong/kong/tools/responses.lua, ανοίξτε τον για επεξεργασία.
Αποθήκευση και, στη συνέχεια, μεταγλώττιση
[root@tree81 Kong]# Τα Luarocks κάνουν Το kong 0.11.2-0 είναι τώρα εγκατεστημένο στο /usr/local (άδεια: MIT) Εκκίνηση, δοκιμάστε ξανά
Ανανεώστε γρήγορα τη διεύθυνση πολλές φορές στη σειρά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.Λάβετε ένα μήνυμα σφάλματος:
{ "Κωδικός": 429, "msg": "Υπέρβαση ορίου ρυθμού API"
} Έγινε, τέλεια :) |