Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 12431|Atbildi: 0

Microservices Gateway Kong izmanto spraudņus, lai pielāgotu kļūdu atgriešanos

[Kopēt saiti]
Publicēts 14.02.2019 16:58:19 | | |
Konga spraudnis

Kong spraudnis atbalsta četras dimensijas, izpildes secība ir no augšas uz leju, un jāatzīmē, ka, ja viens un tas pats spraudnis ir konfigurēts dažādās dimensijās, tas tiks izpildīts tikai vienu reizi:

  • Izmantojiet API plus patērētāju kombināciju;
  • Piemērots patērētājiem;
  • Piemērots API;
  • Tiek piemērots visā pasaulē;

Turklāt ne visi spraudņi atbalsta patērētāju definēšanu

Citas API pievienošana testēšanai
Pievienojiet jaunu interfeisu:


{
    "created_at": 1515055457572,
    "strip_uri": taisnība,
    "ID": "A99919D1-0770-40A1-81A9-E3C31FD9D282",
    "name": "spring-boot-consul-service2",
    "metodes": [
        "IEGŪT"
    ],
    "http_if_terminated": nepatiess,
    "preserve_host": nepatiess,
    "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004",
    "uris": [
        "/lietotājs"
    ],
    "upstream_send_timeout": 60000,
    "upstream_connect_timeout": 60000,
    "upstream_read_timeout": 60000,
    "atkārtojumi": 5,
    "https_only": nepatiess
}


Pievienot tvaikus


