Kwa ma microservices okhala ndi HTTP endpoint (REST, etc.) nthawi zonse amatanthauzira kafukufuku wokonzekera, yomwe imayang'ana ngati ntchito (pod) ili wokonzeka kuvomereza magalimoto.
Onetsetsani kukonzekera kafukufuku imakhudza kupezeka kwa doko lenileni la seva:
kugwiritsa ntchito madoko pazoyang'anira, zotchedwa "admin" kapena "management" (mwachitsanzo, 9090), kwa readinessProbe, onetsetsani kuti mapeto amangobwerera OK ngati doko lalikulu la HTTP (monga 8080) ndilokonzeka kuvomereza traffic*;
*Ndikudziwa nkhani imodzi ku Zalando pomwe izi sizinachitike, mwachitsanzo. readinessProbe Ndinayang'ana doko la "kasamalidwe", koma seva yokhayo sinayambe kugwira ntchito chifukwa cha mavuto otsegula cache.
kuyika kafukufuku wokonzekera ku doko lapadera kungayambitse kuti kuchulukitsitsa pa doko lalikulu sikudzawonetsedwa mu cheke chaumoyo (ndiko kuti, dziwe la ulusi pa seva ladzaza, koma cheke chaumoyo chikuwonetsabe kuti zonse zili bwino. ).
Onetsetsani kuti Kukonzekera kumathandizira kukhazikitsidwa kwa database/kusamuka;
Njira yosavuta yokwaniritsira izi ndikulumikizana ndi seva ya HTTP pokhapokha kukhazikitsidwa kwatha (mwachitsanzo, kusamutsa database kuchokera ku Flyway ndi zina zotero.); ndiye kuti, m'malo mosintha momwe mungayang'anire thanzi lanu, musayambitse seva yapaintaneti mpaka kusamutsidwa kwa database kumalize *.
* Mutha kuyendetsanso kusamuka kwa database kuchokera pazotengera za init kunja kwa pod. Ndikadali wokonda zodziyimira pawokha, ndiye kuti, zomwe chidebe chogwiritsira ntchito chimadziwa kubweretsa database pamalo omwe mukufuna popanda kulumikizana kwakunja.
Gwiritsani ntchito httpGet kuyezetsa kokonzekera kudzera m'magawo omwe ali ndi thanzi labwino (mwachitsanzo, /health).
Gwiritsani ntchito doko lapadera la "admin" kapena "management" ngati ukadaulo (monga Java/Spring) ulola, kulekanitsa kasamalidwe kaumoyo ndi ma metrics ndi kuchuluka kwa magalimoto nthawi zonse:
koma osayiwala za point 2.
Ngati ndi kotheka, kafukufuku wokonzekera atha kugwiritsidwa ntchito kutenthetsa / kutsitsa posungira ndikubwezeretsa nambala 503 mpaka chidebecho chitenthe:
Ndikupangiranso kuti muwerenge cheke chatsopano startupProbe, adawonekera mu mtundu 1.16(tidalemba za izi mu Chirasha apa - pafupifupi. transl.).
Mipango
Osadalira kudalira kwakunja (monga malo osungiramo data) poyesa kukonzekera / kukhala ndi moyo - izi zitha kubweretsa kulephera kwakukulu:
Mwachitsanzo, tiyeni titenge ntchito yabwino ya REST yokhala ndi ma pod 10 kutengera nkhokwe imodzi ya Postgres: cheke chikatengera kulumikizana kogwira ntchito ndi DB, ma pod onse 10 amatha kulephera ngati pakhala kuchedwa pa netiweki / DB mbali - nthawi zambiri zimatero. zonse zimatha moyipa kuposa momwe zingakhalire;
Chonde dziwani kuti Spring Data imayang'ana kulumikizidwa kwa database mosakhazikika *;
* Ili ndilo khalidwe losasinthika la Spring Data Redis (osachepera inali nthawi yotsiriza yomwe ndinayang'ana), zomwe zinapangitsa kuti "tsoka" lilephereke: pamene Redis sanapezeke kwa kanthawi kochepa, ma pod onse "anagwa".
"zakunja" m'lingaliro limeneli angatanthauzenso makoko ena a ntchito yomweyi, ndiye kuti, cheke sichiyenera kudalira momwe ma pod ena agulu lomwelo alili kuti apewe kuwonongeka:
zotsatira zitha kusiyanasiyana pamapulogalamu omwe ali ndi gawo logawika (mwachitsanzo, kusungitsa mu-memory mu ma pod).
Osagwiritsa ntchito kafukufuku wamoyo kwa ma pod (kupatulapo ndizochitika zomwe zili zofunikadi ndipo mumadziwa bwino za zomwe azigwiritsa ntchito):
Kufufuza kwa moyo kungathandize kubwezeretsa zotengera zomwe zidapachikidwa, koma popeza muli ndi mphamvu zonse pakugwiritsa ntchito kwanu, zinthu monga njira zopachikika ndi zotsekera siziyenera kuchitika: njira ina yabwino ndikuphwanya mwadala pulogalamuyo ndikuyibwezeretsa momwe idakhazikika kale;
kufufuza kwa moyo komwe kulephera kupangitsa kuti chidebecho chiyambitsenso, zomwe zitha kukulitsa zotsatira za zolakwika zokhudzana ndi boot: kuyambitsanso chidebe kumabweretsa nthawi yocheperako (osachepera nthawi yoyambira, nenani masekondi 30+), kubweretsa zolakwika zatsopano, kuonjezera katundu pazitsulo zina ndikuwonjezera mwayi wa kulephera kwawo, ndi zina zotero;
EJ adandikumbutsa za PDB: Vuto limodzi loyang'ana moyo ndi kusowa kwa mgwirizano pakati pa ma pod. Kubernetes ali Pod Disruption Budgets (PDB) kuchepetsa kuchuluka kwa zolephera zomwe pulogalamu ingakumane nayo, komabe macheke samaganizira za PDB. Momwemo, tikhoza kuuza K8s kuti "Yambitsaninso pod imodzi ngati mayesero ake alephera, koma musayambitsenso zonse kuti mupewe kuipiraipira."
Bryan anaziyika izo mwangwiro: "Gwiritsani ntchito kufufuza kwa moyo mukamadziwa bwino lomwe chinthu chabwino kuchita ndi kupha ntchito"(kachiwiri, musatengeke).