Ülevaade #
See artikkel selgitab, kuidas migreerida F5 BIG-IP iRule, mis suunab mitu rakenduse URI-d samasse serveripooli. RELIANOID kasutades natiivseid HTTP/S farmiteenuse vasteid ja regulaaravaldiste (regex) URI mustreid.
Algne iRule hindab sissetulevat URI-d ja saadab samasse taustsüsteemi kogumisse liikluse, mis vastab mitmele rakenduse teele.
Algne F5 iRule #
kui HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/firstapp*" { bassein "MINU_BASS" } "/secondapp*" { bassein "MINU_BASS" } "/thirdapp" { bassein "MINU_BASS" } } }
Migratsiooni eesmärk #
Selle konfiguratsiooni eesmärk on:
- Mitme rakendusetee sobitamine
- Suuna kogu sobiv liiklus samasse serveripoolsesse kogumisse
- Rakenduste marsruutimise loogika lihtsustamine
RELIANOID Rände lähenemisviis #
In RELIANOID, seda saab saavutada ilma skriptimiseta, kasutades:
- Üks HTTP/S teenus
- URI mustri sobitamine
- Regulaaravaldised (regex)
- Jagatud taustaserveri konfiguratsioon
See lähenemisviis on lihtsam, puhtam ja hõlpsamini hallatav kui mitu tingimuslikku ireeglit.
RELIANOID konfiguratsioon #
Navigeeri valikule Talud > HTTP/S talu > Teenused ja loo uus teenus.
URI vastendamise konfiguratsioon #
URL-i mustris kasutage regulaaravaldist:
^/(firstapp|secondapp|thirdapp)
Tagaserverite konfiguratsioon #
Lisage teenusesse taustaloendi konfiguratsioon.
Miks seda lähenemisviisi soovitatakse #
Ühe regulaaravaldisel põhineva teenuse kasutamine pakub:
- Puhas konfiguratsioon
- Lihtsam hooldus
- Vähendatud teenuste arv
- Parem mastaapsus
- Lihtsustatud tõrkeotsing
Mitme iRule'i tingimuse haldamise asemel on URI loogika koondatud ühte vastavusreeglisse.
Kinnitamine #
Testi CURL-iga. Näide:
curl -k https://example.com/firstapp -v
Või:
curl -k https://example.com/secondapp/api/test -v
Oodatud Tulemus:
- Päring edastatakse konfigureeritud taustsüsteemi kogumile
- Rakendus reageerib normaalselt
Probleemid #
Taotlused ei vasta nõuetele #
Kinnitage:
- Regulaaravaldise režiim on lubatud
- URI muster on õige
- Puuduvad peidetud tühikud või sobimatu regulaaravaldiste süntaks
Ainult mõned rakendused töötavad #
Kontrollima:
- Regulaaravaldis sisaldab kõiki nõutavaid rakenduste nimesid
- URI suurtähtede käitumine
RELIANOID Regulaaravaldiste vastendamine on tõstutundlik, kui pole teisiti konfigureeritud.
Kui on vaja suur- ja väiketähti mittetunnustavat vastet, kasutage:
(?i)^/(firstapp|secondapp|thirdapp)
Vaikimisi teenusele saadetud liiklus #
Tavaliselt näitab see:
- Regulaaravaldiste mittevastavus
- Teenuse tellimise probleem
- URI normaliseerimise erinevused
Alternatiivne lähenemine #
Kuigi saab luua ka mitu teenust, ei ole see üldiselt soovitatav järgmistel juhtudel:
- Kõik rakendused jagavad sama taustsüsteemi kogumit
- Marsruutimisloogika on identne
Ühel regulaaravaldisel põhinev teenus on tõhusam.
Best Practices #
- Grupeeri sarnased rakendused võimaluse korral jagatud teenustesse
- Soovimatute vastete vältimiseks kasutage regulaaravaldisi hoolikalt
- Hoidke URI sobitamise loogika tsentraliseerituna
- Dokumendi regulaaravaldiste reeglid operatiivse nähtavuse tagamiseks
kokkuvõte #
URI-põhist basseinivalikut teostavad F5 iRule'id saab migreerida RELIANOID kasutades natiivset HTTP/S teenuse sobitamist regulaaravaldiste mustritega.
See lähenemisviis lihtsustab konfigureerimist, säilitades samal ajal samaväärse rakenduste marsruutimise käitumise.