{
    "created_at": 1515055993113,
    "pasūtījumu saraksts": [
        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",
    "Laika nišas": 100
}


Mērķu pievienošana



Tagets informācija

{
    "kopā": 3,
    "dati": [
        {
            "created_at": 1515056103599,
            "id": "994e7886-3e48-45cb-80ad-3f7918ede007",
            "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4",
            "mērķis": "192.168.0.186:17004",
            "svars": 15
        },
        {
            "created_at": 1515056109570,
            "ID": "03b477ee-a69d-49ee-9892-276f451c373c",
            "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4",
            "mērķis": "192.168.0.185:17004",
            "svars": 15
        },
        {
            "created_at": 1515056112730,
            "id": "8ace8d83-4504-4334-ad04-f0b536963df9",
            "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4",
            "mērķis": "192.168.0.184:17004",
            "svars": 15
        }
    ]
}


Pašreizējais API saraksts ir šāds:

{
    "kopā": 2,
    "dati": [
        {
            "created_at": 1515055457572,
            "strip_uri": taisnība,
            "ID": "A99919D1-0770-40A1-81A9-E3C31FD9D282",
            "name": "spring-boot-consul-service2",
            "metodes": [
                "IEGŪT"
            ],
            "http_if_terminated": nepatiess,
            "https_only": nepatiess,
            "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004",
            "uris": [
                "/lietotājs"
            ],
            "preserve_host": nepatiess,
            "upstream_connect_timeout": 60000,
            "upstream_read_timeout": 60000,
            "upstream_send_timeout": 60000,
            "Atkārtojumi": 5
        },
        {
            "created_at": 1514995615974,
            "strip_uri": taisnība,
            "ID": "B8431831-6A77-434E-AC4A-7E379550714F",
            "name": "spring-boot-consul-service",
            "metodes": [
                "IEGŪT"
            ],
            "http_if_terminated": nepatiess,
            "https_only": nepatiess,
            "upstream_url": "http://spring-boot-consul-service.service.dc1.consul:17003",
            "uris": [
                "/pakalpojums"
            ],
            "preserve_host": nepatiess,
            "upstream_connect_timeout": 60000,
            "upstream_read_timeout": 60000,
            "upstream_send_timeout": 60000,
            "Atkārtojumi": 5
        }
    ]
}


Piekļuves saskarnes atgriež sekojošo:

{
    "msg": "labi",
    "datums": {
        "rezultāts": 42,
        "name": "koks",
        "id": 1,
        "vecums": 12 gadi,
        "nowTime": 1515060166929,
        "info": "/checkUser, host:192.168.0.186, service_id:application-1700417004"
    },
    "kods": 200
}
{
    "msg": "labi",
    "datums": {
        "rezultāts": 505,
        "name": "koks",
        "id": 1,
        "vecums": 12 gadi,
        "nowTime": 1515060402392,
        "info": "/checkUser, host:192.168.0.184, service_id:application-1700317003"
    },
    "kods": 200
}

Key-Auth spraudņa pievienošana

Atveriet atslēgas autentifikācijas spraudni


{
        "created_at": 1515066239000,
        "config": {
                "key_in_body": nepatiess,
                "run_on_preflight": taisnība,
                "anonīms": "",
                "hide_credentials": nepatiess,
                "key_names": [
                        "apikey"
                ]
        },
        "id": "78c519d3-11f7-4cdf-b038-9f17f1a83427",
        "iespējots": patiess,
        "api_id": "A99919D1-0770-40A1-81A9-E3C31FD9D282",
        "name": "atslēgas autentifikācija"
}

Pēc tam piekļūstiet saskarnei ar šādu kļūdu:

SAŅEMTHipersaites pieteikšanās ir redzama.
#输出
{
    "message": "Pieprasījumā nav atrasta API atslēga"
}

Noņemiet atslēgas autentifikācijas spraudni



Apskatiet API saistīšanas spraudni

SAŅEMTHipersaites pieteikšanās ir redzama.
# Rezultāts:
{
    "kopā": 0,
    "dati": []
}

Pievienojiet ātruma ierobežošanas spraudņa ātruma ierobežojumu


Rezultāts

{
    "created_at": 1515068825000,
    "config": {
        "minūte": 10,
        "politika": "klasteris",
        "redis_timeout": 2000. gads,
        "hide_client_headers": nepatiess,
        "otrais": 2,
        "limit_by": "patērētājs",
        "redis_port": 6379,
        "redis_database": 0,
        "fault_tolerant": patiess
    },
    "id": "482c627f-4041-4320-9b2f-0cc7722b92ea",
    "name": "ātruma ierobežošana",
    "api_id": "A99919D1-0770-40A1-81A9-E3C31FD9D282",
    "iespējots": patiess
}

Kad piekļuves interfeiss pārsniedz ierobežojumu, tiks saņemtas šādas atgriešanās:


Atgriešanās

{
    "message": "API ātruma ierobežojums pārsniegts"
}

Tomēr joprojām pastāv dažas problēmas, jo ziņojuma formāts ir fiksēts, izvades formāts neatbilst aizmugures pakalpojumam un ir jāatbalsta pielāgoti ziņojumu formāti.

Kong modificē izņēmuma atgrieztās vērtības vērtību
Piemēram, pakalpojuma vienotā ziņojuma formāts ir šāds:

{
    "kods": 200,
    "msg": "labi",
        "dati": {xxx}
}

Mēs arī vēlamies, lai konga izņēmuma atgriešanās paliktu tādā pašā formātā kā iepriekš. Tad mēs varam tieši modificēt Konga avota kodu, kas patiesībā ir ļoti vienkārši.

Sāciet ar avota koda lejupielādi

#下载kong插件源码

git klonsgit@github.com:Kong/kong.git

Atrodiet modificējamo izvades kodu

Izvades kods atrodas kong/kong/tools/responses.lua, atveriet to rediģēšanai.



Saglabāt, pēc tam kompilēt

[root@tree81 kong]# luarocks make
kong 0.11.2-0 tagad ir instalēts /usr/local (licence: MIT)

Palaidiet, mēģiniet vēlreiz

Ātri atsvaidziniet adresi vairākas reizes pēc kārtas:Hipersaites pieteikšanās ir redzama.Saņemiet kļūdas ziņojumu:

{
    "kods": 429,
    "msg": "API ātruma ierobežojums ir pārsniegts"
}

Gatavs, ideāls :)




Iepriekšējo:jQuery ielādē teksta gabalu, izmantojot AJAX
Nākamo:init: function () jquery对象的构造函数
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com